ccm/doc/grammar.bnf

17 lines
297 B
BNF
Raw Normal View History

2024-03-18 17:20:40 +00:00
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