summaryrefslogtreecommitdiff
path: root/syntax_thing
blob: 8f48af7b942bdf44285dee65e713895d180c6202 (plain)
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
root => root_expr*
root_expr => function
root_expr => expr
function => FUNCTION IDENT params block
params => IDENT
params => OP CP
params => OP params_impl
params_impl => IDENT COMMA params_impl
params_impl => IDENT CP
block => expr*
expr => if_expr
if_expr => IF math_expr block ELSE if_expr
if_expr => IF math_expr block ELSE block
if_expr => IF math_expr block
expr => DO block WHILE math_expr
expr => WHILE math_expr block
expr => LET IDENT EQ math_expr END
expr => LET IDENT END
expr => IDENT EQ math_expr END
expr => block
expr => RETURN math_expr END
expr => BREAK
expr => CONTINUE
expr => math_expr END
math_expr => (math_expr_and OR)* math_expr_and
math_expr_and => math_expr_and AND math_expr_and
math_expr_and => math_expr_compare
math_expr_compare => math_expr_compare <COMPARE> math_expr_compare

power_term => power_term POWER power_term
power_term => power_term BIT_AND power_term
power_term => power_term BIT_OR power_term
power_term => power_term SHIFT_LEFT power_term
power_term => power_term SHIFT_RIGHT power_term
power_term => term
term => value
term => tuple
term => list
term => table
term => IDENT
value => INT DIVIDE INT
value => INT
value => FLOAT
value => COMPLEX
value => STRING
value => REGEX
value => TRUE
value => FALSE
tuple => OP CP
tuple => OP tuple_impl
tuple_impl => math_expr COMMA tuple_impl
tuple_impl => math_expr CP
list => LBRK RBRK
list => LBRK list_impl
list_impl => math_expr COMMA tuple_impl
list_impl => math_expr RBRK
table => LBRC RBRC
table => LBRC table_impl
table_impl => table_key EQ math_expr COMMA table_impl
table_impl => table_key EQ math_expr RBRC
table_key => LBRK math_expr RBRK
table_key => IDENT
table_key => STRING