hbui
2024-07-21 2f1712ca7e51071caded06570457b722566147b9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
?start: sum
 
?sum: product
    | sum "+" product   -> add
    | sum "-" product   -> sub
 
?product: exponent
    | product "*" exponent  -> mul
    | product "/" exponent  -> div
 
?exponent: atom
    | atom "**" exponent -> exponent
 
?atom: NUMBER           -> number
     | "-" atom         -> neg
     | NAME             -> var
     | "(" sum ")"
     | NAME "(" argv ")" -> function
 
argv: [sum ("," sum)*]  -> argv
 
 
 
%import common.CNAME -> NAME
%import common.NUMBER
%import common.WS_INLINE
 
%ignore WS_INLINE