Diff
Not logged in

Differences From Artifact [69c8df99d191e188]:

To Artifact [7d7a59abebf26f18]:


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 +