grino/doc/grammar.bnf

29 lines
572 B
BNF
Raw Permalink Normal View History

2023-09-10 23:05:29 +00:00
MODULE ::= EXPR*
2023-09-11 06:00:50 +00:00
EXPR ::=
bool
2023-09-11 13:59:37 +00:00
| int
2023-09-11 06:00:50 +00:00
| ident
2023-09-13 10:15:12 +00:00
| float
2023-09-13 11:45:09 +00:00
| string
2023-09-11 06:00:50 +00:00
| VARDECL
| FUNDECL
2023-09-11 10:14:01 +00:00
| FUNCALL
2023-09-11 18:59:54 +00:00
| LAMBDA
2023-09-12 03:53:16 +00:00
| BLOCK
2023-09-13 05:46:33 +00:00
| ARRAY
2023-09-13 19:11:36 +00:00
| IMPORT
| SHORT_IMPORT
| NS
2023-09-11 06:00:50 +00:00
VARDECL ::= opar decl ident EXPR cpar
FUNDECL ::= opar decl opar ident* cpar BODY cpar
2023-09-11 18:59:54 +00:00
FUNCALL ::= opar EXPR EXPR* cpar
LAMBDA ::= opar lambda opar PARAMS cpar BODY cpar
PARAMS ::= ident*
BODY ::= EXPR*
2023-09-12 03:53:16 +00:00
BLOCK ::= opar colon EXPR* cpar
2023-09-13 05:46:33 +00:00
ARRAY ::= osquare EXPR* csquare
2023-09-13 19:11:36 +00:00
IMPORT ::= opar import string cpar
SHORT_IMPORT ::= opar decl import ident string cpar
2023-09-14 12:34:51 +00:00
SHORTER_IMPORT ::= opar decl import ident cpar
2023-09-13 19:11:36 +00:00
NS ::= ident ns ident