Differences From Artifact [69c8df99d191e188]:
- File
readme.txt
- 2010-11-08 08:05:28 - part of checkin [c48ba67854] on branch trunk - Changed release build script to ignore d2stacktrace. (user: kinaba) [annotate]
To Artifact [7d7a59abebf26f18]:
- File
readme.txt
- 2010-11-09 15:48:55 - part of checkin [9eec42eba1] on branch trunk - memo (user: kinaba) [annotate]
37 37 All the other parts are written by Kazuhiro Inaba and
38 38 licensed under NYSL 0.9982 ( http://www.kmonos.net/nysl/ ).
39 39
40 40
41 41
42 42 <<How to Use>>
43 43
44 - I don't know.
44 + > polemy
45 + starts REPL
46 +
47 + > polemy foo.pmy
48 + executes foo.pmy
49 +
50 +
51 +
52 +<<Memo of Language Spec>>
53 +
54 +syntax
55 +
56 + E ::= ("var"|"let"|"def"|LAYER) ID "=" E ; E
57 + | "fun" "(" PARAMS ")" "{" E "}"
58 + | E "(" ARGS ")"
59 +
60 + | LAYER "(" E ")"
61 +
62 + | "(" E ")"
63 + | E BINOP E
64 + | "if" "(" E ")" "{" E "}"
65 + | "if" "(" E ")" "{" E "}" "else "{" E "}"
66 + | ("var"|"let"|"def"|LAYER) ID "(" PARAMS ")" "{" E "}"
67 +
68 +ARGS ::= ","-separated E's
69 +PARAMS ::= ","-separated VAR's
70 +LAYER ::= "@" ID
71 +
72 +if-then-else is a syntax sugar for a function call: if( E, fun(){E}, fun(){E} )
73 +binary ops (e.g., E + E) is a syntax sugar: +(E, E)
74 +
75 +comment is "# ... \n"
76 +