[back]
0 start -> expr
1 expr -> assign-expr
2 assign-expr -> or-expr assign-op assign-expr
3 assign-expr -> or-expr
4 or-expr -> or-expr or-op and-expr
5 or-expr -> and-expr
6 and-expr -> and-expr and-op eq-expr
7 and-expr -> eq-expr
8 eq-expr -> eq-expr eq-op rel-expr
9 eq-expr -> rel-expr
10 rel-expr -> rel-expr rel-op shift-expr
11 rel-expr -> shift-expr
12 shift-expr -> shift-expr shift-op add-expr
13 shift-expr -> add-expr
14 add-expr -> add-expr add-op mul-expr
15 add-expr -> mul-expr
16 mul-expr -> mul-expr mul-op unary-expr
17 mul-expr -> unary-expr
18 unary-expr -> unary-op unary-expr
19 unary-expr -> primary-expr
20 primary-expr -> NUMBER
21 primary-expr -> IDENT
22 primary-expr -> LPAREN expr RPAREN
23 assign-op -> ASSIGN
24 or-op -> OR
25 and-op -> AND
26 eq-op -> EQ
27 eq-op -> NE
28 rel-op -> LT
29 rel-op -> GT
30 rel-op -> LE
31 rel-op -> GE
32 shift-op -> LSHIFT
33 shift-op -> RSHIFT
34 add-op -> PLUS
35 add-op -> MINUS
36 mul-op -> TIMES
37 mul-op -> DIVIDE
38 unary-op -> PLUS
39 unary-op -> MINUS
0
-----
start ->.expr
NUMBER - SHIFT 1
IDENT - SHIFT 2
LPAREN - SHIFT 3
PLUS - SHIFT 4
MINUS - SHIFT 5
expr - GOTO 6
or-expr - GOTO 7
and-expr - GOTO 8
eq-expr - GOTO 9
rel-expr - GOTO 10
shift-expr - GOTO 11
add-expr - GOTO 12
mul-expr - GOTO 13
unary-op - GOTO 14
1
-----
primary-expr -> NUMBER. (20)
EOT - REDUCE 20 expr
ASSIGN - REDUCE 20 or-expr
OR - REDUCE 20 or-expr
AND - REDUCE 20 and-expr
EQ - REDUCE 20 eq-expr
NE - REDUCE 20 eq-expr
LSHIFT - REDUCE 20 shift-expr
RSHIFT - REDUCE 20 shift-expr
PLUS - REDUCE 20 add-expr
MINUS - REDUCE 20 add-expr
TIMES - REDUCE 20 mul-expr
DIVIDE - REDUCE 20 mul-expr
* - REDUCE 20 rel-expr
2
-----
primary-expr -> IDENT. (21)
EOT - REDUCE 21 expr
ASSIGN - REDUCE 21 or-expr
OR - REDUCE 21 or-expr
AND - REDUCE 21 and-expr
EQ - REDUCE 21 eq-expr
NE - REDUCE 21 eq-expr
LSHIFT - REDUCE 21 shift-expr
RSHIFT - REDUCE 21 shift-expr
PLUS - REDUCE 21 add-expr
MINUS - REDUCE 21 add-expr
TIMES - REDUCE 21 mul-expr
DIVIDE - REDUCE 21 mul-expr
* - REDUCE 21 rel-expr
3
-----
primary-expr -> LPAREN.expr RPAREN
NUMBER - SHIFT 15
IDENT - SHIFT 16
LPAREN - SHIFT 17
PLUS - SHIFT 4
MINUS - SHIFT 5
expr - GOTO 18
or-expr - GOTO 19
and-expr - GOTO 20
eq-expr - GOTO 21
rel-expr - GOTO 22
shift-expr - GOTO 23
add-expr - GOTO 24
mul-expr - GOTO 25
unary-op - GOTO 26
4
-----
unary-op -> PLUS. (38)
* - REDUCE 38 unary-op
5
-----
unary-op -> MINUS. (39)
* - REDUCE 39 unary-op
6
-----
start -> expr. (0)
EOT - DONE 0
7
-----
assign-expr -> or-expr.assign-op assign-expr
or-expr -> or-expr.or-op and-expr
ASSIGN - SHIFT 27
OR - SHIFT 28
assign-op - GOTO 29
or-op - GOTO 30
8
-----
and-expr -> and-expr.and-op eq-expr
AND - SHIFT 31
and-op - GOTO 32
9
-----
eq-expr -> eq-expr.eq-op rel-expr
EQ - SHIFT 33
NE - SHIFT 34
eq-op - GOTO 35
10
-----
rel-expr -> rel-expr.rel-op shift-expr
LT - SHIFT 36
GT - SHIFT 37
LE - SHIFT 38
GE - SHIFT 39
rel-op - GOTO 40
11
-----
shift-expr -> shift-expr.shift-op add-expr
LSHIFT - SHIFT 41
RSHIFT - SHIFT 42
shift-op - GOTO 43
12
-----
add-expr -> add-expr.add-op mul-expr
PLUS - SHIFT 44
MINUS - SHIFT 45
add-op - GOTO 46
13
-----
mul-expr -> mul-expr.mul-op unary-expr
TIMES - SHIFT 47
DIVIDE - SHIFT 48
mul-op - GOTO 49
14
-----
unary-expr -> unary-op.unary-expr
NUMBER - SHIFT 50
IDENT - SHIFT 51
LPAREN - SHIFT 52
PLUS - SHIFT 4
MINUS - SHIFT 5
unary-expr - GOTO 53
unary-op - GOTO 54
15
-----
primary-expr -> NUMBER. (20)
RPAREN - REDUCE 20 expr
ASSIGN - REDUCE 20 or-expr
OR - REDUCE 20 or-expr
AND - REDUCE 20 and-expr
EQ - REDUCE 20 eq-expr
NE - REDUCE 20 eq-expr
LSHIFT - REDUCE 20 shift-expr
RSHIFT - REDUCE 20 shift-expr
PLUS - REDUCE 20 add-expr
MINUS - REDUCE 20 add-expr
TIMES - REDUCE 20 mul-expr
DIVIDE - REDUCE 20 mul-expr
* - REDUCE 20 rel-expr
16
-----
primary-expr -> IDENT. (21)
RPAREN - REDUCE 21 expr
ASSIGN - REDUCE 21 or-expr
OR - REDUCE 21 or-expr
AND - REDUCE 21 and-expr
EQ - REDUCE 21 eq-expr
NE - REDUCE 21 eq-expr
LSHIFT - REDUCE 21 shift-expr
RSHIFT - REDUCE 21 shift-expr
PLUS - REDUCE 21 add-expr
MINUS - REDUCE 21 add-expr
TIMES - REDUCE 21 mul-expr
DIVIDE - REDUCE 21 mul-expr
* - REDUCE 21 rel-expr
17
-----
primary-expr -> LPAREN.expr RPAREN
NUMBER - SHIFT 15
IDENT - SHIFT 16
LPAREN - SHIFT 17
PLUS - SHIFT 4
MINUS - SHIFT 5
expr - GOTO 55
or-expr - GOTO 19
and-expr - GOTO 20
eq-expr - GOTO 21
rel-expr - GOTO 22
shift-expr - GOTO 23
add-expr - GOTO 24
mul-expr - GOTO 25
unary-op - GOTO 26
18
-----
primary-expr -> LPAREN expr.RPAREN
RPAREN - SHIFT 56
19
-----
assign-expr -> or-expr.assign-op assign-expr
or-expr -> or-expr.or-op and-expr
ASSIGN - SHIFT 27
OR - SHIFT 28
assign-op - GOTO 57
or-op - GOTO 58
20
-----
and-expr -> and-expr.and-op eq-expr
AND - SHIFT 31
and-op - GOTO 59
21
-----
eq-expr -> eq-expr.eq-op rel-expr
EQ - SHIFT 33
NE - SHIFT 34
eq-op - GOTO 60
22
-----
rel-expr -> rel-expr.rel-op shift-expr
LT - SHIFT 36
GT - SHIFT 37
LE - SHIFT 38
GE - SHIFT 39
rel-op - GOTO 61
23
-----
shift-expr -> shift-expr.shift-op add-expr
LSHIFT - SHIFT 41
RSHIFT - SHIFT 42
shift-op - GOTO 62
24
-----
add-expr -> add-expr.add-op mul-expr
PLUS - SHIFT 44
MINUS - SHIFT 45
add-op - GOTO 63
25
-----
mul-expr -> mul-expr.mul-op unary-expr
TIMES - SHIFT 47
DIVIDE - SHIFT 48
mul-op - GOTO 64
26
-----
unary-expr -> unary-op.unary-expr
NUMBER - SHIFT 50
IDENT - SHIFT 51
LPAREN - SHIFT 52
PLUS - SHIFT 4
MINUS - SHIFT 5
unary-expr - GOTO 65
unary-op - GOTO 54
27
-----
assign-op -> ASSIGN. (23)
* - REDUCE 23 assign-op
28
-----
or-op -> OR. (24)
* - REDUCE 24 or-op
29
-----
assign-expr -> or-expr assign-op.assign-expr
NUMBER - SHIFT 66
IDENT - SHIFT 67
LPAREN - SHIFT 68
PLUS - SHIFT 4
MINUS - SHIFT 5
assign-expr - GOTO 69
or-expr - GOTO 70
and-expr - GOTO 71
eq-expr - GOTO 72
rel-expr - GOTO 73
shift-expr - GOTO 74
add-expr - GOTO 75
mul-expr - GOTO 76
unary-op - GOTO 77
30
-----
or-expr -> or-expr or-op.and-expr
NUMBER - SHIFT 78
IDENT - SHIFT 79
LPAREN - SHIFT 80
PLUS - SHIFT 4
MINUS - SHIFT 5
and-expr - GOTO 81
eq-expr - GOTO 82
rel-expr - GOTO 83
shift-expr - GOTO 84
add-expr - GOTO 85
mul-expr - GOTO 86
unary-op - GOTO 87
31
-----
and-op -> AND. (25)
* - REDUCE 25 and-op
32
-----
and-expr -> and-expr and-op.eq-expr
NUMBER - SHIFT 88
IDENT - SHIFT 89
LPAREN - SHIFT 90
PLUS - SHIFT 4
MINUS - SHIFT 5
eq-expr - GOTO 91
rel-expr - GOTO 92
shift-expr - GOTO 93
add-expr - GOTO 94
mul-expr - GOTO 95
unary-op - GOTO 96
33
-----
eq-op -> EQ. (26)
* - REDUCE 26 eq-op
34
-----
eq-op -> NE. (27)
* - REDUCE 27 eq-op
35
-----
eq-expr -> eq-expr eq-op.rel-expr
NUMBER - SHIFT 97
IDENT - SHIFT 98
LPAREN - SHIFT 99
PLUS - SHIFT 4
MINUS - SHIFT 5
rel-expr - GOTO 100
shift-expr - GOTO 101
add-expr - GOTO 102
mul-expr - GOTO 103
unary-op - GOTO 104
36
-----
rel-op -> LT. (28)
* - REDUCE 28 rel-op
37
-----
rel-op -> GT. (29)
* - REDUCE 29 rel-op
38
-----
rel-op -> LE. (30)
* - REDUCE 30 rel-op
39
-----
rel-op -> GE. (31)
* - REDUCE 31 rel-op
40
-----
rel-expr -> rel-expr rel-op.shift-expr
NUMBER - SHIFT 105
IDENT - SHIFT 106
LPAREN - SHIFT 107
PLUS - SHIFT 4
MINUS - SHIFT 5
shift-expr - GOTO 108
add-expr - GOTO 109
mul-expr - GOTO 110
unary-op - GOTO 111
41
-----
shift-op -> LSHIFT. (32)
* - REDUCE 32 shift-op
42
-----
shift-op -> RSHIFT. (33)
* - REDUCE 33 shift-op
43
-----
shift-expr -> shift-expr shift-op.add-expr
NUMBER - SHIFT 112
IDENT - SHIFT 113
LPAREN - SHIFT 114
PLUS - SHIFT 4
MINUS - SHIFT 5
add-expr - GOTO 115
mul-expr - GOTO 116
unary-op - GOTO 117
44
-----
add-op -> PLUS. (34)
* - REDUCE 34 add-op
45
-----
add-op -> MINUS. (35)
* - REDUCE 35 add-op
46
-----
add-expr -> add-expr add-op.mul-expr
NUMBER - SHIFT 118
IDENT - SHIFT 119
LPAREN - SHIFT 120
PLUS - SHIFT 4
MINUS - SHIFT 5
mul-expr - GOTO 121
unary-op - GOTO 122
47
-----
mul-op -> TIMES. (36)
* - REDUCE 36 mul-op
48
-----
mul-op -> DIVIDE. (37)
* - REDUCE 37 mul-op
49
-----
mul-expr -> mul-expr mul-op.unary-expr
NUMBER - SHIFT 50
IDENT - SHIFT 51
LPAREN - SHIFT 52
PLUS - SHIFT 4
MINUS - SHIFT 5
unary-expr - GOTO 123
unary-op - GOTO 54
50
-----
primary-expr -> NUMBER. (20)
* - REDUCE 20 unary-expr
51
-----
primary-expr -> IDENT. (21)
* - REDUCE 21 unary-expr
52
-----
primary-expr -> LPAREN.expr RPAREN
NUMBER - SHIFT 15
IDENT - SHIFT 16
LPAREN - SHIFT 17
PLUS - SHIFT 4
MINUS - SHIFT 5
expr - GOTO 124
or-expr - GOTO 19
and-expr - GOTO 20
eq-expr - GOTO 21
rel-expr - GOTO 22
shift-expr - GOTO 23
add-expr - GOTO 24
mul-expr - GOTO 25
unary-op - GOTO 26
53
-----
unary-expr -> unary-op unary-expr. (18)
EOT - REDUCE 18 expr
ASSIGN - REDUCE 18 or-expr
OR - REDUCE 18 or-expr
AND - REDUCE 18 and-expr
EQ - REDUCE 18 eq-expr
NE - REDUCE 18 eq-expr
LSHIFT - REDUCE 18 shift-expr
RSHIFT - REDUCE 18 shift-expr
PLUS - REDUCE 18 add-expr
MINUS - REDUCE 18 add-expr
TIMES - REDUCE 18 mul-expr
DIVIDE - REDUCE 18 mul-expr
* - REDUCE 18 rel-expr
54
-----
unary-expr -> unary-op.unary-expr
NUMBER - SHIFT 50
IDENT - SHIFT 51
LPAREN - SHIFT 52
PLUS - SHIFT 4
MINUS - SHIFT 5
unary-expr - GOTO 125
unary-op - GOTO 54
55
-----
primary-expr -> LPAREN expr.RPAREN
RPAREN - SHIFT 126
56
-----
primary-expr -> LPAREN expr RPAREN. (22)
EOT - REDUCE 22 expr
ASSIGN - REDUCE 22 or-expr
OR - REDUCE 22 or-expr
AND - REDUCE 22 and-expr
EQ - REDUCE 22 eq-expr
NE - REDUCE 22 eq-expr
LSHIFT - REDUCE 22 shift-expr
RSHIFT - REDUCE 22 shift-expr
PLUS - REDUCE 22 add-expr
MINUS - REDUCE 22 add-expr
TIMES - REDUCE 22 mul-expr
DIVIDE - REDUCE 22 mul-expr
* - REDUCE 22 rel-expr
57
-----
assign-expr -> or-expr assign-op.assign-expr
NUMBER - SHIFT 127
IDENT - SHIFT 128
LPAREN - SHIFT 129
PLUS - SHIFT 4
MINUS - SHIFT 5
assign-expr - GOTO 69
or-expr - GOTO 130
and-expr - GOTO 131
eq-expr - GOTO 132
rel-expr - GOTO 133
shift-expr - GOTO 134
add-expr - GOTO 135
mul-expr - GOTO 136
unary-op - GOTO 137
58
-----
or-expr -> or-expr or-op.and-expr
NUMBER - SHIFT 78
IDENT - SHIFT 79
LPAREN - SHIFT 80
PLUS - SHIFT 4
MINUS - SHIFT 5
and-expr - GOTO 138
eq-expr - GOTO 82
rel-expr - GOTO 83
shift-expr - GOTO 84
add-expr - GOTO 85
mul-expr - GOTO 86
unary-op - GOTO 87
59
-----
and-expr -> and-expr and-op.eq-expr
NUMBER - SHIFT 88
IDENT - SHIFT 89
LPAREN - SHIFT 90
PLUS - SHIFT 4
MINUS - SHIFT 5
eq-expr - GOTO 139
rel-expr - GOTO 92
shift-expr - GOTO 93
add-expr - GOTO 94
mul-expr - GOTO 95
unary-op - GOTO 96
60
-----
eq-expr -> eq-expr eq-op.rel-expr
NUMBER - SHIFT 97
IDENT - SHIFT 98
LPAREN - SHIFT 99
PLUS - SHIFT 4
MINUS - SHIFT 5
rel-expr - GOTO 140
shift-expr - GOTO 101
add-expr - GOTO 102
mul-expr - GOTO 103
unary-op - GOTO 104
61
-----
rel-expr -> rel-expr rel-op.shift-expr
NUMBER - SHIFT 105
IDENT - SHIFT 106
LPAREN - SHIFT 107
PLUS - SHIFT 4
MINUS - SHIFT 5
shift-expr - GOTO 141
add-expr - GOTO 109
mul-expr - GOTO 110
unary-op - GOTO 111
62
-----
shift-expr -> shift-expr shift-op.add-expr
NUMBER - SHIFT 112
IDENT - SHIFT 113
LPAREN - SHIFT 114
PLUS - SHIFT 4
MINUS - SHIFT 5
add-expr - GOTO 142
mul-expr - GOTO 116
unary-op - GOTO 117
63
-----
add-expr -> add-expr add-op.mul-expr
NUMBER - SHIFT 118
IDENT - SHIFT 119
LPAREN - SHIFT 120
PLUS - SHIFT 4
MINUS - SHIFT 5
mul-expr - GOTO 143
unary-op - GOTO 122
64
-----
mul-expr -> mul-expr mul-op.unary-expr
NUMBER - SHIFT 50
IDENT - SHIFT 51
LPAREN - SHIFT 52
PLUS - SHIFT 4
MINUS - SHIFT 5
unary-expr - GOTO 144
unary-op - GOTO 54
65
-----
unary-expr -> unary-op unary-expr. (18)
RPAREN - REDUCE 18 expr
ASSIGN - REDUCE 18 or-expr
OR - REDUCE 18 or-expr
AND - REDUCE 18 and-expr
EQ - REDUCE 18 eq-expr
NE - REDUCE 18 eq-expr
LSHIFT - REDUCE 18 shift-expr
RSHIFT - REDUCE 18 shift-expr
PLUS - REDUCE 18 add-expr
MINUS - REDUCE 18 add-expr
TIMES - REDUCE 18 mul-expr
DIVIDE - REDUCE 18 mul-expr
* - REDUCE 18 rel-expr
66
-----
primary-expr -> NUMBER. (20)
EOT - REDUCE 20 assign-expr
ASSIGN - REDUCE 20 or-expr
OR - REDUCE 20 or-expr
AND - REDUCE 20 and-expr
EQ - REDUCE 20 eq-expr
NE - REDUCE 20 eq-expr
LSHIFT - REDUCE 20 shift-expr
RSHIFT - REDUCE 20 shift-expr
PLUS - REDUCE 20 add-expr
MINUS - REDUCE 20 add-expr
TIMES - REDUCE 20 mul-expr
DIVIDE - REDUCE 20 mul-expr
* - REDUCE 20 rel-expr
67
-----
primary-expr -> IDENT. (21)
EOT - REDUCE 21 assign-expr
ASSIGN - REDUCE 21 or-expr
OR - REDUCE 21 or-expr
AND - REDUCE 21 and-expr
EQ - REDUCE 21 eq-expr
NE - REDUCE 21 eq-expr
LSHIFT - REDUCE 21 shift-expr
RSHIFT - REDUCE 21 shift-expr
PLUS - REDUCE 21 add-expr
MINUS - REDUCE 21 add-expr
TIMES - REDUCE 21 mul-expr
DIVIDE - REDUCE 21 mul-expr
* - REDUCE 21 rel-expr
68
-----
primary-expr -> LPAREN.expr RPAREN
NUMBER - SHIFT 15
IDENT - SHIFT 16
LPAREN - SHIFT 17
PLUS - SHIFT 4
MINUS - SHIFT 5
expr - GOTO 145
or-expr - GOTO 19
and-expr - GOTO 20
eq-expr - GOTO 21
rel-expr - GOTO 22
shift-expr - GOTO 23
add-expr - GOTO 24
mul-expr - GOTO 25
unary-op - GOTO 26
69
-----
assign-expr -> or-expr assign-op assign-expr. (2)
* - REDUCE 2 expr
70
-----
assign-expr -> or-expr.assign-op assign-expr
or-expr -> or-expr.or-op and-expr
ASSIGN - SHIFT 27
OR - SHIFT 28
assign-op - GOTO 146
or-op - GOTO 147
71
-----
and-expr -> and-expr.and-op eq-expr
AND - SHIFT 31
and-op - GOTO 148
72
-----
eq-expr -> eq-expr.eq-op rel-expr
EQ - SHIFT 33
NE - SHIFT 34
eq-op - GOTO 149
73
-----
rel-expr -> rel-expr.rel-op shift-expr
LT - SHIFT 36
GT - SHIFT 37
LE - SHIFT 38
GE - SHIFT 39
rel-op - GOTO 150
74
-----
shift-expr -> shift-expr.shift-op add-expr
LSHIFT - SHIFT 41
RSHIFT - SHIFT 42
shift-op - GOTO 151
75
-----
add-expr -> add-expr.add-op mul-expr
PLUS - SHIFT 44
MINUS - SHIFT 45
add-op - GOTO 152
76
-----
mul-expr -> mul-expr.mul-op unary-expr
TIMES - SHIFT 47
DIVIDE - SHIFT 48
mul-op - GOTO 153
77
-----
unary-expr -> unary-op.unary-expr
NUMBER - SHIFT 50
IDENT - SHIFT 51
LPAREN - SHIFT 52
PLUS - SHIFT 4
MINUS - SHIFT 5
unary-expr - GOTO 154
unary-op - GOTO 54
78
-----
primary-expr -> NUMBER. (20)
EQ - REDUCE 20 eq-expr
NE - REDUCE 20 eq-expr
LT - REDUCE 20 rel-expr
GT - REDUCE 20 rel-expr
LE - REDUCE 20 rel-expr
GE - REDUCE 20 rel-expr
LSHIFT - REDUCE 20 shift-expr
RSHIFT - REDUCE 20 shift-expr
PLUS - REDUCE 20 add-expr
MINUS - REDUCE 20 add-expr
TIMES - REDUCE 20 mul-expr
DIVIDE - REDUCE 20 mul-expr
* - REDUCE 20 and-expr
79
-----
primary-expr -> IDENT. (21)
EQ - REDUCE 21 eq-expr
NE - REDUCE 21 eq-expr
LT - REDUCE 21 rel-expr
GT - REDUCE 21 rel-expr
LE - REDUCE 21 rel-expr
GE - REDUCE 21 rel-expr
LSHIFT - REDUCE 21 shift-expr
RSHIFT - REDUCE 21 shift-expr
PLUS - REDUCE 21 add-expr
MINUS - REDUCE 21 add-expr
TIMES - REDUCE 21 mul-expr
DIVIDE - REDUCE 21 mul-expr
* - REDUCE 21 and-expr
80
-----
primary-expr -> LPAREN.expr RPAREN
NUMBER - SHIFT 15
IDENT - SHIFT 16
LPAREN - SHIFT 17
PLUS - SHIFT 4
MINUS - SHIFT 5
expr - GOTO 155
or-expr - GOTO 19
and-expr - GOTO 20
eq-expr - GOTO 21
rel-expr - GOTO 22
shift-expr - GOTO 23
add-expr - GOTO 24
mul-expr - GOTO 25
unary-op - GOTO 26
81
-----
or-expr -> or-expr or-op and-expr. (4)
and-expr -> and-expr.and-op eq-expr
EOT - REDUCE 4 expr
AND - SHIFT 31
* - REDUCE 4 or-expr
and-op - GOTO 156
82
-----
eq-expr -> eq-expr.eq-op rel-expr
EQ - SHIFT 33
NE - SHIFT 34
eq-op - GOTO 157
83
-----
rel-expr -> rel-expr.rel-op shift-expr
LT - SHIFT 36
GT - SHIFT 37
LE - SHIFT 38
GE - SHIFT 39
rel-op - GOTO 158
84
-----
shift-expr -> shift-expr.shift-op add-expr
LSHIFT - SHIFT 41
RSHIFT - SHIFT 42
shift-op - GOTO 159
85
-----
add-expr -> add-expr.add-op mul-expr
PLUS - SHIFT 44
MINUS - SHIFT 45
add-op - GOTO 160
86
-----
mul-expr -> mul-expr.mul-op unary-expr
TIMES - SHIFT 47
DIVIDE - SHIFT 48
mul-op - GOTO 161
87
-----
unary-expr -> unary-op.unary-expr
NUMBER - SHIFT 50
IDENT - SHIFT 51
LPAREN - SHIFT 52
PLUS - SHIFT 4
MINUS - SHIFT 5
unary-expr - GOTO 162
unary-op - GOTO 54
88
-----
primary-expr -> NUMBER. (20)
LT - REDUCE 20 rel-expr
GT - REDUCE 20 rel-expr
LE - REDUCE 20 rel-expr
GE - REDUCE 20 rel-expr
LSHIFT - REDUCE 20 shift-expr
RSHIFT - REDUCE 20 shift-expr
PLUS - REDUCE 20 add-expr
MINUS - REDUCE 20 add-expr
TIMES - REDUCE 20 mul-expr
DIVIDE - REDUCE 20 mul-expr
* - REDUCE 20 eq-expr
89
-----
primary-expr -> IDENT. (21)
LT - REDUCE 21 rel-expr
GT - REDUCE 21 rel-expr
LE - REDUCE 21 rel-expr
GE - REDUCE 21 rel-expr
LSHIFT - REDUCE 21 shift-expr
RSHIFT - REDUCE 21 shift-expr
PLUS - REDUCE 21 add-expr
MINUS - REDUCE 21 add-expr
TIMES - REDUCE 21 mul-expr
DIVIDE - REDUCE 21 mul-expr
* - REDUCE 21 eq-expr
90
-----
primary-expr -> LPAREN.expr RPAREN
NUMBER - SHIFT 15
IDENT - SHIFT 16
LPAREN - SHIFT 17
PLUS - SHIFT 4
MINUS - SHIFT 5
expr - GOTO 163
or-expr - GOTO 19
and-expr - GOTO 20
eq-expr - GOTO 21
rel-expr - GOTO 22
shift-expr - GOTO 23
add-expr - GOTO 24
mul-expr - GOTO 25
unary-op - GOTO 26
91
-----
and-expr -> and-expr and-op eq-expr. (6)
eq-expr -> eq-expr.eq-op rel-expr
EOT - REDUCE 6 expr
AND - REDUCE 6 and-expr
EQ - SHIFT 33
NE - SHIFT 34
* - REDUCE 6 or-expr
eq-op - GOTO 164
92
-----
rel-expr -> rel-expr.rel-op shift-expr
LT - SHIFT 36
GT - SHIFT 37
LE - SHIFT 38
GE - SHIFT 39
rel-op - GOTO 165
93
-----
shift-expr -> shift-expr.shift-op add-expr
LSHIFT - SHIFT 41
RSHIFT - SHIFT 42
shift-op - GOTO 166
94
-----
add-expr -> add-expr.add-op mul-expr
PLUS - SHIFT 44
MINUS - SHIFT 45
add-op - GOTO 167
95
-----
mul-expr -> mul-expr.mul-op unary-expr
TIMES - SHIFT 47
DIVIDE - SHIFT 48
mul-op - GOTO 168
96
-----
unary-expr -> unary-op.unary-expr
NUMBER - SHIFT 50
IDENT - SHIFT 51
LPAREN - SHIFT 52
PLUS - SHIFT 4
MINUS - SHIFT 5
unary-expr - GOTO 169
unary-op - GOTO 54
97
-----
primary-expr -> NUMBER. (20)
LSHIFT - REDUCE 20 shift-expr
RSHIFT - REDUCE 20 shift-expr
PLUS - REDUCE 20 add-expr
MINUS - REDUCE 20 add-expr
TIMES - REDUCE 20 mul-expr
DIVIDE - REDUCE 20 mul-expr
* - REDUCE 20 rel-expr
98
-----
primary-expr -> IDENT. (21)
LSHIFT - REDUCE 21 shift-expr
RSHIFT - REDUCE 21 shift-expr
PLUS - REDUCE 21 add-expr
MINUS - REDUCE 21 add-expr
TIMES - REDUCE 21 mul-expr
DIVIDE - REDUCE 21 mul-expr
* - REDUCE 21 rel-expr
99
-----
primary-expr -> LPAREN.expr RPAREN
NUMBER - SHIFT 15
IDENT - SHIFT 16
LPAREN - SHIFT 17
PLUS - SHIFT 4
MINUS - SHIFT 5
expr - GOTO 170
or-expr - GOTO 19
and-expr - GOTO 20
eq-expr - GOTO 21
rel-expr - GOTO 22
shift-expr - GOTO 23
add-expr - GOTO 24
mul-expr - GOTO 25
unary-op - GOTO 26
100
-----
eq-expr -> eq-expr eq-op rel-expr. (8)
rel-expr -> rel-expr.rel-op shift-expr
EOT - REDUCE 8 expr
AND - REDUCE 8 and-expr
EQ - REDUCE 8 eq-expr
NE - REDUCE 8 eq-expr
LT - SHIFT 36
GT - SHIFT 37
LE - SHIFT 38
GE - SHIFT 39
* - REDUCE 8 or-expr
rel-op - GOTO 171
101
-----
shift-expr -> shift-expr.shift-op add-expr
LSHIFT - SHIFT 41
RSHIFT - SHIFT 42
shift-op - GOTO 172
102
-----
add-expr -> add-expr.add-op mul-expr
PLUS - SHIFT 44
MINUS - SHIFT 45
add-op - GOTO 173
103
-----
mul-expr -> mul-expr.mul-op unary-expr
TIMES - SHIFT 47
DIVIDE - SHIFT 48
mul-op - GOTO 174
104
-----
unary-expr -> unary-op.unary-expr
NUMBER - SHIFT 50
IDENT - SHIFT 51
LPAREN - SHIFT 52
PLUS - SHIFT 4
MINUS - SHIFT 5
unary-expr - GOTO 175
unary-op - GOTO 54
105
-----
primary-expr -> NUMBER. (20)
PLUS - REDUCE 20 add-expr
MINUS - REDUCE 20 add-expr
TIMES - REDUCE 20 mul-expr
DIVIDE - REDUCE 20 mul-expr
* - REDUCE 20 shift-expr
106
-----
primary-expr -> IDENT. (21)
PLUS - REDUCE 21 add-expr
MINUS - REDUCE 21 add-expr
TIMES - REDUCE 21 mul-expr
DIVIDE - REDUCE 21 mul-expr
* - REDUCE 21 shift-expr
107
-----
primary-expr -> LPAREN.expr RPAREN
NUMBER - SHIFT 15
IDENT - SHIFT 16
LPAREN - SHIFT 17
PLUS - SHIFT 4
MINUS - SHIFT 5
expr - GOTO 176
or-expr - GOTO 19
and-expr - GOTO 20
eq-expr - GOTO 21
rel-expr - GOTO 22
shift-expr - GOTO 23
add-expr - GOTO 24
mul-expr - GOTO 25
unary-op - GOTO 26
108
-----
rel-expr -> rel-expr rel-op shift-expr. (10)
shift-expr -> shift-expr.shift-op add-expr
EOT - REDUCE 10 expr
ASSIGN - REDUCE 10 or-expr
OR - REDUCE 10 or-expr
AND - REDUCE 10 and-expr
EQ - REDUCE 10 eq-expr
NE - REDUCE 10 eq-expr
LSHIFT - SHIFT 41
RSHIFT - SHIFT 42
* - REDUCE 10 rel-expr
shift-op - GOTO 177
109
-----
add-expr -> add-expr.add-op mul-expr
PLUS - SHIFT 44
MINUS - SHIFT 45
add-op - GOTO 178
110
-----
mul-expr -> mul-expr.mul-op unary-expr
TIMES - SHIFT 47
DIVIDE - SHIFT 48
mul-op - GOTO 179
111
-----
unary-expr -> unary-op.unary-expr
NUMBER - SHIFT 50
IDENT - SHIFT 51
LPAREN - SHIFT 52
PLUS - SHIFT 4
MINUS - SHIFT 5
unary-expr - GOTO 180
unary-op - GOTO 54
112
-----
primary-expr -> NUMBER. (20)
TIMES - REDUCE 20 mul-expr
DIVIDE - REDUCE 20 mul-expr
* - REDUCE 20 add-expr
113
-----
primary-expr -> IDENT. (21)
TIMES - REDUCE 21 mul-expr
DIVIDE - REDUCE 21 mul-expr
* - REDUCE 21 add-expr
114
-----
primary-expr -> LPAREN.expr RPAREN
NUMBER - SHIFT 15
IDENT - SHIFT 16
LPAREN - SHIFT 17
PLUS - SHIFT 4
MINUS - SHIFT 5
expr - GOTO 181
or-expr - GOTO 19
and-expr - GOTO 20
eq-expr - GOTO 21
rel-expr - GOTO 22
shift-expr - GOTO 23
add-expr - GOTO 24
mul-expr - GOTO 25
unary-op - GOTO 26
115
-----
shift-expr -> shift-expr shift-op add-expr. (12)
add-expr -> add-expr.add-op mul-expr
EOT - REDUCE 12 expr
ASSIGN - REDUCE 12 or-expr
OR - REDUCE 12 or-expr
AND - REDUCE 12 and-expr
EQ - REDUCE 12 eq-expr
NE - REDUCE 12 eq-expr
LSHIFT - REDUCE 12 shift-expr
RSHIFT - REDUCE 12 shift-expr
PLUS - SHIFT 44
MINUS - SHIFT 45
* - REDUCE 12 rel-expr
add-op - GOTO 182
116
-----
mul-expr -> mul-expr.mul-op unary-expr
TIMES - SHIFT 47
DIVIDE - SHIFT 48
mul-op - GOTO 183
117
-----
unary-expr -> unary-op.unary-expr
NUMBER - SHIFT 50
IDENT - SHIFT 51
LPAREN - SHIFT 52
PLUS - SHIFT 4
MINUS - SHIFT 5
unary-expr - GOTO 184
unary-op - GOTO 54
118
-----
primary-expr -> NUMBER. (20)
* - REDUCE 20 mul-expr
119
-----
primary-expr -> IDENT. (21)
* - REDUCE 21 mul-expr
120
-----
primary-expr -> LPAREN.expr RPAREN
NUMBER - SHIFT 15
IDENT - SHIFT 16
LPAREN - SHIFT 17
PLUS - SHIFT 4
MINUS - SHIFT 5
expr - GOTO 185
or-expr - GOTO 19
and-expr - GOTO 20
eq-expr - GOTO 21
rel-expr - GOTO 22
shift-expr - GOTO 23
add-expr - GOTO 24
mul-expr - GOTO 25
unary-op - GOTO 26
121
-----
add-expr -> add-expr add-op mul-expr. (14)
mul-expr -> mul-expr.mul-op unary-expr
EOT - REDUCE 14 expr
ASSIGN - REDUCE 14 or-expr
OR - REDUCE 14 or-expr
AND - REDUCE 14 and-expr
EQ - REDUCE 14 eq-expr
NE - REDUCE 14 eq-expr
LSHIFT - REDUCE 14 shift-expr
RSHIFT - REDUCE 14 shift-expr
PLUS - REDUCE 14 add-expr
MINUS - REDUCE 14 add-expr
TIMES - SHIFT 47
DIVIDE - SHIFT 48
* - REDUCE 14 rel-expr
mul-op - GOTO 186
122
-----
unary-expr -> unary-op.unary-expr
NUMBER - SHIFT 50
IDENT - SHIFT 51
LPAREN - SHIFT 52
PLUS - SHIFT 4
MINUS - SHIFT 5
unary-expr - GOTO 187
unary-op - GOTO 54
123
-----
mul-expr -> mul-expr mul-op unary-expr. (16)
EOT - REDUCE 16 expr
ASSIGN - REDUCE 16 or-expr
OR - REDUCE 16 or-expr
AND - REDUCE 16 and-expr
EQ - REDUCE 16 eq-expr
NE - REDUCE 16 eq-expr
LSHIFT - REDUCE 16 shift-expr
RSHIFT - REDUCE 16 shift-expr
PLUS - REDUCE 16 add-expr
MINUS - REDUCE 16 add-expr
TIMES - REDUCE 16 mul-expr
DIVIDE - REDUCE 16 mul-expr
* - REDUCE 16 rel-expr
124
-----
primary-expr -> LPAREN expr.RPAREN
RPAREN - SHIFT 188
125
-----
unary-expr -> unary-op unary-expr. (18)
* - REDUCE 18 unary-expr
126
-----
primary-expr -> LPAREN expr RPAREN. (22)
RPAREN - REDUCE 22 expr
ASSIGN - REDUCE 22 or-expr
OR - REDUCE 22 or-expr
AND - REDUCE 22 and-expr
EQ - REDUCE 22 eq-expr
NE - REDUCE 22 eq-expr
LSHIFT - REDUCE 22 shift-expr
RSHIFT - REDUCE 22 shift-expr
PLUS - REDUCE 22 add-expr
MINUS - REDUCE 22 add-expr
TIMES - REDUCE 22 mul-expr
DIVIDE - REDUCE 22 mul-expr
* - REDUCE 22 rel-expr
127
-----
primary-expr -> NUMBER. (20)
RPAREN - REDUCE 20 assign-expr
ASSIGN - REDUCE 20 or-expr
OR - REDUCE 20 or-expr
AND - REDUCE 20 and-expr
EQ - REDUCE 20 eq-expr
NE - REDUCE 20 eq-expr
LSHIFT - REDUCE 20 shift-expr
RSHIFT - REDUCE 20 shift-expr
PLUS - REDUCE 20 add-expr
MINUS - REDUCE 20 add-expr
TIMES - REDUCE 20 mul-expr
DIVIDE - REDUCE 20 mul-expr
* - REDUCE 20 rel-expr
128
-----
primary-expr -> IDENT. (21)
RPAREN - REDUCE 21 assign-expr
ASSIGN - REDUCE 21 or-expr
OR - REDUCE 21 or-expr
AND - REDUCE 21 and-expr
EQ - REDUCE 21 eq-expr
NE - REDUCE 21 eq-expr
LSHIFT - REDUCE 21 shift-expr
RSHIFT - REDUCE 21 shift-expr
PLUS - REDUCE 21 add-expr
MINUS - REDUCE 21 add-expr
TIMES - REDUCE 21 mul-expr
DIVIDE - REDUCE 21 mul-expr
* - REDUCE 21 rel-expr
129
-----
primary-expr -> LPAREN.expr RPAREN
NUMBER - SHIFT 15
IDENT - SHIFT 16
LPAREN - SHIFT 17
PLUS - SHIFT 4
MINUS - SHIFT 5
expr - GOTO 189
or-expr - GOTO 19
and-expr - GOTO 20
eq-expr - GOTO 21
rel-expr - GOTO 22
shift-expr - GOTO 23
add-expr - GOTO 24
mul-expr - GOTO 25
unary-op - GOTO 26
130
-----
assign-expr -> or-expr.assign-op assign-expr
or-expr -> or-expr.or-op and-expr
ASSIGN - SHIFT 27
OR - SHIFT 28
assign-op - GOTO 190
or-op - GOTO 191
131
-----
and-expr -> and-expr.and-op eq-expr
AND - SHIFT 31
and-op - GOTO 192
132
-----
eq-expr -> eq-expr.eq-op rel-expr
EQ - SHIFT 33
NE - SHIFT 34
eq-op - GOTO 193
133
-----
rel-expr -> rel-expr.rel-op shift-expr
LT - SHIFT 36
GT - SHIFT 37
LE - SHIFT 38
GE - SHIFT 39
rel-op - GOTO 194
134
-----
shift-expr -> shift-expr.shift-op add-expr
LSHIFT - SHIFT 41
RSHIFT - SHIFT 42
shift-op - GOTO 195
135
-----
add-expr -> add-expr.add-op mul-expr
PLUS - SHIFT 44
MINUS - SHIFT 45
add-op - GOTO 196
136
-----
mul-expr -> mul-expr.mul-op unary-expr
TIMES - SHIFT 47
DIVIDE - SHIFT 48
mul-op - GOTO 197
137
-----
unary-expr -> unary-op.unary-expr
NUMBER - SHIFT 50
IDENT - SHIFT 51
LPAREN - SHIFT 52
PLUS - SHIFT 4
MINUS - SHIFT 5
unary-expr - GOTO 198
unary-op - GOTO 54
138
-----
or-expr -> or-expr or-op and-expr. (4)
and-expr -> and-expr.and-op eq-expr
RPAREN - REDUCE 4 expr
AND - SHIFT 31
* - REDUCE 4 or-expr
and-op - GOTO 156
139
-----
and-expr -> and-expr and-op eq-expr. (6)
eq-expr -> eq-expr.eq-op rel-expr
RPAREN - REDUCE 6 expr
AND - REDUCE 6 and-expr
EQ - SHIFT 33
NE - SHIFT 34
* - REDUCE 6 or-expr
eq-op - GOTO 164
140
-----
eq-expr -> eq-expr eq-op rel-expr. (8)
rel-expr -> rel-expr.rel-op shift-expr
RPAREN - REDUCE 8 expr
AND - REDUCE 8 and-expr
EQ - REDUCE 8 eq-expr
NE - REDUCE 8 eq-expr
LT - SHIFT 36
GT - SHIFT 37
LE - SHIFT 38
GE - SHIFT 39
* - REDUCE 8 or-expr
rel-op - GOTO 171
141
-----
rel-expr -> rel-expr rel-op shift-expr. (10)
shift-expr -> shift-expr.shift-op add-expr
RPAREN - REDUCE 10 expr
ASSIGN - REDUCE 10 or-expr
OR - REDUCE 10 or-expr
AND - REDUCE 10 and-expr
EQ - REDUCE 10 eq-expr
NE - REDUCE 10 eq-expr
LSHIFT - SHIFT 41
RSHIFT - SHIFT 42
* - REDUCE 10 rel-expr
shift-op - GOTO 177
142
-----
shift-expr -> shift-expr shift-op add-expr. (12)
add-expr -> add-expr.add-op mul-expr
RPAREN - REDUCE 12 expr
ASSIGN - REDUCE 12 or-expr
OR - REDUCE 12 or-expr
AND - REDUCE 12 and-expr
EQ - REDUCE 12 eq-expr
NE - REDUCE 12 eq-expr
LSHIFT - REDUCE 12 shift-expr
RSHIFT - REDUCE 12 shift-expr
PLUS - SHIFT 44
MINUS - SHIFT 45
* - REDUCE 12 rel-expr
add-op - GOTO 182
143
-----
add-expr -> add-expr add-op mul-expr. (14)
mul-expr -> mul-expr.mul-op unary-expr
RPAREN - REDUCE 14 expr
ASSIGN - REDUCE 14 or-expr
OR - REDUCE 14 or-expr
AND - REDUCE 14 and-expr
EQ - REDUCE 14 eq-expr
NE - REDUCE 14 eq-expr
LSHIFT - REDUCE 14 shift-expr
RSHIFT - REDUCE 14 shift-expr
PLUS - REDUCE 14 add-expr
MINUS - REDUCE 14 add-expr
TIMES - SHIFT 47
DIVIDE - SHIFT 48
* - REDUCE 14 rel-expr
mul-op - GOTO 186
144
-----
mul-expr -> mul-expr mul-op unary-expr. (16)
RPAREN - REDUCE 16 expr
ASSIGN - REDUCE 16 or-expr
OR - REDUCE 16 or-expr
AND - REDUCE 16 and-expr
EQ - REDUCE 16 eq-expr
NE - REDUCE 16 eq-expr
LSHIFT - REDUCE 16 shift-expr
RSHIFT - REDUCE 16 shift-expr
PLUS - REDUCE 16 add-expr
MINUS - REDUCE 16 add-expr
TIMES - REDUCE 16 mul-expr
DIVIDE - REDUCE 16 mul-expr
* - REDUCE 16 rel-expr
145
-----
primary-expr -> LPAREN expr.RPAREN
RPAREN - SHIFT 199
146
-----
assign-expr -> or-expr assign-op.assign-expr
NUMBER - SHIFT 66
IDENT - SHIFT 67
LPAREN - SHIFT 68
PLUS - SHIFT 4
MINUS - SHIFT 5
assign-expr - GOTO 200
or-expr - GOTO 70
and-expr - GOTO 71
eq-expr - GOTO 72
rel-expr - GOTO 73
shift-expr - GOTO 74
add-expr - GOTO 75
mul-expr - GOTO 76
unary-op - GOTO 77
147
-----
or-expr -> or-expr or-op.and-expr
NUMBER - SHIFT 78
IDENT - SHIFT 79
LPAREN - SHIFT 80
PLUS - SHIFT 4
MINUS - SHIFT 5
and-expr - GOTO 201
eq-expr - GOTO 82
rel-expr - GOTO 83
shift-expr - GOTO 84
add-expr - GOTO 85
mul-expr - GOTO 86
unary-op - GOTO 87
148
-----
and-expr -> and-expr and-op.eq-expr
NUMBER - SHIFT 88
IDENT - SHIFT 89
LPAREN - SHIFT 90
PLUS - SHIFT 4
MINUS - SHIFT 5
eq-expr - GOTO 202
rel-expr - GOTO 92
shift-expr - GOTO 93
add-expr - GOTO 94
mul-expr - GOTO 95
unary-op - GOTO 96
149
-----
eq-expr -> eq-expr eq-op.rel-expr
NUMBER - SHIFT 97
IDENT - SHIFT 98
LPAREN - SHIFT 99
PLUS - SHIFT 4
MINUS - SHIFT 5
rel-expr - GOTO 203
shift-expr - GOTO 101
add-expr - GOTO 102
mul-expr - GOTO 103
unary-op - GOTO 104
150
-----
rel-expr -> rel-expr rel-op.shift-expr
NUMBER - SHIFT 105
IDENT - SHIFT 106
LPAREN - SHIFT 107
PLUS - SHIFT 4
MINUS - SHIFT 5
shift-expr - GOTO 204
add-expr - GOTO 109
mul-expr - GOTO 110
unary-op - GOTO 111
151
-----
shift-expr -> shift-expr shift-op.add-expr
NUMBER - SHIFT 112
IDENT - SHIFT 113
LPAREN - SHIFT 114
PLUS - SHIFT 4
MINUS - SHIFT 5
add-expr - GOTO 205
mul-expr - GOTO 116
unary-op - GOTO 117
152
-----
add-expr -> add-expr add-op.mul-expr
NUMBER - SHIFT 118
IDENT - SHIFT 119
LPAREN - SHIFT 120
PLUS - SHIFT 4
MINUS - SHIFT 5
mul-expr - GOTO 206
unary-op - GOTO 122
153
-----
mul-expr -> mul-expr mul-op.unary-expr
NUMBER - SHIFT 50
IDENT - SHIFT 51
LPAREN - SHIFT 52
PLUS - SHIFT 4
MINUS - SHIFT 5
unary-expr - GOTO 207
unary-op - GOTO 54
154
-----
unary-expr -> unary-op unary-expr. (18)
EOT - REDUCE 18 assign-expr
ASSIGN - REDUCE 18 or-expr
OR - REDUCE 18 or-expr
AND - REDUCE 18 and-expr
EQ - REDUCE 18 eq-expr
NE - REDUCE 18 eq-expr
LSHIFT - REDUCE 18 shift-expr
RSHIFT - REDUCE 18 shift-expr
PLUS - REDUCE 18 add-expr
MINUS - REDUCE 18 add-expr
TIMES - REDUCE 18 mul-expr
DIVIDE - REDUCE 18 mul-expr
* - REDUCE 18 rel-expr
155
-----
primary-expr -> LPAREN expr.RPAREN
RPAREN - SHIFT 208
156
-----
and-expr -> and-expr and-op.eq-expr
NUMBER - SHIFT 88
IDENT - SHIFT 89
LPAREN - SHIFT 90
PLUS - SHIFT 4
MINUS - SHIFT 5
eq-expr - GOTO 209
rel-expr - GOTO 92
shift-expr - GOTO 93
add-expr - GOTO 94
mul-expr - GOTO 95
unary-op - GOTO 96
157
-----
eq-expr -> eq-expr eq-op.rel-expr
NUMBER - SHIFT 97
IDENT - SHIFT 98
LPAREN - SHIFT 99
PLUS - SHIFT 4
MINUS - SHIFT 5
rel-expr - GOTO 210
shift-expr - GOTO 101
add-expr - GOTO 102
mul-expr - GOTO 103
unary-op - GOTO 104
158
-----
rel-expr -> rel-expr rel-op.shift-expr
NUMBER - SHIFT 105
IDENT - SHIFT 106
LPAREN - SHIFT 107
PLUS - SHIFT 4
MINUS - SHIFT 5
shift-expr - GOTO 211
add-expr - GOTO 109
mul-expr - GOTO 110
unary-op - GOTO 111
159
-----
shift-expr -> shift-expr shift-op.add-expr
NUMBER - SHIFT 112
IDENT - SHIFT 113
LPAREN - SHIFT 114
PLUS - SHIFT 4
MINUS - SHIFT 5
add-expr - GOTO 212
mul-expr - GOTO 116
unary-op - GOTO 117
160
-----
add-expr -> add-expr add-op.mul-expr
NUMBER - SHIFT 118
IDENT - SHIFT 119
LPAREN - SHIFT 120
PLUS - SHIFT 4
MINUS - SHIFT 5
mul-expr - GOTO 213
unary-op - GOTO 122
161
-----
mul-expr -> mul-expr mul-op.unary-expr
NUMBER - SHIFT 50
IDENT - SHIFT 51
LPAREN - SHIFT 52
PLUS - SHIFT 4
MINUS - SHIFT 5
unary-expr - GOTO 214
unary-op - GOTO 54
162
-----
unary-expr -> unary-op unary-expr. (18)
EQ - REDUCE 18 eq-expr
NE - REDUCE 18 eq-expr
LT - REDUCE 18 rel-expr
GT - REDUCE 18 rel-expr
LE - REDUCE 18 rel-expr
GE - REDUCE 18 rel-expr
LSHIFT - REDUCE 18 shift-expr
RSHIFT - REDUCE 18 shift-expr
PLUS - REDUCE 18 add-expr
MINUS - REDUCE 18 add-expr
TIMES - REDUCE 18 mul-expr
DIVIDE - REDUCE 18 mul-expr
* - REDUCE 18 and-expr
163
-----
primary-expr -> LPAREN expr.RPAREN
RPAREN - SHIFT 215
164
-----
eq-expr -> eq-expr eq-op.rel-expr
NUMBER - SHIFT 97
IDENT - SHIFT 98
LPAREN - SHIFT 99
PLUS - SHIFT 4
MINUS - SHIFT 5
rel-expr - GOTO 216
shift-expr - GOTO 101
add-expr - GOTO 102
mul-expr - GOTO 103
unary-op - GOTO 104
165
-----
rel-expr -> rel-expr rel-op.shift-expr
NUMBER - SHIFT 105
IDENT - SHIFT 106
LPAREN - SHIFT 107
PLUS - SHIFT 4
MINUS - SHIFT 5
shift-expr - GOTO 217
add-expr - GOTO 109
mul-expr - GOTO 110
unary-op - GOTO 111
166
-----
shift-expr -> shift-expr shift-op.add-expr
NUMBER - SHIFT 112
IDENT - SHIFT 113
LPAREN - SHIFT 114
PLUS - SHIFT 4
MINUS - SHIFT 5
add-expr - GOTO 218
mul-expr - GOTO 116
unary-op - GOTO 117
167
-----
add-expr -> add-expr add-op.mul-expr
NUMBER - SHIFT 118
IDENT - SHIFT 119
LPAREN - SHIFT 120
PLUS - SHIFT 4
MINUS - SHIFT 5
mul-expr - GOTO 219
unary-op - GOTO 122
168
-----
mul-expr -> mul-expr mul-op.unary-expr
NUMBER - SHIFT 50
IDENT - SHIFT 51
LPAREN - SHIFT 52
PLUS - SHIFT 4
MINUS - SHIFT 5
unary-expr - GOTO 220
unary-op - GOTO 54
169
-----
unary-expr -> unary-op unary-expr. (18)
LT - REDUCE 18 rel-expr
GT - REDUCE 18 rel-expr
LE - REDUCE 18 rel-expr
GE - REDUCE 18 rel-expr
LSHIFT - REDUCE 18 shift-expr
RSHIFT - REDUCE 18 shift-expr
PLUS - REDUCE 18 add-expr
MINUS - REDUCE 18 add-expr
TIMES - REDUCE 18 mul-expr
DIVIDE - REDUCE 18 mul-expr
* - REDUCE 18 eq-expr
170
-----
primary-expr -> LPAREN expr.RPAREN
RPAREN - SHIFT 221
171
-----
rel-expr -> rel-expr rel-op.shift-expr
NUMBER - SHIFT 105
IDENT - SHIFT 106
LPAREN - SHIFT 107
PLUS - SHIFT 4
MINUS - SHIFT 5
shift-expr - GOTO 222
add-expr - GOTO 109
mul-expr - GOTO 110
unary-op - GOTO 111
172
-----
shift-expr -> shift-expr shift-op.add-expr
NUMBER - SHIFT 112
IDENT - SHIFT 113
LPAREN - SHIFT 114
PLUS - SHIFT 4
MINUS - SHIFT 5
add-expr - GOTO 223
mul-expr - GOTO 116
unary-op - GOTO 117
173
-----
add-expr -> add-expr add-op.mul-expr
NUMBER - SHIFT 118
IDENT - SHIFT 119
LPAREN - SHIFT 120
PLUS - SHIFT 4
MINUS - SHIFT 5
mul-expr - GOTO 224
unary-op - GOTO 122
174
-----
mul-expr -> mul-expr mul-op.unary-expr
NUMBER - SHIFT 50
IDENT - SHIFT 51
LPAREN - SHIFT 52
PLUS - SHIFT 4
MINUS - SHIFT 5
unary-expr - GOTO 225
unary-op - GOTO 54
175
-----
unary-expr -> unary-op unary-expr. (18)
LSHIFT - REDUCE 18 shift-expr
RSHIFT - REDUCE 18 shift-expr
PLUS - REDUCE 18 add-expr
MINUS - REDUCE 18 add-expr
TIMES - REDUCE 18 mul-expr
DIVIDE - REDUCE 18 mul-expr
* - REDUCE 18 rel-expr
176
-----
primary-expr -> LPAREN expr.RPAREN
RPAREN - SHIFT 226
177
-----
shift-expr -> shift-expr shift-op.add-expr
NUMBER - SHIFT 112
IDENT - SHIFT 113
LPAREN - SHIFT 114
PLUS - SHIFT 4
MINUS - SHIFT 5
add-expr - GOTO 227
mul-expr - GOTO 116
unary-op - GOTO 117
178
-----
add-expr -> add-expr add-op.mul-expr
NUMBER - SHIFT 118
IDENT - SHIFT 119
LPAREN - SHIFT 120
PLUS - SHIFT 4
MINUS - SHIFT 5
mul-expr - GOTO 228
unary-op - GOTO 122
179
-----
mul-expr -> mul-expr mul-op.unary-expr
NUMBER - SHIFT 50
IDENT - SHIFT 51
LPAREN - SHIFT 52
PLUS - SHIFT 4
MINUS - SHIFT 5
unary-expr - GOTO 229
unary-op - GOTO 54
180
-----
unary-expr -> unary-op unary-expr. (18)
PLUS - REDUCE 18 add-expr
MINUS - REDUCE 18 add-expr
TIMES - REDUCE 18 mul-expr
DIVIDE - REDUCE 18 mul-expr
* - REDUCE 18 shift-expr
181
-----
primary-expr -> LPAREN expr.RPAREN
RPAREN - SHIFT 230
182
-----
add-expr -> add-expr add-op.mul-expr
NUMBER - SHIFT 118
IDENT - SHIFT 119
LPAREN - SHIFT 120
PLUS - SHIFT 4
MINUS - SHIFT 5
mul-expr - GOTO 231
unary-op - GOTO 122
183
-----
mul-expr -> mul-expr mul-op.unary-expr
NUMBER - SHIFT 50
IDENT - SHIFT 51
LPAREN - SHIFT 52
PLUS - SHIFT 4
MINUS - SHIFT 5
unary-expr - GOTO 232
unary-op - GOTO 54
184
-----
unary-expr -> unary-op unary-expr. (18)
TIMES - REDUCE 18 mul-expr
DIVIDE - REDUCE 18 mul-expr
* - REDUCE 18 add-expr
185
-----
primary-expr -> LPAREN expr.RPAREN
RPAREN - SHIFT 233
186
-----
mul-expr -> mul-expr mul-op.unary-expr
NUMBER - SHIFT 50
IDENT - SHIFT 51
LPAREN - SHIFT 52
PLUS - SHIFT 4
MINUS - SHIFT 5
unary-expr - GOTO 234
unary-op - GOTO 54
187
-----
unary-expr -> unary-op unary-expr. (18)
* - REDUCE 18 mul-expr
188
-----
primary-expr -> LPAREN expr RPAREN. (22)
* - REDUCE 22 unary-expr
189
-----
primary-expr -> LPAREN expr.RPAREN
RPAREN - SHIFT 235
190
-----
assign-expr -> or-expr assign-op.assign-expr
NUMBER - SHIFT 127
IDENT - SHIFT 128
LPAREN - SHIFT 129
PLUS - SHIFT 4
MINUS - SHIFT 5
assign-expr - GOTO 200
or-expr - GOTO 130
and-expr - GOTO 131
eq-expr - GOTO 132
rel-expr - GOTO 133
shift-expr - GOTO 134
add-expr - GOTO 135
mul-expr - GOTO 136
unary-op - GOTO 137
191
-----
or-expr -> or-expr or-op.and-expr
NUMBER - SHIFT 78
IDENT - SHIFT 79
LPAREN - SHIFT 80
PLUS - SHIFT 4
MINUS - SHIFT 5
and-expr - GOTO 236
eq-expr - GOTO 82
rel-expr - GOTO 83
shift-expr - GOTO 84
add-expr - GOTO 85
mul-expr - GOTO 86
unary-op - GOTO 87
192
-----
and-expr -> and-expr and-op.eq-expr
NUMBER - SHIFT 88
IDENT - SHIFT 89
LPAREN - SHIFT 90
PLUS - SHIFT 4
MINUS - SHIFT 5
eq-expr - GOTO 237
rel-expr - GOTO 92
shift-expr - GOTO 93
add-expr - GOTO 94
mul-expr - GOTO 95
unary-op - GOTO 96
193
-----
eq-expr -> eq-expr eq-op.rel-expr
NUMBER - SHIFT 97
IDENT - SHIFT 98
LPAREN - SHIFT 99
PLUS - SHIFT 4
MINUS - SHIFT 5
rel-expr - GOTO 238
shift-expr - GOTO 101
add-expr - GOTO 102
mul-expr - GOTO 103
unary-op - GOTO 104
194
-----
rel-expr -> rel-expr rel-op.shift-expr
NUMBER - SHIFT 105
IDENT - SHIFT 106
LPAREN - SHIFT 107
PLUS - SHIFT 4
MINUS - SHIFT 5
shift-expr - GOTO 239
add-expr - GOTO 109
mul-expr - GOTO 110
unary-op - GOTO 111
195
-----
shift-expr -> shift-expr shift-op.add-expr
NUMBER - SHIFT 112
IDENT - SHIFT 113
LPAREN - SHIFT 114
PLUS - SHIFT 4
MINUS - SHIFT 5
add-expr - GOTO 240
mul-expr - GOTO 116
unary-op - GOTO 117
196
-----
add-expr -> add-expr add-op.mul-expr
NUMBER - SHIFT 118
IDENT - SHIFT 119
LPAREN - SHIFT 120
PLUS - SHIFT 4
MINUS - SHIFT 5
mul-expr - GOTO 241
unary-op - GOTO 122
197
-----
mul-expr -> mul-expr mul-op.unary-expr
NUMBER - SHIFT 50
IDENT - SHIFT 51
LPAREN - SHIFT 52
PLUS - SHIFT 4
MINUS - SHIFT 5
unary-expr - GOTO 242
unary-op - GOTO 54
198
-----
unary-expr -> unary-op unary-expr. (18)
RPAREN - REDUCE 18 assign-expr
ASSIGN - REDUCE 18 or-expr
OR - REDUCE 18 or-expr
AND - REDUCE 18 and-expr
EQ - REDUCE 18 eq-expr
NE - REDUCE 18 eq-expr
LSHIFT - REDUCE 18 shift-expr
RSHIFT - REDUCE 18 shift-expr
PLUS - REDUCE 18 add-expr
MINUS - REDUCE 18 add-expr
TIMES - REDUCE 18 mul-expr
DIVIDE - REDUCE 18 mul-expr
* - REDUCE 18 rel-expr
199
-----
primary-expr -> LPAREN expr RPAREN. (22)
EOT - REDUCE 22 assign-expr
ASSIGN - REDUCE 22 or-expr
OR - REDUCE 22 or-expr
AND - REDUCE 22 and-expr
EQ - REDUCE 22 eq-expr
NE - REDUCE 22 eq-expr
LSHIFT - REDUCE 22 shift-expr
RSHIFT - REDUCE 22 shift-expr
PLUS - REDUCE 22 add-expr
MINUS - REDUCE 22 add-expr
TIMES - REDUCE 22 mul-expr
DIVIDE - REDUCE 22 mul-expr
* - REDUCE 22 rel-expr
200
-----
assign-expr -> or-expr assign-op assign-expr. (2)
* - REDUCE 2 assign-expr
201
-----
or-expr -> or-expr or-op and-expr. (4)
and-expr -> and-expr.and-op eq-expr
EOT - REDUCE 4 assign-expr
AND - SHIFT 31
* - REDUCE 4 or-expr
and-op - GOTO 156
202
-----
and-expr -> and-expr and-op eq-expr. (6)
eq-expr -> eq-expr.eq-op rel-expr
EOT - REDUCE 6 assign-expr
AND - REDUCE 6 and-expr
EQ - SHIFT 33
NE - SHIFT 34
* - REDUCE 6 or-expr
eq-op - GOTO 164
203
-----
eq-expr -> eq-expr eq-op rel-expr. (8)
rel-expr -> rel-expr.rel-op shift-expr
EOT - REDUCE 8 assign-expr
AND - REDUCE 8 and-expr
EQ - REDUCE 8 eq-expr
NE - REDUCE 8 eq-expr
LT - SHIFT 36
GT - SHIFT 37
LE - SHIFT 38
GE - SHIFT 39
* - REDUCE 8 or-expr
rel-op - GOTO 171
204
-----
rel-expr -> rel-expr rel-op shift-expr. (10)
shift-expr -> shift-expr.shift-op add-expr
EOT - REDUCE 10 assign-expr
ASSIGN - REDUCE 10 or-expr
OR - REDUCE 10 or-expr
AND - REDUCE 10 and-expr
EQ - REDUCE 10 eq-expr
NE - REDUCE 10 eq-expr
LSHIFT - SHIFT 41
RSHIFT - SHIFT 42
* - REDUCE 10 rel-expr
shift-op - GOTO 177
205
-----
shift-expr -> shift-expr shift-op add-expr. (12)
add-expr -> add-expr.add-op mul-expr
EOT - REDUCE 12 assign-expr
ASSIGN - REDUCE 12 or-expr
OR - REDUCE 12 or-expr
AND - REDUCE 12 and-expr
EQ - REDUCE 12 eq-expr
NE - REDUCE 12 eq-expr
LSHIFT - REDUCE 12 shift-expr
RSHIFT - REDUCE 12 shift-expr
PLUS - SHIFT 44
MINUS - SHIFT 45
* - REDUCE 12 rel-expr
add-op - GOTO 182
206
-----
add-expr -> add-expr add-op mul-expr. (14)
mul-expr -> mul-expr.mul-op unary-expr
EOT - REDUCE 14 assign-expr
ASSIGN - REDUCE 14 or-expr
OR - REDUCE 14 or-expr
AND - REDUCE 14 and-expr
EQ - REDUCE 14 eq-expr
NE - REDUCE 14 eq-expr
LSHIFT - REDUCE 14 shift-expr
RSHIFT - REDUCE 14 shift-expr
PLUS - REDUCE 14 add-expr
MINUS - REDUCE 14 add-expr
TIMES - SHIFT 47
DIVIDE - SHIFT 48
* - REDUCE 14 rel-expr
mul-op - GOTO 186
207
-----
mul-expr -> mul-expr mul-op unary-expr. (16)
EOT - REDUCE 16 assign-expr
ASSIGN - REDUCE 16 or-expr
OR - REDUCE 16 or-expr
AND - REDUCE 16 and-expr
EQ - REDUCE 16 eq-expr
NE - REDUCE 16 eq-expr
LSHIFT - REDUCE 16 shift-expr
RSHIFT - REDUCE 16 shift-expr
PLUS - REDUCE 16 add-expr
MINUS - REDUCE 16 add-expr
TIMES - REDUCE 16 mul-expr
DIVIDE - REDUCE 16 mul-expr
* - REDUCE 16 rel-expr
208
-----
primary-expr -> LPAREN expr RPAREN. (22)
EQ - REDUCE 22 eq-expr
NE - REDUCE 22 eq-expr
LT - REDUCE 22 rel-expr
GT - REDUCE 22 rel-expr
LE - REDUCE 22 rel-expr
GE - REDUCE 22 rel-expr
LSHIFT - REDUCE 22 shift-expr
RSHIFT - REDUCE 22 shift-expr
PLUS - REDUCE 22 add-expr
MINUS - REDUCE 22 add-expr
TIMES - REDUCE 22 mul-expr
DIVIDE - REDUCE 22 mul-expr
* - REDUCE 22 and-expr
209
-----
and-expr -> and-expr and-op eq-expr. (6)
eq-expr -> eq-expr.eq-op rel-expr
EQ - SHIFT 33
NE - SHIFT 34
* - REDUCE 6 and-expr
eq-op - GOTO 164
210
-----
eq-expr -> eq-expr eq-op rel-expr. (8)
rel-expr -> rel-expr.rel-op shift-expr
EQ - REDUCE 8 eq-expr
NE - REDUCE 8 eq-expr
LT - SHIFT 36
GT - SHIFT 37
LE - SHIFT 38
GE - SHIFT 39
* - REDUCE 8 and-expr
rel-op - GOTO 171
211
-----
rel-expr -> rel-expr rel-op shift-expr. (10)
shift-expr -> shift-expr.shift-op add-expr
EQ - REDUCE 10 eq-expr
NE - REDUCE 10 eq-expr
LT - REDUCE 10 rel-expr
GT - REDUCE 10 rel-expr
LE - REDUCE 10 rel-expr
GE - REDUCE 10 rel-expr
LSHIFT - SHIFT 41
RSHIFT - SHIFT 42
* - REDUCE 10 and-expr
shift-op - GOTO 177
212
-----
shift-expr -> shift-expr shift-op add-expr. (12)
add-expr -> add-expr.add-op mul-expr
EQ - REDUCE 12 eq-expr
NE - REDUCE 12 eq-expr
LT - REDUCE 12 rel-expr
GT - REDUCE 12 rel-expr
LE - REDUCE 12 rel-expr
GE - REDUCE 12 rel-expr
LSHIFT - REDUCE 12 shift-expr
RSHIFT - REDUCE 12 shift-expr
PLUS - SHIFT 44
MINUS - SHIFT 45
* - REDUCE 12 and-expr
add-op - GOTO 182
213
-----
add-expr -> add-expr add-op mul-expr. (14)
mul-expr -> mul-expr.mul-op unary-expr
EQ - REDUCE 14 eq-expr
NE - REDUCE 14 eq-expr
LT - REDUCE 14 rel-expr
GT - REDUCE 14 rel-expr
LE - REDUCE 14 rel-expr
GE - REDUCE 14 rel-expr
LSHIFT - REDUCE 14 shift-expr
RSHIFT - REDUCE 14 shift-expr
PLUS - REDUCE 14 add-expr
MINUS - REDUCE 14 add-expr
TIMES - SHIFT 47
DIVIDE - SHIFT 48
* - REDUCE 14 and-expr
mul-op - GOTO 186
214
-----
mul-expr -> mul-expr mul-op unary-expr. (16)
EQ - REDUCE 16 eq-expr
NE - REDUCE 16 eq-expr
LT - REDUCE 16 rel-expr
GT - REDUCE 16 rel-expr
LE - REDUCE 16 rel-expr
GE - REDUCE 16 rel-expr
LSHIFT - REDUCE 16 shift-expr
RSHIFT - REDUCE 16 shift-expr
PLUS - REDUCE 16 add-expr
MINUS - REDUCE 16 add-expr
TIMES - REDUCE 16 mul-expr
DIVIDE - REDUCE 16 mul-expr
* - REDUCE 16 and-expr
215
-----
primary-expr -> LPAREN expr RPAREN. (22)
LT - REDUCE 22 rel-expr
GT - REDUCE 22 rel-expr
LE - REDUCE 22 rel-expr
GE - REDUCE 22 rel-expr
LSHIFT - REDUCE 22 shift-expr
RSHIFT - REDUCE 22 shift-expr
PLUS - REDUCE 22 add-expr
MINUS - REDUCE 22 add-expr
TIMES - REDUCE 22 mul-expr
DIVIDE - REDUCE 22 mul-expr
* - REDUCE 22 eq-expr
216
-----
eq-expr -> eq-expr eq-op rel-expr. (8)
rel-expr -> rel-expr.rel-op shift-expr
LT - SHIFT 36
GT - SHIFT 37
LE - SHIFT 38
GE - SHIFT 39
* - REDUCE 8 eq-expr
rel-op - GOTO 171
217
-----
rel-expr -> rel-expr rel-op shift-expr. (10)
shift-expr -> shift-expr.shift-op add-expr
LT - REDUCE 10 rel-expr
GT - REDUCE 10 rel-expr
LE - REDUCE 10 rel-expr
GE - REDUCE 10 rel-expr
LSHIFT - SHIFT 41
RSHIFT - SHIFT 42
* - REDUCE 10 eq-expr
shift-op - GOTO 177
218
-----
shift-expr -> shift-expr shift-op add-expr. (12)
add-expr -> add-expr.add-op mul-expr
LT - REDUCE 12 rel-expr
GT - REDUCE 12 rel-expr
LE - REDUCE 12 rel-expr
GE - REDUCE 12 rel-expr
LSHIFT - REDUCE 12 shift-expr
RSHIFT - REDUCE 12 shift-expr
PLUS - SHIFT 44
MINUS - SHIFT 45
* - REDUCE 12 eq-expr
add-op - GOTO 182
219
-----
add-expr -> add-expr add-op mul-expr. (14)
mul-expr -> mul-expr.mul-op unary-expr
LT - REDUCE 14 rel-expr
GT - REDUCE 14 rel-expr
LE - REDUCE 14 rel-expr
GE - REDUCE 14 rel-expr
LSHIFT - REDUCE 14 shift-expr
RSHIFT - REDUCE 14 shift-expr
PLUS - REDUCE 14 add-expr
MINUS - REDUCE 14 add-expr
TIMES - SHIFT 47
DIVIDE - SHIFT 48
* - REDUCE 14 eq-expr
mul-op - GOTO 186
220
-----
mul-expr -> mul-expr mul-op unary-expr. (16)
LT - REDUCE 16 rel-expr
GT - REDUCE 16 rel-expr
LE - REDUCE 16 rel-expr
GE - REDUCE 16 rel-expr
LSHIFT - REDUCE 16 shift-expr
RSHIFT - REDUCE 16 shift-expr
PLUS - REDUCE 16 add-expr
MINUS - REDUCE 16 add-expr
TIMES - REDUCE 16 mul-expr
DIVIDE - REDUCE 16 mul-expr
* - REDUCE 16 eq-expr
221
-----
primary-expr -> LPAREN expr RPAREN. (22)
LSHIFT - REDUCE 22 shift-expr
RSHIFT - REDUCE 22 shift-expr
PLUS - REDUCE 22 add-expr
MINUS - REDUCE 22 add-expr
TIMES - REDUCE 22 mul-expr
DIVIDE - REDUCE 22 mul-expr
* - REDUCE 22 rel-expr
222
-----
rel-expr -> rel-expr rel-op shift-expr. (10)
shift-expr -> shift-expr.shift-op add-expr
LSHIFT - SHIFT 41
RSHIFT - SHIFT 42
* - REDUCE 10 rel-expr
shift-op - GOTO 177
223
-----
shift-expr -> shift-expr shift-op add-expr. (12)
add-expr -> add-expr.add-op mul-expr
LSHIFT - REDUCE 12 shift-expr
RSHIFT - REDUCE 12 shift-expr
PLUS - SHIFT 44
MINUS - SHIFT 45
* - REDUCE 12 rel-expr
add-op - GOTO 182
224
-----
add-expr -> add-expr add-op mul-expr. (14)
mul-expr -> mul-expr.mul-op unary-expr
LSHIFT - REDUCE 14 shift-expr
RSHIFT - REDUCE 14 shift-expr
PLUS - REDUCE 14 add-expr
MINUS - REDUCE 14 add-expr
TIMES - SHIFT 47
DIVIDE - SHIFT 48
* - REDUCE 14 rel-expr
mul-op - GOTO 186
225
-----
mul-expr -> mul-expr mul-op unary-expr. (16)
LSHIFT - REDUCE 16 shift-expr
RSHIFT - REDUCE 16 shift-expr
PLUS - REDUCE 16 add-expr
MINUS - REDUCE 16 add-expr
TIMES - REDUCE 16 mul-expr
DIVIDE - REDUCE 16 mul-expr
* - REDUCE 16 rel-expr
226
-----
primary-expr -> LPAREN expr RPAREN. (22)
PLUS - REDUCE 22 add-expr
MINUS - REDUCE 22 add-expr
TIMES - REDUCE 22 mul-expr
DIVIDE - REDUCE 22 mul-expr
* - REDUCE 22 shift-expr
227
-----
shift-expr -> shift-expr shift-op add-expr. (12)
add-expr -> add-expr.add-op mul-expr
PLUS - SHIFT 44
MINUS - SHIFT 45
* - REDUCE 12 shift-expr
add-op - GOTO 182
228
-----
add-expr -> add-expr add-op mul-expr. (14)
mul-expr -> mul-expr.mul-op unary-expr
PLUS - REDUCE 14 add-expr
MINUS - REDUCE 14 add-expr
TIMES - SHIFT 47
DIVIDE - SHIFT 48
* - REDUCE 14 shift-expr
mul-op - GOTO 186
229
-----
mul-expr -> mul-expr mul-op unary-expr. (16)
PLUS - REDUCE 16 add-expr
MINUS - REDUCE 16 add-expr
TIMES - REDUCE 16 mul-expr
DIVIDE - REDUCE 16 mul-expr
* - REDUCE 16 shift-expr
230
-----
primary-expr -> LPAREN expr RPAREN. (22)
TIMES - REDUCE 22 mul-expr
DIVIDE - REDUCE 22 mul-expr
* - REDUCE 22 add-expr
231
-----
add-expr -> add-expr add-op mul-expr. (14)
mul-expr -> mul-expr.mul-op unary-expr
TIMES - SHIFT 47
DIVIDE - SHIFT 48
* - REDUCE 14 add-expr
mul-op - GOTO 186
232
-----
mul-expr -> mul-expr mul-op unary-expr. (16)
TIMES - REDUCE 16 mul-expr
DIVIDE - REDUCE 16 mul-expr
* - REDUCE 16 add-expr
233
-----
primary-expr -> LPAREN expr RPAREN. (22)
* - REDUCE 22 mul-expr
234
-----
mul-expr -> mul-expr mul-op unary-expr. (16)
* - REDUCE 16 mul-expr
235
-----
primary-expr -> LPAREN expr RPAREN. (22)
RPAREN - REDUCE 22 assign-expr
ASSIGN - REDUCE 22 or-expr
OR - REDUCE 22 or-expr
AND - REDUCE 22 and-expr
EQ - REDUCE 22 eq-expr
NE - REDUCE 22 eq-expr
LSHIFT - REDUCE 22 shift-expr
RSHIFT - REDUCE 22 shift-expr
PLUS - REDUCE 22 add-expr
MINUS - REDUCE 22 add-expr
TIMES - REDUCE 22 mul-expr
DIVIDE - REDUCE 22 mul-expr
* - REDUCE 22 rel-expr
236
-----
or-expr -> or-expr or-op and-expr. (4)
and-expr -> and-expr.and-op eq-expr
RPAREN - REDUCE 4 assign-expr
AND - SHIFT 31
* - REDUCE 4 or-expr
and-op - GOTO 156
237
-----
and-expr -> and-expr and-op eq-expr. (6)
eq-expr -> eq-expr.eq-op rel-expr
RPAREN - REDUCE 6 assign-expr
AND - REDUCE 6 and-expr
EQ - SHIFT 33
NE - SHIFT 34
* - REDUCE 6 or-expr
eq-op - GOTO 164
238
-----
eq-expr -> eq-expr eq-op rel-expr. (8)
rel-expr -> rel-expr.rel-op shift-expr
RPAREN - REDUCE 8 assign-expr
AND - REDUCE 8 and-expr
EQ - REDUCE 8 eq-expr
NE - REDUCE 8 eq-expr
LT - SHIFT 36
GT - SHIFT 37
LE - SHIFT 38
GE - SHIFT 39
* - REDUCE 8 or-expr
rel-op - GOTO 171
239
-----
rel-expr -> rel-expr rel-op shift-expr. (10)
shift-expr -> shift-expr.shift-op add-expr
RPAREN - REDUCE 10 assign-expr
ASSIGN - REDUCE 10 or-expr
OR - REDUCE 10 or-expr
AND - REDUCE 10 and-expr
EQ - REDUCE 10 eq-expr
NE - REDUCE 10 eq-expr
LSHIFT - SHIFT 41
RSHIFT - SHIFT 42
* - REDUCE 10 rel-expr
shift-op - GOTO 177
240
-----
shift-expr -> shift-expr shift-op add-expr. (12)
add-expr -> add-expr.add-op mul-expr
RPAREN - REDUCE 12 assign-expr
ASSIGN - REDUCE 12 or-expr
OR - REDUCE 12 or-expr
AND - REDUCE 12 and-expr
EQ - REDUCE 12 eq-expr
NE - REDUCE 12 eq-expr
LSHIFT - REDUCE 12 shift-expr
RSHIFT - REDUCE 12 shift-expr
PLUS - SHIFT 44
MINUS - SHIFT 45
* - REDUCE 12 rel-expr
add-op - GOTO 182
241
-----
add-expr -> add-expr add-op mul-expr. (14)
mul-expr -> mul-expr.mul-op unary-expr
RPAREN - REDUCE 14 assign-expr
ASSIGN - REDUCE 14 or-expr
OR - REDUCE 14 or-expr
AND - REDUCE 14 and-expr
EQ - REDUCE 14 eq-expr
NE - REDUCE 14 eq-expr
LSHIFT - REDUCE 14 shift-expr
RSHIFT - REDUCE 14 shift-expr
PLUS - REDUCE 14 add-expr
MINUS - REDUCE 14 add-expr
TIMES - SHIFT 47
DIVIDE - SHIFT 48
* - REDUCE 14 rel-expr
mul-op - GOTO 186
242
-----
mul-expr -> mul-expr mul-op unary-expr. (16)
RPAREN - REDUCE 16 assign-expr
ASSIGN - REDUCE 16 or-expr
OR - REDUCE 16 or-expr
AND - REDUCE 16 and-expr
EQ - REDUCE 16 eq-expr
NE - REDUCE 16 eq-expr
LSHIFT - REDUCE 16 shift-expr
RSHIFT - REDUCE 16 shift-expr
PLUS - REDUCE 16 add-expr
MINUS - REDUCE 16 add-expr
TIMES - REDUCE 16 mul-expr
DIVIDE - REDUCE 16 mul-expr
* - REDUCE 16 rel-expr
[back]