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