11 lines
462 B
Plaintext
11 lines
462 B
Plaintext
|
expression -> equality ;
|
||
|
equality -> comparison ( ( "!=" | "==" ) comparison )* ;
|
||
|
comparison -> term ( ( ">" | ">=" | "<" | "<=" ) term )* ;
|
||
|
term -> factor ( ( "-" | "+" ) factor )* ;
|
||
|
factor -> exponent ( ( "/" | "*" | "/." | "/_" | "%" | "/%" ) exponent )* ;
|
||
|
exponent -> unary ( ( "**" ) unary )* ;
|
||
|
unary -> ( "!" | "-" ) unary
|
||
|
| primary ;
|
||
|
primary -> NUMBER | STRING | "true" | "false" | "nil"
|
||
|
| "(" expression ")" ;
|