File Annotation
Not logged in
423f308350 2010-11-07        kinaba: -----------------------------------------------------------------------------
423f308350 2010-11-07        kinaba:   Polemy 0.1.0
423f308350 2010-11-07        kinaba:                                                  by k.inaba (www.kmonos.net)
c48ba67854 2010-11-08        kinaba:                                                                 Nov 8, 2010
423f308350 2010-11-07        kinaba: -----------------------------------------------------------------------------
423f308350 2010-11-07        kinaba: 
423f308350 2010-11-07        kinaba: 
423f308350 2010-11-07        kinaba: 
423f308350 2010-11-07        kinaba: <<How to Build>>
423f308350 2010-11-07        kinaba: 
423f308350 2010-11-07        kinaba:   - Install DMD
423f308350 2010-11-07        kinaba:       http://www.digitalmars.com/d/2.0/changelog.html
423f308350 2010-11-07        kinaba:     Version 2.050 is recommended. Older and/or newer version may not work.
423f308350 2010-11-07        kinaba: 
423f308350 2010-11-07        kinaba:   - Build
423f308350 2010-11-07        kinaba:       (for Windows) Run build.bat
423f308350 2010-11-07        kinaba:       (for Unix) Run build.sh
423f308350 2010-11-07        kinaba:       or use your favorite build tools upon main.d and polemy/*.d.
423f308350 2010-11-07        kinaba: 
423f308350 2010-11-07        kinaba:   Then you will get the executable "polemy" in the "bin" directory.
423f308350 2010-11-07        kinaba: 
423f308350 2010-11-07        kinaba: 
423f308350 2010-11-07        kinaba: 
423f308350 2010-11-07        kinaba: <<License>>
423f308350 2010-11-07        kinaba: 
423f308350 2010-11-07        kinaba:   d2stacktrace/*
423f308350 2010-11-07        kinaba: 
423f308350 2010-11-07        kinaba:     is written by Benjamin Thaut and licensed under 2-clause BSD License.
423f308350 2010-11-07        kinaba:     See http://3d.benjamin-thaut.de/?p=15 for the detail.
423f308350 2010-11-07        kinaba: 
423f308350 2010-11-07        kinaba:     (this package is used only for enabling stack-traces during printing exceptions;
c48ba67854 2010-11-08        kinaba:      it is not used for release builds.)
423f308350 2010-11-07        kinaba: 
423f308350 2010-11-07        kinaba:   polemy/*
423f308350 2010-11-07        kinaba:   main.d
423f308350 2010-11-07        kinaba: 
423f308350 2010-11-07        kinaba:     All the other parts are written by Kazuhiro Inaba and
423f308350 2010-11-07        kinaba:     licensed under NYSL 0.9982 ( http://www.kmonos.net/nysl/ ).
423f308350 2010-11-07        kinaba: 
423f308350 2010-11-07        kinaba: 
423f308350 2010-11-07        kinaba: 
423f308350 2010-11-07        kinaba: <<How to Use>>
423f308350 2010-11-07        kinaba: 
9eec42eba1 2010-11-09        kinaba:   > polemy
9eec42eba1 2010-11-09        kinaba:       starts REPL
9eec42eba1 2010-11-09        kinaba: 
9eec42eba1 2010-11-09        kinaba:   > polemy foo.pmy
9eec42eba1 2010-11-09        kinaba:       executes foo.pmy
9eec42eba1 2010-11-09        kinaba: 
9eec42eba1 2010-11-09        kinaba: 
9eec42eba1 2010-11-09        kinaba: 
9eec42eba1 2010-11-09        kinaba: <<Memo of Language Spec>>
9eec42eba1 2010-11-09        kinaba: 
9eec42eba1 2010-11-09        kinaba: syntax
9eec42eba1 2010-11-09        kinaba: 
9eec42eba1 2010-11-09        kinaba:  E ::= ("var"|"let"|"def"|LAYER) ID "=" E ; E
9eec42eba1 2010-11-09        kinaba:      | "fun" "(" PARAMS ")" "{" E "}"
9eec42eba1 2010-11-09        kinaba:      | E "(" ARGS ")"
9eec42eba1 2010-11-09        kinaba: 
9eec42eba1 2010-11-09        kinaba:      | LAYER "(" E ")"
9eec42eba1 2010-11-09        kinaba: 
9eec42eba1 2010-11-09        kinaba:      | "(" E ")"
9eec42eba1 2010-11-09        kinaba:      | E BINOP E
9eec42eba1 2010-11-09        kinaba:      | "if" "(" E ")" "{" E "}"
9eec42eba1 2010-11-09        kinaba:      | "if" "(" E ")" "{" E "}" "else "{" E "}"
9eec42eba1 2010-11-09        kinaba:      | ("var"|"let"|"def"|LAYER) ID "(" PARAMS ")" "{" E "}"
9eec42eba1 2010-11-09        kinaba: 
9eec42eba1 2010-11-09        kinaba: ARGS ::= ","-separated E's
9eec42eba1 2010-11-09        kinaba: PARAMS ::= ","-separated VAR's
9eec42eba1 2010-11-09        kinaba: LAYER ::= "@" ID
9eec42eba1 2010-11-09        kinaba: 
9eec42eba1 2010-11-09        kinaba: if-then-else is a syntax sugar for a function call: if( E, fun(){E}, fun(){E} )
9eec42eba1 2010-11-09        kinaba: binary ops (e.g., E + E) is a syntax sugar: +(E, E)
9eec42eba1 2010-11-09        kinaba: 
9eec42eba1 2010-11-09        kinaba: comment is "# ... \n"
9eec42eba1 2010-11-09        kinaba: