17 lines
297 B
BNF
17 lines
297 B
BNF
|
MODULE ::= EXPR*
|
||
|
EXPR ::=
|
||
|
| TERM
|
||
|
| ASSERT
|
||
|
ASSERT ::= (assert_eq|assert_ne) tuple
|
||
|
TERM ::= FACTOR ((add|sub) FACTOR)*
|
||
|
FACTOR ::= USUB ((mul|div|mod) USUB)*
|
||
|
USUB ::= sub* POW
|
||
|
POW ::= LITERAL (pow LITERAL)?
|
||
|
LITERAL ::=
|
||
|
| BUILTIN
|
||
|
| TUPLE
|
||
|
| opar EXPR cpar
|
||
|
TUPLE ::=
|
||
|
| opar EXPR+ cpar
|
||
|
BUILTIN ::= num
|