fakir/doc/grammar.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