grino/doc/grammar.bnf

22 lines
386 B
BNF

MODULE ::= EXPR*
EXPR ::=
bool
| int
| ident
| float
| string
| VARDECL
| FUNDECL
| FUNCALL
| LAMBDA
| BLOCK
| ARRAY
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
ARRAY ::= osquare EXPR* csquare