diff options
author | Ralph Amissah <ralph@amissah.com> | 2016-10-01 14:12:13 -0400 |
---|---|---|
committer | Ralph Amissah <ralph@amissah.com> | 2019-04-10 15:14:13 -0400 |
commit | ba1712e77b31704fd9ba16d14e15518e7a7dd104 (patch) | |
tree | 1a0d3233fb611b68dbf43e098a41a0d9378e9ace /src/sdlang/package.d | |
parent | update sdlang, start looking to using dub remote dependencies (diff) |
0.7.0 using dub remote dependencies (local src related to sdlang removed)
Diffstat (limited to 'src/sdlang/package.d')
-rw-r--r-- | src/sdlang/package.d | 133 |
1 files changed, 0 insertions, 133 deletions
diff --git a/src/sdlang/package.d b/src/sdlang/package.d deleted file mode 100644 index dd8df1a..0000000 --- a/src/sdlang/package.d +++ /dev/null @@ -1,133 +0,0 @@ -// SDLang-D -// Written in the D programming language. - -/++ -$(H2 SDLang-D v0.10.0) - -Library for parsing and generating SDL (Simple Declarative Language). - -Import this module to use SDLang-D as a library. - -For the list of officially supported compiler versions, see the -$(LINK2 https://github.com/Abscissa/SDLang-D/blob/master/.travis.yml, .travis.yml) -file included with your version of SDLang-D. - -Links: -$(UL - $(LI $(LINK2 http://sdlang.org/, SDLang Language Homepage) ) - $(LI $(LINK2 https://github.com/Abscissa/SDLang-D, SDLang-D Homepage) ) - $(LI $(LINK2 http://semitwist.com/sdlang-d, SDLang-D API Reference (latest version) ) ) - $(LI $(LINK2 http://semitwist.com/sdlang-d-docs, SDLang-D API Reference (earlier versions) ) ) - $(LI $(LINK2 http://sdl.ikayzo.org/display/SDL/Language+Guide, Old Official SDL Site) [$(LINK2 http://semitwist.com/sdl-mirror/Language+Guide.html, mirror)] ) -) - -Authors: Nick Sabalausky ("Abscissa") http://semitwist.com/contact -Copyright: -Copyright (C) 2012-2016 Nick Sabalausky. - -License: $(LINK2 https://github.com/Abscissa/SDLang-D/blob/master/LICENSE.txt, zlib/libpng) -+/ - -module sdlang; - -import std.array; -import std.datetime; -import std.file; -import std.stdio; - -import sdlang.ast; -import sdlang.exception; -import sdlang.lexer; -import sdlang.parser; -import sdlang.symbol; -import sdlang.token; -import sdlang.util; - -// Expose main public API -public import sdlang.ast : Attribute, Tag; -public import sdlang.exception; -public import sdlang.parser : parseFile, parseSource; -public import sdlang.token : Value, Token, DateTimeFrac, DateTimeFracUnknownZone; -public import sdlang.util : sdlangVersion, Location; - -version(sdlangUsingBuiltinTestRunner) - void main() {} - -version(sdlangCliApp) -{ - int main(string[] args) - { - if( - args.length != 3 || - (args[1] != "lex" && args[1] != "parse" && args[1] != "to-sdl") - ) - { - stderr.writeln("SDLang-D v", sdlangVersion); - stderr.writeln("Usage: sdlang [lex|parse|to-sdl] filename.sdl"); - return 1; - } - - auto filename = args[2]; - - try - { - if(args[1] == "lex") - doLex(filename); - else if(args[1] == "parse") - doParse(filename); - else - doToSDL(filename); - } - catch(ParseException e) - { - stderr.writeln(e.msg); - return 1; - } - - return 0; - } - - void doLex(string filename) - { - auto source = cast(string)read(filename); - auto lexer = new Lexer(source, filename); - - foreach(tok; lexer) - { - // Value - string value; - if(tok.symbol == symbol!"Value") - value = tok.value.hasValue? toString(tok.value.type) : "{null}"; - - value = value==""? "\t" : "("~value~":"~tok.value.toString()~") "; - - // Data - auto data = tok.data.replace("\n", "").replace("\r", ""); - if(data != "") - data = "\t|"~tok.data~"|"; - - // Display - writeln( - tok.location.toString, ":\t", - tok.symbol.name, value, - data - ); - - if(tok.symbol.name == "Error") - break; - } - } - - void doParse(string filename) - { - auto root = parseFile(filename); - stdout.rawWrite(root.toDebugString()); - writeln(); - } - - void doToSDL(string filename) - { - auto root = parseFile(filename); - stdout.rawWrite(root.toSDLDocument()); - } -} |