18 lines
329 B
BNF
18 lines
329 B
BNF
MODULE ::= EXPR*
|
|
EXPR ::=
|
|
bool
|
|
| int
|
|
| ident
|
|
| VARDECL
|
|
| FUNDECL
|
|
| FUNCALL
|
|
| LAMBDA
|
|
| BLOCK
|
|
VARDECL ::= opar decl ident EXPR cpar
|
|
FUNDECL ::= opar decl opar ident* cpar BODY cpar
|
|
FUNCALL ::= opar EXPR EXPR* cpar
|
|
LAMBDA ::= opar lambda opar PARAMS cpar BODY cpar
|
|
PARAMS ::= ident*
|
|
BODY ::= EXPR*
|
|
BLOCK ::= opar colon EXPR* cpar
|