sdlang.token

Undocumented in source.

Members

Aliases

Value
alias Value = Algebraic!(ValueTypes)
Undocumented in source.
ValueTypes
alias ValueTypes = TypeTuple!(bool, string, dchar, int, long, float, double, real, Date, DateTimeFrac, SysTime, DateTimeFracUnknownZone, Duration, ubyte[], typeof(null))

SDLang's datatypes map to D's datatypes as described below. Most are straightforward, but take special note of the date/time-related types.

Enums

isSink
eponymoustemplate isSink(T)
Undocumented in source.
isValueType
eponymoustemplate isValueType(T)
Undocumented in source.

Functions

toSDLString
string toSDLString(T value)
Undocumented in source. Be warned that the author may not have intended to support it.
toSDLString
void toSDLString(Value value, Sink sink)

Throws SDLangException if value is infinity, -infinity or NaN, because those are not currently supported by the SDLang spec.

toSDLString
void toSDLString(typeof(null) value, Sink sink)
Undocumented in source. Be warned that the author may not have intended to support it.
toSDLString
void toSDLString(bool value, Sink sink)
Undocumented in source. Be warned that the author may not have intended to support it.
toSDLString
void toSDLString(string value, Sink sink)
Undocumented in source. Be warned that the author may not have intended to support it.
toSDLString
void toSDLString(dchar value, Sink sink)
Undocumented in source. Be warned that the author may not have intended to support it.
toSDLString
void toSDLString(int value, Sink sink)
Undocumented in source. Be warned that the author may not have intended to support it.
toSDLString
void toSDLString(long value, Sink sink)
Undocumented in source. Be warned that the author may not have intended to support it.
toSDLString
void toSDLString(float value, Sink sink)
Undocumented in source. Be warned that the author may not have intended to support it.
toSDLString
void toSDLString(double value, Sink sink)
Undocumented in source. Be warned that the author may not have intended to support it.
toSDLString
void toSDLString(real value, Sink sink)
Undocumented in source. Be warned that the author may not have intended to support it.
toSDLString
void toSDLString(Date value, Sink sink)
Undocumented in source. Be warned that the author may not have intended to support it.
toSDLString
void toSDLString(DateTimeFrac value, Sink sink)
Undocumented in source. Be warned that the author may not have intended to support it.
toSDLString
void toSDLString(SysTime value, Sink sink)
Undocumented in source. Be warned that the author may not have intended to support it.
toSDLString
void toSDLString(DateTimeFracUnknownZone value, Sink sink)
Undocumented in source. Be warned that the author may not have intended to support it.
toSDLString
void toSDLString(Duration value, Sink sink)
Undocumented in source. Be warned that the author may not have intended to support it.
toSDLString
void toSDLString(ubyte[] value, Sink sink)
Undocumented in source. Be warned that the author may not have intended to support it.

Structs

DateTimeFrac
struct DateTimeFrac

DateTime doesn't support milliseconds, but SDLang's "Date Time" type does. So this is needed for any SDL "Date Time" that doesn't include a time zone.

DateTimeFracUnknownZone
struct DateTimeFracUnknownZone

If a "Date Time" literal in the SDL file has a time zone that's not found in your system, you get one of these instead of a SysTime. (Because it's impossible to indicate "unknown time zone" with std.datetime.TimeZone.)

Token
struct Token

This only represents terminals. Nonterminals aren't constructed since the AST is directly built during parsing.

Meta