23 lines
472 B
BNF
23 lines
472 B
BNF
MODULE ::= EXPR*
|
|
EXPR ::=
|
|
| int | float | bool | string
|
|
| ident
|
|
| CALL
|
|
| LAMBDA
|
|
| FUNDECL
|
|
| VARDECL
|
|
| NS
|
|
| IMPORT
|
|
| ARRAY
|
|
CALL ::= opar EXPR EXPR* cpar
|
|
LAMBDA ::= opar rarrow opar PARAMS cpar BODY cpar
|
|
PARAMS ::= ident*
|
|
BODY ::= EXPR*
|
|
FUNDECL ::=
|
|
| opar decl opar ident PARAMS cpar BODY cpar
|
|
VARDECL ::= opar decl ident EXPR cpar
|
|
NS ::= ident ns ident
|
|
IMPORT ::= opar import string cpar
|
|
SHORT_IMPORT ::= opar decl import ident string? cpar
|
|
ARRAY ::= osquare EXPR* csquare
|