sdlang

SDLang-D v0.8.3: Library for parsing SDL (Simple Declarative Language).

Import this module to use SDLang-D as a library.

This should work with DMD 2.061 and up.

Homepage: http://github.com/Abscissa/SDLang-D API: http://semitwist.com/sdlang-d-api SDL: http://sdl.ikayzo.org/display/SDL/Language+Guide

Public Imports

sdlang_.exception
public import sdlang_.exception;
Undocumented in source.

Members

Aliases

Value (from sdlang_.token)
alias Value = Algebraic!(ValueTypes) via public import sdlang_.token : Value, Token, DateTimeFrac, DateTimeFracUnknownZone;
Undocumented in source.

Classes

Attribute (from sdlang_.ast)
class Attribute via public import sdlang_.ast : Attribute, Tag;
Undocumented in source.
Tag (from sdlang_.ast)
class Tag via public import sdlang_.ast : Attribute, Tag;
Undocumented in source.

Functions

doLex
void doLex(string filename)
Undocumented in source. Be warned that the author may not have intended to support it.
doParse
void doParse(string filename)
Undocumented in source. Be warned that the author may not have intended to support it.
doToSDL
void doToSDL(string filename)
Undocumented in source. Be warned that the author may not have intended to support it.
main
void main()
Undocumented in source. Be warned that the author may not have intended to support it.
main
int main(string[] args)
Undocumented in source. Be warned that the author may not have intended to support it.
parseFile (from sdlang_.parser)
Tag parseFile(string filename) via public import sdlang_.parser : parseFile, parseSource;

Returns root tag.

parseSource (from sdlang_.parser)
Tag parseSource(string source, string filename) via public import sdlang_.parser : parseFile, parseSource;

Returns root tag. The optional 'filename' parameter can be included so that the SDL document's filename (if any) can be displayed with any syntax error messages.

Manifest constants

sdlangVersion (from sdlang_.util)
enum sdlangVersion; via public import sdlang_.util : sdlangVersion, Location;
Undocumented in source.

Structs

DateTimeFrac (from sdlang_.token)
struct DateTimeFrac via public import sdlang_.token : Value, Token, DateTimeFrac, DateTimeFracUnknownZone;

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

DateTimeFracUnknownZone (from sdlang_.token)
struct DateTimeFracUnknownZone via public import sdlang_.token : Value, Token, DateTimeFrac, 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'.)

Location (from sdlang_.util)
struct Location via public import sdlang_.util : sdlangVersion, Location;
Undocumented in source.
Token (from sdlang_.token)
struct Token via public import sdlang_.token : Value, Token, DateTimeFrac, DateTimeFracUnknownZone;

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

Meta

Authors

Nick Sabalausky ("Abscissa") http://semitwist.com/contact