19 lines
322 B
BNF
19 lines
322 B
BNF
ROOT ::= EXPR*
|
|
EXPR ::=
|
|
| OR
|
|
| ASSERT
|
|
ASSERT ::= assert EXPR eq EXPR
|
|
OR ::= AND (or AND)*
|
|
AND ::= TERM (and TERM)*
|
|
TERM ::= FACTOR ((add|sub) FACTOR)*
|
|
FACTOR ::= USUB ((mul|div|mod) USUB)*
|
|
USUB ::= sub* NOT
|
|
NOT ::= not* POW
|
|
POW ::= LITERAL (pow LITERAL)?
|
|
LITERAL ::=
|
|
| BUILTIN
|
|
| opar EXPR cpar
|
|
BUILTIN ::=
|
|
| int
|
|
| bool
|