dhaka 2.1.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/evaluator/evaluator.rb +18 -17
- data/lib/grammar/grammar.rb +4 -5
- data/lib/lexer/dfa.rb +63 -13
- data/lib/lexer/lexeme.rb +3 -4
- data/lib/lexer/lexer.rb +12 -3
- data/lib/lexer/lexer_run.rb +22 -10
- data/lib/lexer/regex_grammar.rb +88 -14
- data/lib/lexer/regex_parser.rb +1523 -1401
- data/lib/lexer/specification.rb +29 -3
- data/lib/lexer/state.rb +32 -9
- data/lib/lexer/state_machine.rb +2 -2
- data/lib/parser/channel.rb +4 -4
- data/lib/parser/parser.rb +17 -12
- data/lib/parser/parser_state.rb +3 -1
- data/test/chittagong/chittagong_lexer.rb +63 -63
- data/test/chittagong/chittagong_lexer.rb.rej +189 -0
- data/test/chittagong/chittagong_lexer_specification.rb +6 -8
- data/test/chittagong/chittagong_parser.rb +659 -659
- data/test/chittagong/chittagong_parser.rb.rej +1623 -0
- data/test/{another_lalr_but_not_slr_grammar.rb → core/another_lalr_but_not_slr_grammar.rb} +1 -1
- data/test/{compiled_parser_test.rb → core/compiled_parser_test.rb} +1 -1
- data/test/core/dfa_test.rb +170 -0
- data/test/{evaluator_test.rb → core/evaluator_test.rb} +3 -3
- data/test/{grammar_test.rb → core/grammar_test.rb} +3 -3
- data/test/{lalr_but_not_slr_grammar.rb → core/lalr_but_not_slr_grammar.rb} +0 -0
- data/test/core/lexer_test.rb +139 -0
- data/test/{malformed_grammar.rb → core/malformed_grammar.rb} +0 -0
- data/test/{malformed_grammar_test.rb → core/malformed_grammar_test.rb} +1 -1
- data/test/{nullable_grammar.rb → core/nullable_grammar.rb} +0 -0
- data/test/{parse_result_test.rb → core/parse_result_test.rb} +1 -1
- data/test/{parser_state_test.rb → core/parser_state_test.rb} +1 -1
- data/test/{parser_test.rb → core/parser_test.rb} +2 -2
- data/test/{precedence_grammar.rb → core/precedence_grammar.rb} +0 -0
- data/test/{precedence_grammar_test.rb → core/precedence_grammar_test.rb} +1 -1
- data/test/{rr_conflict_grammar.rb → core/rr_conflict_grammar.rb} +0 -0
- data/test/{simple_grammar.rb → core/simple_grammar.rb} +0 -0
- data/test/{sr_conflict_grammar.rb → core/sr_conflict_grammar.rb} +0 -0
- metadata +25 -22
- data/test/lexer_test.rb +0 -215
@@ -1,19 +1,17 @@
|
|
1
1
|
# lipi:lexer_spec
|
2
2
|
class ChittagongLexerSpecification < Dhaka::LexerSpecification
|
3
3
|
KEYWORDS = %w| print if else end while def return |
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
create_token(chars)
|
8
|
-
end
|
4
|
+
|
5
|
+
for_pattern('==') do
|
6
|
+
create_token('==')
|
9
7
|
end
|
10
8
|
|
11
|
-
%w| + * ( ) / ^ |.each do |char|
|
12
|
-
|
9
|
+
%w| = - ! > < , + * ( ) / ^ |.each do |char|
|
10
|
+
for_symbol(char) do
|
13
11
|
create_token(char)
|
14
12
|
end
|
15
13
|
end
|
16
|
-
|
14
|
+
|
17
15
|
for_pattern("\n") do
|
18
16
|
create_token('newline')
|
19
17
|
end
|
@@ -4,876 +4,876 @@ class ChittagongParser < Dhaka::CompiledParser
|
|
4
4
|
|
5
5
|
start_with 0
|
6
6
|
|
7
|
-
at_state(
|
7
|
+
at_state(105) {
|
8
8
|
for_symbols("_End_") { reduce_with "program" }
|
9
9
|
}
|
10
10
|
|
11
|
-
at_state(
|
12
|
-
for_symbols("
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
for_symbols("
|
17
|
-
for_symbols("
|
18
|
-
for_symbols("
|
19
|
-
for_symbols("
|
20
|
-
for_symbols("
|
21
|
-
for_symbols("
|
22
|
-
for_symbols("
|
23
|
-
for_symbols("
|
24
|
-
for_symbols("terms") { shift_to 88 }
|
25
|
-
for_symbols("+") { shift_to 12 }
|
11
|
+
at_state(67) {
|
12
|
+
for_symbols("else") { shift_to 69 }
|
13
|
+
for_symbols("end") { shift_to 68 }
|
14
|
+
for_symbols("while") { shift_to 75 }
|
15
|
+
for_symbols("if") { shift_to 52 }
|
16
|
+
for_symbols("newline") { shift_to 2 }
|
17
|
+
for_symbols("var_name") { shift_to 61 }
|
18
|
+
for_symbols("print") { shift_to 5 }
|
19
|
+
for_symbols("word_literal") { shift_to 30 }
|
20
|
+
for_symbols("return") { shift_to 59 }
|
21
|
+
for_symbols("function_name") { shift_to 55 }
|
22
|
+
for_symbols("simple_statement") { shift_to 64 }
|
23
|
+
for_symbols("function_body_statement") { shift_to 74 }
|
26
24
|
}
|
27
25
|
|
28
|
-
at_state(
|
29
|
-
for_symbols("
|
30
|
-
for_symbols("
|
31
|
-
for_symbols("
|
32
|
-
for_symbols("
|
33
|
-
for_symbols("
|
34
|
-
for_symbols("
|
35
|
-
for_symbols("
|
36
|
-
for_symbols("
|
37
|
-
for_symbols("
|
38
|
-
for_symbols("
|
39
|
-
for_symbols("function_body_statement") { shift_to
|
26
|
+
at_state(54) {
|
27
|
+
for_symbols("while") { shift_to 75 }
|
28
|
+
for_symbols("if") { shift_to 52 }
|
29
|
+
for_symbols("newline") { shift_to 2 }
|
30
|
+
for_symbols("var_name") { shift_to 61 }
|
31
|
+
for_symbols("print") { shift_to 5 }
|
32
|
+
for_symbols("word_literal") { shift_to 30 }
|
33
|
+
for_symbols("function_body") { shift_to 66 }
|
34
|
+
for_symbols("return") { shift_to 59 }
|
35
|
+
for_symbols("function_name") { shift_to 55 }
|
36
|
+
for_symbols("simple_statement") { shift_to 64 }
|
37
|
+
for_symbols("function_body_statement") { shift_to 65 }
|
40
38
|
}
|
41
39
|
|
42
|
-
at_state(
|
43
|
-
for_symbols("(") { shift_to
|
40
|
+
at_state(55) {
|
41
|
+
for_symbols("(") { shift_to 56 }
|
44
42
|
}
|
45
43
|
|
46
|
-
at_state(
|
47
|
-
for_symbols("
|
44
|
+
at_state(8) {
|
45
|
+
for_symbols("(") { shift_to 9 }
|
48
46
|
}
|
49
47
|
|
50
|
-
at_state(
|
51
|
-
for_symbols("
|
52
|
-
for_symbols("
|
53
|
-
for_symbols("numeric_literal") { shift_to
|
54
|
-
for_symbols("
|
55
|
-
for_symbols("
|
56
|
-
for_symbols("
|
57
|
-
for_symbols("
|
58
|
-
for_symbols("
|
48
|
+
at_state(40) {
|
49
|
+
for_symbols("-") { shift_to 7 }
|
50
|
+
for_symbols("!") { shift_to 34 }
|
51
|
+
for_symbols("numeric_literal") { shift_to 6 }
|
52
|
+
for_symbols("(") { shift_to 31 }
|
53
|
+
for_symbols("word_literal") { shift_to 30 }
|
54
|
+
for_symbols("var_name") { shift_to 29 }
|
55
|
+
for_symbols("function_name") { shift_to 8 }
|
56
|
+
for_symbols("expression") { shift_to 41 }
|
59
57
|
}
|
60
58
|
|
61
|
-
at_state(
|
62
|
-
for_symbols("
|
63
|
-
for_symbols("
|
64
|
-
for_symbols("
|
65
|
-
for_symbols("
|
66
|
-
for_symbols("
|
67
|
-
for_symbols("
|
68
|
-
for_symbols("
|
69
|
-
for_symbols("
|
59
|
+
at_state(12) {
|
60
|
+
for_symbols("==") { shift_to 27 }
|
61
|
+
for_symbols("*") { shift_to 15 }
|
62
|
+
for_symbols(",", ")") { reduce_with "multiple_args" }
|
63
|
+
for_symbols("<") { shift_to 25 }
|
64
|
+
for_symbols("/") { shift_to 13 }
|
65
|
+
for_symbols(">") { shift_to 23 }
|
66
|
+
for_symbols("^") { shift_to 19 }
|
67
|
+
for_symbols("+") { shift_to 21 }
|
68
|
+
for_symbols("-") { shift_to 17 }
|
70
69
|
}
|
71
70
|
|
72
|
-
at_state(
|
73
|
-
for_symbols("
|
74
|
-
for_symbols("
|
75
|
-
for_symbols("
|
76
|
-
for_symbols("
|
77
|
-
for_symbols("
|
78
|
-
for_symbols("
|
79
|
-
for_symbols("
|
80
|
-
for_symbols("
|
71
|
+
at_state(99) {
|
72
|
+
for_symbols("while") { shift_to 88 }
|
73
|
+
for_symbols("newline") { shift_to 2 }
|
74
|
+
for_symbols("var_name") { shift_to 61 }
|
75
|
+
for_symbols("print") { shift_to 5 }
|
76
|
+
for_symbols("main_body") { shift_to 100 }
|
77
|
+
for_symbols("word_literal") { shift_to 30 }
|
78
|
+
for_symbols("if") { shift_to 40 }
|
79
|
+
for_symbols("main_body_statement") { shift_to 87 }
|
80
|
+
for_symbols("def") { shift_to 43 }
|
81
|
+
for_symbols("function_name") { shift_to 55 }
|
82
|
+
for_symbols("simple_statement") { shift_to 86 }
|
81
83
|
}
|
82
84
|
|
83
|
-
at_state(
|
84
|
-
for_symbols("
|
85
|
-
for_symbols("
|
86
|
-
for_symbols("
|
87
|
-
for_symbols("
|
85
|
+
at_state(75) {
|
86
|
+
for_symbols("-") { shift_to 7 }
|
87
|
+
for_symbols("!") { shift_to 34 }
|
88
|
+
for_symbols("numeric_literal") { shift_to 6 }
|
89
|
+
for_symbols("(") { shift_to 31 }
|
90
|
+
for_symbols("expression") { shift_to 76 }
|
91
|
+
for_symbols("word_literal") { shift_to 30 }
|
92
|
+
for_symbols("var_name") { shift_to 29 }
|
93
|
+
for_symbols("function_name") { shift_to 8 }
|
88
94
|
}
|
89
95
|
|
90
|
-
at_state(
|
91
|
-
for_symbols("
|
96
|
+
at_state(31) {
|
97
|
+
for_symbols("-") { shift_to 7 }
|
98
|
+
for_symbols("!") { shift_to 34 }
|
99
|
+
for_symbols("numeric_literal") { shift_to 6 }
|
100
|
+
for_symbols("(") { shift_to 31 }
|
101
|
+
for_symbols("expression") { shift_to 32 }
|
102
|
+
for_symbols("word_literal") { shift_to 30 }
|
103
|
+
for_symbols("var_name") { shift_to 29 }
|
104
|
+
for_symbols("function_name") { shift_to 8 }
|
92
105
|
}
|
93
106
|
|
94
|
-
at_state(
|
95
|
-
for_symbols("
|
96
|
-
for_symbols("
|
97
|
-
for_symbols("
|
98
|
-
for_symbols("
|
99
|
-
for_symbols("
|
100
|
-
for_symbols("
|
101
|
-
for_symbols("end") { shift_to 83 }
|
102
|
-
for_symbols("if") { shift_to 49 }
|
103
|
-
for_symbols("print") { shift_to 70 }
|
104
|
-
for_symbols("simple_statement") { shift_to 52 }
|
105
|
-
for_symbols("word_literal") { shift_to 27 }
|
107
|
+
at_state(26) {
|
108
|
+
for_symbols("*") { shift_to 15 }
|
109
|
+
for_symbols("/") { shift_to 13 }
|
110
|
+
for_symbols("==", ",", "_End_", "newline", ")") { reduce_with "less_than_comparison" }
|
111
|
+
for_symbols("^") { shift_to 19 }
|
112
|
+
for_symbols("+") { shift_to 21 }
|
113
|
+
for_symbols("-") { shift_to 17 }
|
106
114
|
}
|
107
115
|
|
108
|
-
at_state(
|
109
|
-
for_symbols("
|
110
|
-
for_symbols("
|
111
|
-
for_symbols("numeric_literal") { shift_to 26 }
|
112
|
-
for_symbols("var_name") { shift_to 8 }
|
113
|
-
for_symbols("function_name") { shift_to 6 }
|
114
|
-
for_symbols("expression") { shift_to 23 }
|
115
|
-
for_symbols("!") { shift_to 4 }
|
116
|
-
for_symbols("word_literal") { shift_to 27 }
|
116
|
+
at_state(43) {
|
117
|
+
for_symbols("word_literal") { shift_to 85 }
|
118
|
+
for_symbols("function_name") { shift_to 44 }
|
117
119
|
}
|
118
120
|
|
119
|
-
at_state(
|
120
|
-
for_symbols("
|
121
|
-
for_symbols("
|
121
|
+
at_state(28) {
|
122
|
+
for_symbols("*") { shift_to 15 }
|
123
|
+
for_symbols(",", "_End_", "newline", ")") { reduce_with "equality_comparison" }
|
124
|
+
for_symbols("<") { shift_to 25 }
|
125
|
+
for_symbols("/") { shift_to 13 }
|
126
|
+
for_symbols(">") { shift_to 23 }
|
127
|
+
for_symbols("^") { shift_to 19 }
|
128
|
+
for_symbols("+") { shift_to 21 }
|
129
|
+
for_symbols("-") { shift_to 17 }
|
122
130
|
}
|
123
131
|
|
124
|
-
at_state(
|
125
|
-
for_symbols("_End_", "newline") { reduce_with "
|
132
|
+
at_state(6) {
|
133
|
+
for_symbols("==", "+", ",", "-", "/", "<", "_End_", ">", "^", "newline", ")", "*") { reduce_with "literal" }
|
126
134
|
}
|
127
135
|
|
128
|
-
at_state(
|
129
|
-
for_symbols("
|
130
|
-
for_symbols("
|
136
|
+
at_state(32) {
|
137
|
+
for_symbols("==") { shift_to 27 }
|
138
|
+
for_symbols("*") { shift_to 15 }
|
139
|
+
for_symbols("<") { shift_to 25 }
|
140
|
+
for_symbols("/") { shift_to 13 }
|
141
|
+
for_symbols(">") { shift_to 23 }
|
142
|
+
for_symbols(")") { shift_to 33 }
|
143
|
+
for_symbols("^") { shift_to 19 }
|
144
|
+
for_symbols("+") { shift_to 21 }
|
145
|
+
for_symbols("-") { shift_to 17 }
|
131
146
|
}
|
132
147
|
|
133
|
-
at_state(
|
134
|
-
for_symbols("
|
135
|
-
for_symbols("
|
148
|
+
at_state(101) {
|
149
|
+
for_symbols("while") { shift_to 88 }
|
150
|
+
for_symbols("newline") { shift_to 2 }
|
151
|
+
for_symbols("var_name") { shift_to 61 }
|
152
|
+
for_symbols("print") { shift_to 5 }
|
153
|
+
for_symbols("main_body_statement") { shift_to 94 }
|
154
|
+
for_symbols("word_literal") { shift_to 30 }
|
155
|
+
for_symbols("if") { shift_to 40 }
|
156
|
+
for_symbols("end") { shift_to 102 }
|
157
|
+
for_symbols("def") { shift_to 43 }
|
158
|
+
for_symbols("function_name") { shift_to 55 }
|
159
|
+
for_symbols("simple_statement") { shift_to 86 }
|
136
160
|
}
|
137
161
|
|
138
|
-
at_state(
|
139
|
-
for_symbols("
|
162
|
+
at_state(88) {
|
163
|
+
for_symbols("-") { shift_to 7 }
|
164
|
+
for_symbols("!") { shift_to 34 }
|
165
|
+
for_symbols("numeric_literal") { shift_to 6 }
|
166
|
+
for_symbols("(") { shift_to 31 }
|
167
|
+
for_symbols("word_literal") { shift_to 30 }
|
168
|
+
for_symbols("var_name") { shift_to 29 }
|
169
|
+
for_symbols("expression") { shift_to 89 }
|
170
|
+
for_symbols("function_name") { shift_to 8 }
|
140
171
|
}
|
141
172
|
|
142
|
-
at_state(
|
143
|
-
for_symbols("
|
144
|
-
for_symbols("
|
145
|
-
for_symbols("
|
146
|
-
for_symbols("
|
147
|
-
for_symbols("
|
148
|
-
for_symbols("
|
149
|
-
for_symbols("
|
150
|
-
for_symbols("
|
151
|
-
for_symbols("
|
152
|
-
for_symbols("
|
173
|
+
at_state(41) {
|
174
|
+
for_symbols("==") { shift_to 27 }
|
175
|
+
for_symbols("*") { shift_to 15 }
|
176
|
+
for_symbols("terms") { shift_to 42 }
|
177
|
+
for_symbols("<") { shift_to 25 }
|
178
|
+
for_symbols("/") { shift_to 13 }
|
179
|
+
for_symbols(">") { shift_to 23 }
|
180
|
+
for_symbols("newline") { shift_to 3 }
|
181
|
+
for_symbols("^") { shift_to 19 }
|
182
|
+
for_symbols("+") { shift_to 21 }
|
183
|
+
for_symbols("-") { shift_to 17 }
|
153
184
|
}
|
154
185
|
|
155
|
-
at_state(
|
156
|
-
for_symbols("
|
157
|
-
for_symbols("
|
158
|
-
for_symbols("
|
159
|
-
for_symbols("
|
160
|
-
for_symbols("
|
161
|
-
for_symbols("
|
186
|
+
at_state(27) {
|
187
|
+
for_symbols("-") { shift_to 7 }
|
188
|
+
for_symbols("!") { shift_to 34 }
|
189
|
+
for_symbols("numeric_literal") { shift_to 6 }
|
190
|
+
for_symbols("(") { shift_to 31 }
|
191
|
+
for_symbols("expression") { shift_to 28 }
|
192
|
+
for_symbols("word_literal") { shift_to 30 }
|
193
|
+
for_symbols("var_name") { shift_to 29 }
|
194
|
+
for_symbols("function_name") { shift_to 8 }
|
162
195
|
}
|
163
196
|
|
164
|
-
at_state(
|
165
|
-
for_symbols("
|
197
|
+
at_state(9) {
|
198
|
+
for_symbols("-") { shift_to 7 }
|
199
|
+
for_symbols("!") { shift_to 34 }
|
200
|
+
for_symbols(",", ")") { reduce_with "no_args" }
|
201
|
+
for_symbols("numeric_literal") { shift_to 6 }
|
202
|
+
for_symbols("(") { shift_to 31 }
|
203
|
+
for_symbols("word_literal") { shift_to 30 }
|
204
|
+
for_symbols("var_name") { shift_to 29 }
|
205
|
+
for_symbols("function_name") { shift_to 8 }
|
206
|
+
for_symbols("expression") { shift_to 37 }
|
207
|
+
for_symbols("arg_list") { shift_to 10 }
|
166
208
|
}
|
167
209
|
|
168
|
-
at_state(
|
169
|
-
for_symbols("==") { shift_to
|
170
|
-
for_symbols("
|
171
|
-
for_symbols("
|
172
|
-
for_symbols("
|
173
|
-
for_symbols("
|
174
|
-
for_symbols("
|
175
|
-
for_symbols("
|
176
|
-
for_symbols("
|
177
|
-
for_symbols("
|
178
|
-
for_symbols("+") { shift_to 12 }
|
210
|
+
at_state(60) {
|
211
|
+
for_symbols("==") { shift_to 27 }
|
212
|
+
for_symbols("*") { shift_to 15 }
|
213
|
+
for_symbols("<") { shift_to 25 }
|
214
|
+
for_symbols("/") { shift_to 13 }
|
215
|
+
for_symbols("newline") { reduce_with "return_statement" }
|
216
|
+
for_symbols(">") { shift_to 23 }
|
217
|
+
for_symbols("^") { shift_to 19 }
|
218
|
+
for_symbols("+") { shift_to 21 }
|
219
|
+
for_symbols("-") { shift_to 17 }
|
179
220
|
}
|
180
221
|
|
181
|
-
at_state(
|
182
|
-
for_symbols("
|
183
|
-
for_symbols(">") { shift_to 10 }
|
184
|
-
for_symbols("/") { shift_to 18 }
|
185
|
-
for_symbols("newline") { shift_to 1 }
|
186
|
-
for_symbols("^") { shift_to 20 }
|
187
|
-
for_symbols("*") { shift_to 24 }
|
188
|
-
for_symbols("-") { shift_to 16 }
|
189
|
-
for_symbols("<") { shift_to 14 }
|
190
|
-
for_symbols("terms") { shift_to 38 }
|
191
|
-
for_symbols("+") { shift_to 12 }
|
222
|
+
at_state(73) {
|
223
|
+
for_symbols("newline") { reduce_with "function_body_if_else_statement" }
|
192
224
|
}
|
193
225
|
|
194
|
-
at_state(
|
195
|
-
for_symbols("
|
196
|
-
for_symbols("
|
197
|
-
for_symbols("
|
198
|
-
for_symbols("
|
199
|
-
for_symbols("
|
200
|
-
for_symbols("
|
201
|
-
for_symbols("if") { shift_to 3 }
|
202
|
-
for_symbols("print") { shift_to 70 }
|
203
|
-
for_symbols("simple_statement") { shift_to 39 }
|
204
|
-
for_symbols("main_body") { shift_to 94 }
|
205
|
-
for_symbols("word_literal") { shift_to 27 }
|
226
|
+
at_state(24) {
|
227
|
+
for_symbols("*") { shift_to 15 }
|
228
|
+
for_symbols("==", ",", "_End_", "newline", ")") { reduce_with "greater_than_comparison" }
|
229
|
+
for_symbols("/") { shift_to 13 }
|
230
|
+
for_symbols("^") { shift_to 19 }
|
231
|
+
for_symbols("+") { shift_to 21 }
|
232
|
+
for_symbols("-") { shift_to 17 }
|
206
233
|
}
|
207
234
|
|
208
|
-
at_state(
|
209
|
-
for_symbols("
|
235
|
+
at_state(65) {
|
236
|
+
for_symbols("newline") { reduce_with "single_function_body_statement" }
|
210
237
|
}
|
211
238
|
|
212
|
-
at_state(
|
213
|
-
for_symbols("
|
214
|
-
for_symbols("
|
215
|
-
for_symbols("
|
216
|
-
for_symbols("
|
217
|
-
for_symbols("
|
218
|
-
for_symbols("
|
219
|
-
for_symbols("
|
220
|
-
for_symbols("
|
239
|
+
at_state(53) {
|
240
|
+
for_symbols("==") { shift_to 27 }
|
241
|
+
for_symbols("*") { shift_to 15 }
|
242
|
+
for_symbols("<") { shift_to 25 }
|
243
|
+
for_symbols("/") { shift_to 13 }
|
244
|
+
for_symbols(">") { shift_to 23 }
|
245
|
+
for_symbols("terms") { shift_to 54 }
|
246
|
+
for_symbols("newline") { shift_to 3 }
|
247
|
+
for_symbols("^") { shift_to 19 }
|
248
|
+
for_symbols("+") { shift_to 21 }
|
249
|
+
for_symbols("-") { shift_to 17 }
|
221
250
|
}
|
222
251
|
|
223
|
-
at_state(
|
224
|
-
for_symbols("
|
225
|
-
for_symbols("
|
252
|
+
at_state(39) {
|
253
|
+
for_symbols("==") { shift_to 27 }
|
254
|
+
for_symbols("*") { shift_to 15 }
|
255
|
+
for_symbols("<") { shift_to 25 }
|
256
|
+
for_symbols("/") { shift_to 13 }
|
257
|
+
for_symbols(">") { shift_to 23 }
|
258
|
+
for_symbols("^") { shift_to 19 }
|
259
|
+
for_symbols("+") { shift_to 21 }
|
260
|
+
for_symbols("_End_", "newline") { reduce_with "print_statement" }
|
261
|
+
for_symbols("-") { shift_to 17 }
|
226
262
|
}
|
227
263
|
|
228
|
-
at_state(
|
229
|
-
for_symbols("
|
230
|
-
for_symbols("
|
231
|
-
for_symbols("
|
232
|
-
for_symbols("
|
233
|
-
for_symbols("
|
234
|
-
for_symbols("
|
235
|
-
for_symbols("
|
236
|
-
for_symbols("
|
264
|
+
at_state(15) {
|
265
|
+
for_symbols("-") { shift_to 7 }
|
266
|
+
for_symbols("!") { shift_to 34 }
|
267
|
+
for_symbols("numeric_literal") { shift_to 6 }
|
268
|
+
for_symbols("(") { shift_to 31 }
|
269
|
+
for_symbols("word_literal") { shift_to 30 }
|
270
|
+
for_symbols("var_name") { shift_to 29 }
|
271
|
+
for_symbols("function_name") { shift_to 8 }
|
272
|
+
for_symbols("expression") { shift_to 16 }
|
237
273
|
}
|
238
274
|
|
239
|
-
at_state(
|
240
|
-
for_symbols("
|
241
|
-
for_symbols("
|
242
|
-
for_symbols("
|
243
|
-
for_symbols("numeric_literal") { shift_to
|
244
|
-
for_symbols("
|
245
|
-
for_symbols("
|
246
|
-
for_symbols("
|
247
|
-
for_symbols("
|
248
|
-
for_symbols(",", ")") { reduce_with "no_args" }
|
249
|
-
for_symbols("word_literal") { shift_to 27 }
|
275
|
+
at_state(34) {
|
276
|
+
for_symbols("expression") { shift_to 35 }
|
277
|
+
for_symbols("-") { shift_to 7 }
|
278
|
+
for_symbols("!") { shift_to 34 }
|
279
|
+
for_symbols("numeric_literal") { shift_to 6 }
|
280
|
+
for_symbols("(") { shift_to 31 }
|
281
|
+
for_symbols("word_literal") { shift_to 30 }
|
282
|
+
for_symbols("var_name") { shift_to 29 }
|
283
|
+
for_symbols("function_name") { shift_to 8 }
|
250
284
|
}
|
251
285
|
|
252
|
-
at_state(
|
253
|
-
for_symbols("
|
254
|
-
for_symbols("var_name") { shift_to 66 }
|
255
|
-
for_symbols("return") { shift_to 60 }
|
256
|
-
for_symbols("function_body") { shift_to 56 }
|
257
|
-
for_symbols("newline") { shift_to 58 }
|
258
|
-
for_symbols("while") { shift_to 53 }
|
259
|
-
for_symbols("if") { shift_to 49 }
|
260
|
-
for_symbols("print") { shift_to 70 }
|
261
|
-
for_symbols("simple_statement") { shift_to 52 }
|
262
|
-
for_symbols("word_literal") { shift_to 27 }
|
263
|
-
for_symbols("function_body_statement") { shift_to 72 }
|
286
|
+
at_state(48) {
|
287
|
+
for_symbols(",", ")") { reduce_with "arg_declaration" }
|
264
288
|
}
|
265
289
|
|
266
|
-
at_state(
|
267
|
-
for_symbols("
|
268
|
-
for_symbols("
|
269
|
-
for_symbols("/") { shift_to 18 }
|
270
|
-
for_symbols(",", ")") { reduce_with "single_arg" }
|
271
|
-
for_symbols("^") { shift_to 20 }
|
272
|
-
for_symbols("*") { shift_to 24 }
|
273
|
-
for_symbols("-") { shift_to 16 }
|
274
|
-
for_symbols("<") { shift_to 14 }
|
275
|
-
for_symbols("+") { shift_to 12 }
|
290
|
+
at_state(91) {
|
291
|
+
for_symbols("newline") { shift_to 3 }
|
292
|
+
for_symbols("terms") { shift_to 92 }
|
276
293
|
}
|
277
294
|
|
278
|
-
at_state(
|
279
|
-
for_symbols("
|
280
|
-
for_symbols("word_literal", "def", "print", "if", "while") { reduce_with "some_terms" }
|
295
|
+
at_state(84) {
|
296
|
+
for_symbols(",", ")") { reduce_with "single_arg_declaration" }
|
281
297
|
}
|
282
298
|
|
283
299
|
at_state(83) {
|
284
300
|
for_symbols("_End_", "newline") { reduce_with "function_definition" }
|
285
301
|
}
|
286
302
|
|
287
|
-
at_state(
|
288
|
-
for_symbols("
|
289
|
-
for_symbols("^") { shift_to 20 }
|
290
|
-
for_symbols("==", ",", "_End_", ")", "newline") { reduce_with "less_than_comparison" }
|
291
|
-
for_symbols("*") { shift_to 24 }
|
292
|
-
for_symbols("-") { shift_to 16 }
|
293
|
-
for_symbols("+") { shift_to 12 }
|
303
|
+
at_state(68) {
|
304
|
+
for_symbols("newline") { reduce_with "function_body_if_statement" }
|
294
305
|
}
|
295
306
|
|
296
|
-
at_state(
|
297
|
-
for_symbols("
|
298
|
-
for_symbols("-") { shift_to 5 }
|
299
|
-
for_symbols("numeric_literal") { shift_to 26 }
|
300
|
-
for_symbols("var_name") { shift_to 8 }
|
301
|
-
for_symbols("function_name") { shift_to 6 }
|
302
|
-
for_symbols("expression") { shift_to 33 }
|
303
|
-
for_symbols("!") { shift_to 4 }
|
304
|
-
for_symbols("word_literal") { shift_to 27 }
|
307
|
+
at_state(2) {
|
308
|
+
for_symbols("word_literal", "end", "def", "print", "_End_", "else", "if", "newline", "return", "while") { reduce_with "multiple_terms" }
|
305
309
|
}
|
306
310
|
|
307
|
-
at_state(
|
308
|
-
for_symbols("
|
309
|
-
for_symbols("
|
310
|
-
for_symbols("numeric_literal") { shift_to
|
311
|
-
for_symbols("
|
312
|
-
for_symbols("
|
313
|
-
for_symbols("
|
314
|
-
for_symbols("
|
315
|
-
for_symbols("
|
316
|
-
for_symbols(",", ")") { reduce_with "no_args" }
|
317
|
-
for_symbols("word_literal") { shift_to 27 }
|
311
|
+
at_state(17) {
|
312
|
+
for_symbols("-") { shift_to 7 }
|
313
|
+
for_symbols("!") { shift_to 34 }
|
314
|
+
for_symbols("numeric_literal") { shift_to 6 }
|
315
|
+
for_symbols("(") { shift_to 31 }
|
316
|
+
for_symbols("word_literal") { shift_to 30 }
|
317
|
+
for_symbols("var_name") { shift_to 29 }
|
318
|
+
for_symbols("function_name") { shift_to 8 }
|
319
|
+
for_symbols("expression") { shift_to 18 }
|
318
320
|
}
|
319
321
|
|
320
|
-
at_state(
|
321
|
-
for_symbols("
|
322
|
-
for_symbols("newline") { shift_to 1 }
|
322
|
+
at_state(29) {
|
323
|
+
for_symbols("==", "+", ",", "-", "/", "<", "_End_", ">", "^", "newline", ")", "*") { reduce_with "variable_reference" }
|
323
324
|
}
|
324
325
|
|
325
|
-
at_state(
|
326
|
-
for_symbols(")") {
|
327
|
-
for_symbols(",") { shift_to 32 }
|
326
|
+
at_state(20) {
|
327
|
+
for_symbols("==", "+", ",", "-", "/", "<", "_End_", ">", "newline", ")", "*") { reduce_with "power" }
|
328
328
|
}
|
329
329
|
|
330
|
-
at_state(
|
331
|
-
for_symbols("
|
332
|
-
for_symbols(">") { shift_to 10 }
|
333
|
-
for_symbols("/") { shift_to 18 }
|
334
|
-
for_symbols("newline") { reduce_with "return_statement" }
|
335
|
-
for_symbols("^") { shift_to 20 }
|
336
|
-
for_symbols("*") { shift_to 24 }
|
337
|
-
for_symbols("-") { shift_to 16 }
|
338
|
-
for_symbols("<") { shift_to 14 }
|
339
|
-
for_symbols("+") { shift_to 12 }
|
330
|
+
at_state(102) {
|
331
|
+
for_symbols("_End_", "newline") { reduce_with "main_body_if_else_statement" }
|
340
332
|
}
|
341
333
|
|
342
|
-
at_state(
|
343
|
-
for_symbols("
|
344
|
-
for_symbols("
|
345
|
-
for_symbols("
|
346
|
-
for_symbols("
|
334
|
+
at_state(92) {
|
335
|
+
for_symbols("while") { shift_to 88 }
|
336
|
+
for_symbols("newline") { shift_to 2 }
|
337
|
+
for_symbols("var_name") { shift_to 61 }
|
338
|
+
for_symbols("print") { shift_to 5 }
|
339
|
+
for_symbols("main_body_statement") { shift_to 94 }
|
340
|
+
for_symbols("word_literal") { shift_to 30 }
|
341
|
+
for_symbols("if") { shift_to 40 }
|
342
|
+
for_symbols("end") { shift_to 93 }
|
343
|
+
for_symbols("def") { shift_to 43 }
|
344
|
+
for_symbols("function_name") { shift_to 55 }
|
345
|
+
for_symbols("simple_statement") { shift_to 86 }
|
347
346
|
}
|
348
347
|
|
349
|
-
at_state(
|
350
|
-
for_symbols("
|
348
|
+
at_state(86) {
|
349
|
+
for_symbols("_End_", "newline") { reduce_with "main_body_simple_statement" }
|
351
350
|
}
|
352
351
|
|
353
|
-
at_state(
|
354
|
-
for_symbols("
|
352
|
+
at_state(85) {
|
353
|
+
for_symbols("(") { reduce_with "function_name" }
|
355
354
|
}
|
356
355
|
|
357
|
-
at_state(
|
358
|
-
for_symbols("
|
356
|
+
at_state(78) {
|
357
|
+
for_symbols("newline") { shift_to 3 }
|
358
|
+
for_symbols("terms") { shift_to 79 }
|
359
359
|
}
|
360
360
|
|
361
|
-
at_state(
|
362
|
-
for_symbols("
|
363
|
-
for_symbols("var_name") { shift_to 66 }
|
364
|
-
for_symbols("main_body_statement") { shift_to 89 }
|
365
|
-
for_symbols("main_body") { shift_to 90 }
|
366
|
-
for_symbols("while") { shift_to 86 }
|
367
|
-
for_symbols("newline") { shift_to 58 }
|
368
|
-
for_symbols("def") { shift_to 40 }
|
369
|
-
for_symbols("if") { shift_to 3 }
|
370
|
-
for_symbols("print") { shift_to 70 }
|
371
|
-
for_symbols("simple_statement") { shift_to 39 }
|
372
|
-
for_symbols("word_literal") { shift_to 27 }
|
361
|
+
at_state(33) {
|
362
|
+
for_symbols("==", "+", ",", "-", "/", "<", "_End_", ">", "^", "newline", ")", "*") { reduce_with "parenthetized_expression" }
|
373
363
|
}
|
374
364
|
|
375
|
-
at_state(
|
376
|
-
for_symbols("
|
365
|
+
at_state(37) {
|
366
|
+
for_symbols("==") { shift_to 27 }
|
367
|
+
for_symbols("*") { shift_to 15 }
|
368
|
+
for_symbols("<") { shift_to 25 }
|
369
|
+
for_symbols("/") { shift_to 13 }
|
370
|
+
for_symbols(",", ")") { reduce_with "single_arg" }
|
371
|
+
for_symbols(">") { shift_to 23 }
|
372
|
+
for_symbols("^") { shift_to 19 }
|
373
|
+
for_symbols("+") { shift_to 21 }
|
374
|
+
for_symbols("-") { shift_to 17 }
|
377
375
|
}
|
378
376
|
|
379
|
-
at_state(
|
380
|
-
for_symbols("
|
381
|
-
for_symbols("var_name") { shift_to 66 }
|
382
|
-
for_symbols("return") { shift_to 60 }
|
383
|
-
for_symbols("newline") { shift_to 58 }
|
384
|
-
for_symbols("function_body_statement") { shift_to 69 }
|
385
|
-
for_symbols("while") { shift_to 53 }
|
386
|
-
for_symbols("if") { shift_to 49 }
|
387
|
-
for_symbols("print") { shift_to 70 }
|
388
|
-
for_symbols("end") { shift_to 79 }
|
389
|
-
for_symbols("simple_statement") { shift_to 52 }
|
390
|
-
for_symbols("word_literal") { shift_to 27 }
|
377
|
+
at_state(35) {
|
378
|
+
for_symbols("==", "+", ",", "-", "/", "<", "_End_", ">", "^", "newline", ")", "*") { reduce_with "negation" }
|
391
379
|
}
|
392
380
|
|
393
|
-
at_state(
|
394
|
-
for_symbols("
|
395
|
-
for_symbols("
|
396
|
-
for_symbols("
|
397
|
-
for_symbols("
|
398
|
-
for_symbols("
|
399
|
-
for_symbols("
|
400
|
-
for_symbols("
|
401
|
-
for_symbols("
|
402
|
-
for_symbols("
|
403
|
-
for_symbols("simple_statement") { shift_to
|
404
|
-
for_symbols("
|
405
|
-
for_symbols("word_literal") { shift_to 27 }
|
381
|
+
at_state(70) {
|
382
|
+
for_symbols("function_body") { shift_to 71 }
|
383
|
+
for_symbols("while") { shift_to 75 }
|
384
|
+
for_symbols("if") { shift_to 52 }
|
385
|
+
for_symbols("newline") { shift_to 2 }
|
386
|
+
for_symbols("var_name") { shift_to 61 }
|
387
|
+
for_symbols("print") { shift_to 5 }
|
388
|
+
for_symbols("word_literal") { shift_to 30 }
|
389
|
+
for_symbols("return") { shift_to 59 }
|
390
|
+
for_symbols("function_name") { shift_to 55 }
|
391
|
+
for_symbols("simple_statement") { shift_to 64 }
|
392
|
+
for_symbols("function_body_statement") { shift_to 65 }
|
406
393
|
}
|
407
394
|
|
408
|
-
at_state(
|
409
|
-
for_symbols("
|
410
|
-
for_symbols("newline") { shift_to 1 }
|
395
|
+
at_state(93) {
|
396
|
+
for_symbols("_End_", "newline") { reduce_with "main_body_while_statement" }
|
411
397
|
}
|
412
398
|
|
413
|
-
at_state(
|
414
|
-
for_symbols("
|
399
|
+
at_state(89) {
|
400
|
+
for_symbols("==") { shift_to 27 }
|
401
|
+
for_symbols("*") { shift_to 15 }
|
402
|
+
for_symbols("<") { shift_to 25 }
|
403
|
+
for_symbols("/") { shift_to 13 }
|
404
|
+
for_symbols(">") { shift_to 23 }
|
405
|
+
for_symbols("newline") { shift_to 3 }
|
406
|
+
for_symbols("^") { shift_to 19 }
|
407
|
+
for_symbols("terms") { shift_to 90 }
|
408
|
+
for_symbols("+") { shift_to 21 }
|
409
|
+
for_symbols("-") { shift_to 17 }
|
415
410
|
}
|
416
411
|
|
417
|
-
at_state(
|
418
|
-
for_symbols("
|
419
|
-
for_symbols(")") { shift_to 34 }
|
412
|
+
at_state(61) {
|
413
|
+
for_symbols("=") { shift_to 62 }
|
420
414
|
}
|
421
415
|
|
422
|
-
at_state(
|
423
|
-
for_symbols("
|
416
|
+
at_state(25) {
|
417
|
+
for_symbols("expression") { shift_to 26 }
|
418
|
+
for_symbols("-") { shift_to 7 }
|
419
|
+
for_symbols("!") { shift_to 34 }
|
420
|
+
for_symbols("numeric_literal") { shift_to 6 }
|
421
|
+
for_symbols("(") { shift_to 31 }
|
422
|
+
for_symbols("word_literal") { shift_to 30 }
|
423
|
+
for_symbols("var_name") { shift_to 29 }
|
424
|
+
for_symbols("function_name") { shift_to 8 }
|
424
425
|
}
|
425
426
|
|
426
|
-
at_state(
|
427
|
-
for_symbols("
|
428
|
-
for_symbols("
|
429
|
-
for_symbols("-") { shift_to 5 }
|
430
|
-
for_symbols("numeric_literal") { shift_to 26 }
|
431
|
-
for_symbols("var_name") { shift_to 8 }
|
432
|
-
for_symbols("function_name") { shift_to 6 }
|
433
|
-
for_symbols("!") { shift_to 4 }
|
434
|
-
for_symbols("word_literal") { shift_to 27 }
|
427
|
+
at_state(57) {
|
428
|
+
for_symbols(")") { shift_to 58 }
|
429
|
+
for_symbols(",") { shift_to 11 }
|
435
430
|
}
|
436
431
|
|
437
|
-
at_state(
|
438
|
-
for_symbols("
|
439
|
-
for_symbols("
|
432
|
+
at_state(95) {
|
433
|
+
for_symbols("terms") { shift_to 96 }
|
434
|
+
for_symbols("newline") { shift_to 3 }
|
440
435
|
}
|
441
436
|
|
442
|
-
at_state(
|
443
|
-
for_symbols("
|
437
|
+
at_state(74) {
|
438
|
+
for_symbols("newline") { reduce_with "multiple_function_body_statements" }
|
444
439
|
}
|
445
440
|
|
446
|
-
at_state(
|
447
|
-
for_symbols("
|
448
|
-
for_symbols("
|
449
|
-
for_symbols("/") { shift_to 18 }
|
450
|
-
for_symbols("newline") { shift_to 1 }
|
451
|
-
for_symbols("^") { shift_to 20 }
|
452
|
-
for_symbols("*") { shift_to 24 }
|
453
|
-
for_symbols("-") { shift_to 16 }
|
454
|
-
for_symbols("terms") { shift_to 55 }
|
455
|
-
for_symbols("<") { shift_to 14 }
|
456
|
-
for_symbols("+") { shift_to 12 }
|
441
|
+
at_state(69) {
|
442
|
+
for_symbols("newline") { shift_to 3 }
|
443
|
+
for_symbols("terms") { shift_to 70 }
|
457
444
|
}
|
458
445
|
|
459
|
-
at_state(
|
460
|
-
for_symbols("
|
446
|
+
at_state(77) {
|
447
|
+
for_symbols("while") { shift_to 75 }
|
448
|
+
for_symbols("if") { shift_to 52 }
|
449
|
+
for_symbols("newline") { shift_to 2 }
|
450
|
+
for_symbols("var_name") { shift_to 61 }
|
451
|
+
for_symbols("print") { shift_to 5 }
|
452
|
+
for_symbols("word_literal") { shift_to 30 }
|
453
|
+
for_symbols("function_body") { shift_to 78 }
|
454
|
+
for_symbols("return") { shift_to 59 }
|
455
|
+
for_symbols("function_name") { shift_to 55 }
|
456
|
+
for_symbols("simple_statement") { shift_to 64 }
|
457
|
+
for_symbols("function_body_statement") { shift_to 65 }
|
461
458
|
}
|
462
459
|
|
463
|
-
at_state(
|
464
|
-
for_symbols("
|
465
|
-
for_symbols("
|
466
|
-
for_symbols("
|
467
|
-
for_symbols("
|
468
|
-
for_symbols("
|
469
|
-
for_symbols("
|
470
|
-
for_symbols("
|
471
|
-
for_symbols("
|
460
|
+
at_state(59) {
|
461
|
+
for_symbols("-") { shift_to 7 }
|
462
|
+
for_symbols("!") { shift_to 34 }
|
463
|
+
for_symbols("numeric_literal") { shift_to 6 }
|
464
|
+
for_symbols("(") { shift_to 31 }
|
465
|
+
for_symbols("word_literal") { shift_to 30 }
|
466
|
+
for_symbols("var_name") { shift_to 29 }
|
467
|
+
for_symbols("function_name") { shift_to 8 }
|
468
|
+
for_symbols("expression") { shift_to 60 }
|
472
469
|
}
|
473
470
|
|
474
|
-
at_state(
|
475
|
-
for_symbols("word_literal") {
|
476
|
-
for_symbols("arg_decl") { shift_to 45 }
|
471
|
+
at_state(3) {
|
472
|
+
for_symbols("word_literal", "end", "def", "print", "_End_", "else", "if", "newline", "return", "while") { reduce_with "single_term" }
|
477
473
|
}
|
478
474
|
|
479
|
-
at_state(
|
480
|
-
for_symbols("==", "+", ",", "-", "/", "<", "_End_", "
|
481
|
-
for_symbols("(") { reduce_with "function_name" }
|
475
|
+
at_state(36) {
|
476
|
+
for_symbols("==", "+", ",", "-", "/", "<", "_End_", ">", "^", "newline", ")", "*") { reduce_with "function_call_expression" }
|
482
477
|
}
|
483
478
|
|
484
|
-
at_state(
|
485
|
-
for_symbols("
|
486
|
-
for_symbols("
|
487
|
-
for_symbols("
|
488
|
-
for_symbols("
|
479
|
+
at_state(5) {
|
480
|
+
for_symbols("-") { shift_to 7 }
|
481
|
+
for_symbols("!") { shift_to 34 }
|
482
|
+
for_symbols("numeric_literal") { shift_to 6 }
|
483
|
+
for_symbols("(") { shift_to 31 }
|
484
|
+
for_symbols("word_literal") { shift_to 30 }
|
485
|
+
for_symbols("var_name") { shift_to 29 }
|
486
|
+
for_symbols("function_name") { shift_to 8 }
|
487
|
+
for_symbols("expression") { shift_to 39 }
|
489
488
|
}
|
490
489
|
|
491
|
-
at_state(
|
492
|
-
for_symbols("
|
490
|
+
at_state(58) {
|
491
|
+
for_symbols("_End_", "newline") { reduce_with "function_call_statement" }
|
493
492
|
}
|
494
493
|
|
495
|
-
at_state(
|
496
|
-
for_symbols("
|
497
|
-
for_symbols("
|
494
|
+
at_state(23) {
|
495
|
+
for_symbols("-") { shift_to 7 }
|
496
|
+
for_symbols("!") { shift_to 34 }
|
497
|
+
for_symbols("numeric_literal") { shift_to 6 }
|
498
|
+
for_symbols("(") { shift_to 31 }
|
499
|
+
for_symbols("expression") { shift_to 24 }
|
500
|
+
for_symbols("word_literal") { shift_to 30 }
|
501
|
+
for_symbols("var_name") { shift_to 29 }
|
502
|
+
for_symbols("function_name") { shift_to 8 }
|
498
503
|
}
|
499
504
|
|
500
|
-
at_state(
|
501
|
-
for_symbols("
|
502
|
-
for_symbols("
|
503
|
-
for_symbols("/") { shift_to 18 }
|
504
|
-
for_symbols("^") { shift_to 20 }
|
505
|
-
for_symbols("*") { shift_to 24 }
|
506
|
-
for_symbols("-") { shift_to 16 }
|
507
|
-
for_symbols("<") { shift_to 14 }
|
508
|
-
for_symbols("_End_", "newline") { reduce_with "print_statement" }
|
509
|
-
for_symbols("+") { shift_to 12 }
|
505
|
+
at_state(46) {
|
506
|
+
for_symbols(")") { shift_to 50 }
|
507
|
+
for_symbols(",") { shift_to 47 }
|
510
508
|
}
|
511
509
|
|
512
|
-
at_state(
|
513
|
-
for_symbols("
|
510
|
+
at_state(66) {
|
511
|
+
for_symbols("terms") { shift_to 67 }
|
512
|
+
for_symbols("newline") { shift_to 3 }
|
514
513
|
}
|
515
514
|
|
516
|
-
at_state(
|
517
|
-
for_symbols("
|
518
|
-
for_symbols("-") { shift_to 5 }
|
519
|
-
for_symbols("numeric_literal") { shift_to 26 }
|
520
|
-
for_symbols("var_name") { shift_to 8 }
|
521
|
-
for_symbols("function_name") { shift_to 6 }
|
522
|
-
for_symbols("!") { shift_to 4 }
|
523
|
-
for_symbols("expression") { shift_to 29 }
|
524
|
-
for_symbols("word_literal") { shift_to 27 }
|
515
|
+
at_state(94) {
|
516
|
+
for_symbols("_End_", "newline") { reduce_with "multiple_main_body_statements" }
|
525
517
|
}
|
526
518
|
|
527
|
-
at_state(
|
528
|
-
for_symbols("
|
519
|
+
at_state(11) {
|
520
|
+
for_symbols("-") { shift_to 7 }
|
521
|
+
for_symbols("!") { shift_to 34 }
|
522
|
+
for_symbols("numeric_literal") { shift_to 6 }
|
523
|
+
for_symbols("(") { shift_to 31 }
|
524
|
+
for_symbols("word_literal") { shift_to 30 }
|
525
|
+
for_symbols("var_name") { shift_to 29 }
|
526
|
+
for_symbols("function_name") { shift_to 8 }
|
527
|
+
for_symbols("expression") { shift_to 12 }
|
529
528
|
}
|
530
529
|
|
531
|
-
at_state(
|
532
|
-
for_symbols("
|
533
|
-
for_symbols("
|
534
|
-
for_symbols("
|
535
|
-
for_symbols("
|
536
|
-
for_symbols("
|
537
|
-
for_symbols("
|
538
|
-
for_symbols("
|
539
|
-
for_symbols("
|
540
|
-
for_symbols("
|
530
|
+
at_state(51) {
|
531
|
+
for_symbols("function_body") { shift_to 81 }
|
532
|
+
for_symbols("while") { shift_to 75 }
|
533
|
+
for_symbols("if") { shift_to 52 }
|
534
|
+
for_symbols("newline") { shift_to 2 }
|
535
|
+
for_symbols("var_name") { shift_to 61 }
|
536
|
+
for_symbols("print") { shift_to 5 }
|
537
|
+
for_symbols("word_literal") { shift_to 30 }
|
538
|
+
for_symbols("return") { shift_to 59 }
|
539
|
+
for_symbols("function_name") { shift_to 55 }
|
540
|
+
for_symbols("simple_statement") { shift_to 64 }
|
541
|
+
for_symbols("function_body_statement") { shift_to 65 }
|
541
542
|
}
|
542
543
|
|
543
|
-
at_state(
|
544
|
-
for_symbols("
|
545
|
-
for_symbols("
|
546
|
-
for_symbols("*") { shift_to 24 }
|
547
|
-
for_symbols("==", "+", ",", "-", "<", "_End_", ">", ")", "newline") { reduce_with "addition" }
|
544
|
+
at_state(50) {
|
545
|
+
for_symbols("terms") { shift_to 51 }
|
546
|
+
for_symbols("newline") { shift_to 3 }
|
548
547
|
}
|
549
548
|
|
550
|
-
at_state(
|
551
|
-
for_symbols("
|
552
|
-
for_symbols("
|
553
|
-
for_symbols("
|
554
|
-
for_symbols("
|
555
|
-
for_symbols("*") { shift_to 24 }
|
556
|
-
for_symbols("-") { shift_to 16 }
|
557
|
-
for_symbols("<") { shift_to 14 }
|
558
|
-
for_symbols(")") { shift_to 30 }
|
559
|
-
for_symbols("+") { shift_to 12 }
|
549
|
+
at_state(22) {
|
550
|
+
for_symbols("*") { shift_to 15 }
|
551
|
+
for_symbols("/") { shift_to 13 }
|
552
|
+
for_symbols("^") { shift_to 19 }
|
553
|
+
for_symbols("==", "+", ",", "-", "<", "_End_", ">", "newline", ")") { reduce_with "addition" }
|
560
554
|
}
|
561
555
|
|
562
|
-
at_state(
|
563
|
-
for_symbols("
|
564
|
-
for_symbols("
|
556
|
+
at_state(38) {
|
557
|
+
for_symbols("==", "+", ",", "-", "/", "<", "_End_", ">", "newline", ")", "*") { reduce_with "negated_expression" }
|
558
|
+
for_symbols("^") { shift_to 19 }
|
565
559
|
}
|
566
560
|
|
567
|
-
at_state(
|
568
|
-
for_symbols("
|
569
|
-
for_symbols("
|
570
|
-
for_symbols("
|
571
|
-
for_symbols("
|
572
|
-
for_symbols("
|
573
|
-
for_symbols("
|
574
|
-
for_symbols("
|
575
|
-
for_symbols("
|
576
|
-
for_symbols("
|
577
|
-
for_symbols("simple_statement") { shift_to 39 }
|
578
|
-
for_symbols("word_literal") { shift_to 27 }
|
561
|
+
at_state(63) {
|
562
|
+
for_symbols("==") { shift_to 27 }
|
563
|
+
for_symbols("*") { shift_to 15 }
|
564
|
+
for_symbols("<") { shift_to 25 }
|
565
|
+
for_symbols("/") { shift_to 13 }
|
566
|
+
for_symbols(">") { shift_to 23 }
|
567
|
+
for_symbols("^") { shift_to 19 }
|
568
|
+
for_symbols("_End_", "newline") { reduce_with "assignment_statement" }
|
569
|
+
for_symbols("+") { shift_to 21 }
|
570
|
+
for_symbols("-") { shift_to 17 }
|
579
571
|
}
|
580
572
|
|
581
|
-
at_state(
|
582
|
-
for_symbols("
|
583
|
-
for_symbols("
|
584
|
-
for_symbols("while") { shift_to 86 }
|
585
|
-
for_symbols("newline") { shift_to 58 }
|
586
|
-
for_symbols("def") { shift_to 40 }
|
587
|
-
for_symbols("main_body_statement") { shift_to 93 }
|
588
|
-
for_symbols("if") { shift_to 3 }
|
589
|
-
for_symbols("end") { shift_to 100 }
|
590
|
-
for_symbols("print") { shift_to 70 }
|
591
|
-
for_symbols("simple_statement") { shift_to 39 }
|
592
|
-
for_symbols("word_literal") { shift_to 27 }
|
573
|
+
at_state(100) {
|
574
|
+
for_symbols("terms") { shift_to 101 }
|
575
|
+
for_symbols("newline") { shift_to 3 }
|
593
576
|
}
|
594
577
|
|
595
|
-
at_state(
|
596
|
-
for_symbols("
|
578
|
+
at_state(98) {
|
579
|
+
for_symbols("terms") { shift_to 99 }
|
580
|
+
for_symbols("newline") { shift_to 3 }
|
597
581
|
}
|
598
582
|
|
599
|
-
at_state(
|
600
|
-
for_symbols("
|
601
|
-
for_symbols("var_name") { shift_to 66 }
|
602
|
-
for_symbols("while") { shift_to 86 }
|
603
|
-
for_symbols("newline") { shift_to 58 }
|
604
|
-
for_symbols("def") { shift_to 40 }
|
605
|
-
for_symbols("end") { shift_to 92 }
|
606
|
-
for_symbols("main_body_statement") { shift_to 93 }
|
607
|
-
for_symbols("if") { shift_to 3 }
|
608
|
-
for_symbols("print") { shift_to 70 }
|
609
|
-
for_symbols("simple_statement") { shift_to 39 }
|
610
|
-
for_symbols("word_literal") { shift_to 27 }
|
583
|
+
at_state(97) {
|
584
|
+
for_symbols("_End_", "newline") { reduce_with "main_body_if_statement" }
|
611
585
|
}
|
612
586
|
|
613
|
-
at_state(
|
614
|
-
for_symbols("==") { shift_to
|
615
|
-
for_symbols("
|
616
|
-
for_symbols("
|
617
|
-
for_symbols("/") { shift_to
|
618
|
-
for_symbols("
|
619
|
-
for_symbols("
|
620
|
-
for_symbols("
|
621
|
-
for_symbols("
|
622
|
-
for_symbols("+") { shift_to
|
587
|
+
at_state(76) {
|
588
|
+
for_symbols("==") { shift_to 27 }
|
589
|
+
for_symbols("*") { shift_to 15 }
|
590
|
+
for_symbols("<") { shift_to 25 }
|
591
|
+
for_symbols("/") { shift_to 13 }
|
592
|
+
for_symbols(">") { shift_to 23 }
|
593
|
+
for_symbols("newline") { shift_to 3 }
|
594
|
+
for_symbols("^") { shift_to 19 }
|
595
|
+
for_symbols("terms") { shift_to 77 }
|
596
|
+
for_symbols("+") { shift_to 21 }
|
597
|
+
for_symbols("-") { shift_to 17 }
|
623
598
|
}
|
624
599
|
|
625
|
-
at_state(
|
626
|
-
for_symbols("
|
600
|
+
at_state(14) {
|
601
|
+
for_symbols("==", "+", ",", "-", "/", "<", "_End_", ">", "newline", ")", "*") { reduce_with "division" }
|
602
|
+
for_symbols("^") { shift_to 19 }
|
627
603
|
}
|
628
604
|
|
629
|
-
at_state(
|
630
|
-
for_symbols("
|
631
|
-
for_symbols("
|
632
|
-
for_symbols("
|
633
|
-
for_symbols("numeric_literal") { shift_to
|
634
|
-
for_symbols("
|
635
|
-
for_symbols("
|
636
|
-
for_symbols("
|
637
|
-
for_symbols("
|
605
|
+
at_state(62) {
|
606
|
+
for_symbols("expression") { shift_to 63 }
|
607
|
+
for_symbols("-") { shift_to 7 }
|
608
|
+
for_symbols("!") { shift_to 34 }
|
609
|
+
for_symbols("numeric_literal") { shift_to 6 }
|
610
|
+
for_symbols("(") { shift_to 31 }
|
611
|
+
for_symbols("word_literal") { shift_to 30 }
|
612
|
+
for_symbols("var_name") { shift_to 29 }
|
613
|
+
for_symbols("function_name") { shift_to 8 }
|
638
614
|
}
|
639
615
|
|
640
|
-
at_state(
|
641
|
-
for_symbols("
|
616
|
+
at_state(104) {
|
617
|
+
for_symbols("while") { shift_to 88 }
|
618
|
+
for_symbols("newline") { shift_to 2 }
|
619
|
+
for_symbols("var_name") { shift_to 61 }
|
620
|
+
for_symbols("print") { shift_to 5 }
|
621
|
+
for_symbols("main_body_statement") { shift_to 94 }
|
622
|
+
for_symbols("word_literal") { shift_to 30 }
|
623
|
+
for_symbols("if") { shift_to 40 }
|
624
|
+
for_symbols("def") { shift_to 43 }
|
625
|
+
for_symbols("function_name") { shift_to 55 }
|
626
|
+
for_symbols("_End_") { reduce_with "some_terms" }
|
627
|
+
for_symbols("simple_statement") { shift_to 86 }
|
642
628
|
}
|
643
629
|
|
644
|
-
at_state(
|
645
|
-
for_symbols("
|
646
|
-
for_symbols("
|
647
|
-
for_symbols("var_name") { shift_to 66 }
|
648
|
-
for_symbols("return") { shift_to 60 }
|
649
|
-
for_symbols("newline") { shift_to 58 }
|
650
|
-
for_symbols("while") { shift_to 53 }
|
651
|
-
for_symbols("if") { shift_to 49 }
|
652
|
-
for_symbols("print") { shift_to 70 }
|
653
|
-
for_symbols("simple_statement") { shift_to 52 }
|
654
|
-
for_symbols("word_literal") { shift_to 27 }
|
655
|
-
for_symbols("function_body_statement") { shift_to 72 }
|
630
|
+
at_state(71) {
|
631
|
+
for_symbols("terms") { shift_to 72 }
|
632
|
+
for_symbols("newline") { shift_to 3 }
|
656
633
|
}
|
657
634
|
|
658
|
-
at_state(
|
659
|
-
for_symbols("(") {
|
660
|
-
for_symbols("
|
661
|
-
for_symbols("-") { shift_to 5 }
|
662
|
-
for_symbols("numeric_literal") { shift_to 26 }
|
663
|
-
for_symbols("var_name") { shift_to 8 }
|
664
|
-
for_symbols("function_name") { shift_to 6 }
|
665
|
-
for_symbols("!") { shift_to 4 }
|
666
|
-
for_symbols("word_literal") { shift_to 27 }
|
635
|
+
at_state(30) {
|
636
|
+
for_symbols("(") { reduce_with "function_name" }
|
637
|
+
for_symbols("==", "+", ",", "-", "/", "<", "_End_", "=", ">", "^", "newline", ")", "*") { reduce_with "variable_name" }
|
667
638
|
}
|
668
639
|
|
669
|
-
at_state(
|
670
|
-
for_symbols("
|
671
|
-
for_symbols("var_name") { shift_to 66 }
|
672
|
-
for_symbols("main_body_statement") { shift_to 89 }
|
673
|
-
for_symbols("while") { shift_to 86 }
|
674
|
-
for_symbols("newline") { shift_to 58 }
|
675
|
-
for_symbols("main_body") { shift_to 98 }
|
676
|
-
for_symbols("def") { shift_to 40 }
|
677
|
-
for_symbols("if") { shift_to 3 }
|
678
|
-
for_symbols("print") { shift_to 70 }
|
679
|
-
for_symbols("simple_statement") { shift_to 39 }
|
680
|
-
for_symbols("word_literal") { shift_to 27 }
|
640
|
+
at_state(44) {
|
641
|
+
for_symbols("(") { shift_to 45 }
|
681
642
|
}
|
682
643
|
|
683
|
-
at_state(
|
684
|
-
for_symbols("
|
685
|
-
for_symbols("-") { shift_to
|
686
|
-
for_symbols("
|
687
|
-
for_symbols("
|
688
|
-
for_symbols("
|
689
|
-
for_symbols("
|
690
|
-
for_symbols("
|
691
|
-
for_symbols("
|
644
|
+
at_state(21) {
|
645
|
+
for_symbols("expression") { shift_to 22 }
|
646
|
+
for_symbols("-") { shift_to 7 }
|
647
|
+
for_symbols("!") { shift_to 34 }
|
648
|
+
for_symbols("numeric_literal") { shift_to 6 }
|
649
|
+
for_symbols("(") { shift_to 31 }
|
650
|
+
for_symbols("word_literal") { shift_to 30 }
|
651
|
+
for_symbols("var_name") { shift_to 29 }
|
652
|
+
for_symbols("function_name") { shift_to 8 }
|
692
653
|
}
|
693
654
|
|
694
|
-
at_state(
|
695
|
-
for_symbols("
|
696
|
-
for_symbols("word_literal") { shift_to 46 }
|
697
|
-
for_symbols("arg_decl") { shift_to 84 }
|
698
|
-
for_symbols("arg_declarations") { shift_to 43 }
|
655
|
+
at_state(80) {
|
656
|
+
for_symbols("newline") { reduce_with "function_body_while_statement" }
|
699
657
|
}
|
700
658
|
|
701
|
-
at_state(
|
702
|
-
for_symbols("
|
703
|
-
for_symbols("
|
704
|
-
for_symbols("
|
705
|
-
for_symbols("
|
706
|
-
for_symbols("
|
707
|
-
for_symbols("
|
708
|
-
for_symbols("
|
709
|
-
for_symbols("
|
710
|
-
for_symbols("
|
711
|
-
for_symbols("
|
712
|
-
for_symbols("function_body_statement") { shift_to
|
659
|
+
at_state(79) {
|
660
|
+
for_symbols("while") { shift_to 75 }
|
661
|
+
for_symbols("if") { shift_to 52 }
|
662
|
+
for_symbols("newline") { shift_to 2 }
|
663
|
+
for_symbols("var_name") { shift_to 61 }
|
664
|
+
for_symbols("print") { shift_to 5 }
|
665
|
+
for_symbols("word_literal") { shift_to 30 }
|
666
|
+
for_symbols("end") { shift_to 80 }
|
667
|
+
for_symbols("return") { shift_to 59 }
|
668
|
+
for_symbols("function_name") { shift_to 55 }
|
669
|
+
for_symbols("simple_statement") { shift_to 64 }
|
670
|
+
for_symbols("function_body_statement") { shift_to 74 }
|
713
671
|
}
|
714
672
|
|
715
|
-
at_state(
|
716
|
-
for_symbols("
|
717
|
-
for_symbols("
|
718
|
-
for_symbols("
|
719
|
-
for_symbols("
|
720
|
-
for_symbols("
|
721
|
-
for_symbols("
|
722
|
-
for_symbols("
|
723
|
-
for_symbols("
|
673
|
+
at_state(52) {
|
674
|
+
for_symbols("-") { shift_to 7 }
|
675
|
+
for_symbols("!") { shift_to 34 }
|
676
|
+
for_symbols("numeric_literal") { shift_to 6 }
|
677
|
+
for_symbols("(") { shift_to 31 }
|
678
|
+
for_symbols("word_literal") { shift_to 30 }
|
679
|
+
for_symbols("var_name") { shift_to 29 }
|
680
|
+
for_symbols("expression") { shift_to 53 }
|
681
|
+
for_symbols("function_name") { shift_to 8 }
|
724
682
|
}
|
725
683
|
|
726
|
-
at_state(
|
727
|
-
for_symbols("newline") { shift_to
|
728
|
-
for_symbols("
|
684
|
+
at_state(1) {
|
685
|
+
for_symbols("newline") { shift_to 2 }
|
686
|
+
for_symbols("word_literal", "def", "print", "if", "while") { reduce_with "some_terms" }
|
729
687
|
}
|
730
688
|
|
731
|
-
at_state(
|
732
|
-
for_symbols("
|
733
|
-
for_symbols("
|
689
|
+
at_state(4) {
|
690
|
+
for_symbols("main_body") { shift_to 103 }
|
691
|
+
for_symbols("while") { shift_to 88 }
|
692
|
+
for_symbols("var_name") { shift_to 61 }
|
693
|
+
for_symbols("print") { shift_to 5 }
|
694
|
+
for_symbols("word_literal") { shift_to 30 }
|
695
|
+
for_symbols("if") { shift_to 40 }
|
696
|
+
for_symbols("main_body_statement") { shift_to 87 }
|
697
|
+
for_symbols("def") { shift_to 43 }
|
698
|
+
for_symbols("function_name") { shift_to 55 }
|
699
|
+
for_symbols("simple_statement") { shift_to 86 }
|
734
700
|
}
|
735
701
|
|
736
|
-
at_state(
|
737
|
-
for_symbols("
|
738
|
-
for_symbols("terms") { shift_to 95 }
|
702
|
+
at_state(49) {
|
703
|
+
for_symbols(",", ")") { reduce_with "multiple_arg_declarations" }
|
739
704
|
}
|
740
705
|
|
741
|
-
at_state(
|
742
|
-
for_symbols("
|
743
|
-
for_symbols("
|
744
|
-
for_symbols("numeric_literal") { shift_to 26 }
|
745
|
-
for_symbols("var_name") { shift_to 8 }
|
746
|
-
for_symbols("function_name") { shift_to 6 }
|
747
|
-
for_symbols("!") { shift_to 4 }
|
748
|
-
for_symbols("expression") { shift_to 87 }
|
749
|
-
for_symbols("word_literal") { shift_to 27 }
|
706
|
+
at_state(16) {
|
707
|
+
for_symbols("==", "+", ",", "-", "/", "<", "_End_", ">", "newline", ")", "*") { reduce_with "multiplication" }
|
708
|
+
for_symbols("^") { shift_to 19 }
|
750
709
|
}
|
751
710
|
|
752
|
-
at_state(
|
753
|
-
for_symbols("
|
754
|
-
for_symbols("
|
755
|
-
for_symbols("
|
756
|
-
for_symbols("
|
757
|
-
for_symbols("function_name") { shift_to 6 }
|
758
|
-
for_symbols("!") { shift_to 4 }
|
759
|
-
for_symbols("expression") { shift_to 68 }
|
760
|
-
for_symbols("word_literal") { shift_to 27 }
|
711
|
+
at_state(18) {
|
712
|
+
for_symbols("*") { shift_to 15 }
|
713
|
+
for_symbols("/") { shift_to 13 }
|
714
|
+
for_symbols("^") { shift_to 19 }
|
715
|
+
for_symbols("==", "+", ",", "-", "<", "_End_", ">", "newline", ")") { reduce_with "subtraction" }
|
761
716
|
}
|
762
717
|
|
763
|
-
at_state(
|
764
|
-
for_symbols("
|
718
|
+
at_state(87) {
|
719
|
+
for_symbols("_End_", "newline") { reduce_with "single_main_body_statement" }
|
765
720
|
}
|
766
721
|
|
767
|
-
at_state(
|
768
|
-
for_symbols("
|
769
|
-
for_symbols("
|
722
|
+
at_state(45) {
|
723
|
+
for_symbols("arg_decl") { shift_to 84 }
|
724
|
+
for_symbols("word_literal") { shift_to 48 }
|
725
|
+
for_symbols(",", ")") { reduce_with "no_arg_decl" }
|
726
|
+
for_symbols("arg_declarations") { shift_to 46 }
|
770
727
|
}
|
771
728
|
|
772
|
-
at_state(
|
773
|
-
for_symbols("
|
729
|
+
at_state(7) {
|
730
|
+
for_symbols("-") { shift_to 7 }
|
731
|
+
for_symbols("!") { shift_to 34 }
|
732
|
+
for_symbols("expression") { shift_to 38 }
|
733
|
+
for_symbols("numeric_literal") { shift_to 6 }
|
734
|
+
for_symbols("(") { shift_to 31 }
|
735
|
+
for_symbols("word_literal") { shift_to 30 }
|
736
|
+
for_symbols("var_name") { shift_to 29 }
|
737
|
+
for_symbols("function_name") { shift_to 8 }
|
774
738
|
}
|
775
739
|
|
776
|
-
at_state(
|
777
|
-
for_symbols("
|
740
|
+
at_state(13) {
|
741
|
+
for_symbols("-") { shift_to 7 }
|
742
|
+
for_symbols("!") { shift_to 34 }
|
743
|
+
for_symbols("numeric_literal") { shift_to 6 }
|
744
|
+
for_symbols("(") { shift_to 31 }
|
745
|
+
for_symbols("expression") { shift_to 14 }
|
746
|
+
for_symbols("word_literal") { shift_to 30 }
|
747
|
+
for_symbols("var_name") { shift_to 29 }
|
748
|
+
for_symbols("function_name") { shift_to 8 }
|
778
749
|
}
|
779
750
|
|
780
|
-
at_state(
|
781
|
-
for_symbols("
|
751
|
+
at_state(19) {
|
752
|
+
for_symbols("-") { shift_to 7 }
|
753
|
+
for_symbols("!") { shift_to 34 }
|
754
|
+
for_symbols("numeric_literal") { shift_to 6 }
|
755
|
+
for_symbols("(") { shift_to 31 }
|
756
|
+
for_symbols("expression") { shift_to 20 }
|
757
|
+
for_symbols("word_literal") { shift_to 30 }
|
758
|
+
for_symbols("var_name") { shift_to 29 }
|
759
|
+
for_symbols("function_name") { shift_to 8 }
|
782
760
|
}
|
783
761
|
|
784
|
-
at_state(
|
785
|
-
for_symbols("
|
786
|
-
for_symbols("
|
787
|
-
for_symbols("
|
788
|
-
for_symbols("
|
789
|
-
for_symbols("
|
790
|
-
for_symbols("
|
791
|
-
for_symbols("
|
792
|
-
for_symbols("
|
793
|
-
for_symbols("
|
794
|
-
for_symbols("
|
795
|
-
for_symbols("
|
762
|
+
at_state(90) {
|
763
|
+
for_symbols("while") { shift_to 88 }
|
764
|
+
for_symbols("newline") { shift_to 2 }
|
765
|
+
for_symbols("var_name") { shift_to 61 }
|
766
|
+
for_symbols("print") { shift_to 5 }
|
767
|
+
for_symbols("word_literal") { shift_to 30 }
|
768
|
+
for_symbols("main_body") { shift_to 91 }
|
769
|
+
for_symbols("if") { shift_to 40 }
|
770
|
+
for_symbols("main_body_statement") { shift_to 87 }
|
771
|
+
for_symbols("def") { shift_to 43 }
|
772
|
+
for_symbols("function_name") { shift_to 55 }
|
773
|
+
for_symbols("simple_statement") { shift_to 86 }
|
796
774
|
}
|
797
775
|
|
798
|
-
at_state(
|
799
|
-
for_symbols("
|
800
|
-
for_symbols("
|
801
|
-
for_symbols("
|
802
|
-
for_symbols("
|
803
|
-
for_symbols("
|
804
|
-
for_symbols("
|
805
|
-
for_symbols("
|
806
|
-
for_symbols("
|
807
|
-
for_symbols("
|
808
|
-
for_symbols("
|
809
|
-
for_symbols("
|
810
|
-
for_symbols("word_literal") { shift_to 27 }
|
776
|
+
at_state(82) {
|
777
|
+
for_symbols("while") { shift_to 75 }
|
778
|
+
for_symbols("if") { shift_to 52 }
|
779
|
+
for_symbols("newline") { shift_to 2 }
|
780
|
+
for_symbols("var_name") { shift_to 61 }
|
781
|
+
for_symbols("print") { shift_to 5 }
|
782
|
+
for_symbols("word_literal") { shift_to 30 }
|
783
|
+
for_symbols("end") { shift_to 83 }
|
784
|
+
for_symbols("return") { shift_to 59 }
|
785
|
+
for_symbols("function_name") { shift_to 55 }
|
786
|
+
for_symbols("simple_statement") { shift_to 64 }
|
787
|
+
for_symbols("function_body_statement") { shift_to 74 }
|
811
788
|
}
|
812
789
|
|
813
|
-
at_state(
|
814
|
-
for_symbols("newline") { shift_to
|
815
|
-
for_symbols("terms") { shift_to
|
790
|
+
at_state(81) {
|
791
|
+
for_symbols("newline") { shift_to 3 }
|
792
|
+
for_symbols("terms") { shift_to 82 }
|
816
793
|
}
|
817
794
|
|
818
|
-
at_state(
|
819
|
-
for_symbols("
|
820
|
-
for_symbols("-") { shift_to 5 }
|
821
|
-
for_symbols("numeric_literal") { shift_to 26 }
|
822
|
-
for_symbols("var_name") { shift_to 8 }
|
823
|
-
for_symbols("function_name") { shift_to 6 }
|
824
|
-
for_symbols("expression") { shift_to 35 }
|
825
|
-
for_symbols("!") { shift_to 4 }
|
826
|
-
for_symbols("word_literal") { shift_to 27 }
|
795
|
+
at_state(64) {
|
796
|
+
for_symbols("newline") { reduce_with "function_body_simple_statement" }
|
827
797
|
}
|
828
798
|
|
829
|
-
at_state(
|
830
|
-
for_symbols("
|
831
|
-
for_symbols("
|
832
|
-
for_symbols("
|
833
|
-
for_symbols("
|
834
|
-
for_symbols("
|
835
|
-
for_symbols("
|
836
|
-
for_symbols("
|
837
|
-
for_symbols("
|
799
|
+
at_state(56) {
|
800
|
+
for_symbols("-") { shift_to 7 }
|
801
|
+
for_symbols("!") { shift_to 34 }
|
802
|
+
for_symbols("arg_list") { shift_to 57 }
|
803
|
+
for_symbols(",", ")") { reduce_with "no_args" }
|
804
|
+
for_symbols("numeric_literal") { shift_to 6 }
|
805
|
+
for_symbols("(") { shift_to 31 }
|
806
|
+
for_symbols("word_literal") { shift_to 30 }
|
807
|
+
for_symbols("var_name") { shift_to 29 }
|
808
|
+
for_symbols("function_name") { shift_to 8 }
|
809
|
+
for_symbols("expression") { shift_to 37 }
|
838
810
|
}
|
839
811
|
|
840
|
-
at_state(
|
841
|
-
for_symbols("
|
842
|
-
for_symbols("
|
843
|
-
for_symbols("
|
844
|
-
for_symbols("
|
845
|
-
for_symbols("function_name") { shift_to 6 }
|
846
|
-
for_symbols("!") { shift_to 4 }
|
847
|
-
for_symbols("expression") { shift_to 37 }
|
848
|
-
for_symbols("word_literal") { shift_to 27 }
|
812
|
+
at_state(0) {
|
813
|
+
for_symbols("opt_terms") { shift_to 4 }
|
814
|
+
for_symbols("terms") { shift_to 1 }
|
815
|
+
for_symbols("newline") { shift_to 3 }
|
816
|
+
for_symbols("word_literal", "def", "print", "if", "while") { reduce_with "no_terms" }
|
849
817
|
}
|
850
818
|
|
851
|
-
at_state(
|
852
|
-
for_symbols("
|
853
|
-
for_symbols("
|
854
|
-
for_symbols("numeric_literal") { shift_to 26 }
|
855
|
-
for_symbols("var_name") { shift_to 8 }
|
856
|
-
for_symbols("function_name") { shift_to 6 }
|
857
|
-
for_symbols("!") { shift_to 4 }
|
858
|
-
for_symbols("expression") { shift_to 25 }
|
859
|
-
for_symbols("word_literal") { shift_to 27 }
|
819
|
+
at_state(47) {
|
820
|
+
for_symbols("arg_decl") { shift_to 49 }
|
821
|
+
for_symbols("word_literal") { shift_to 48 }
|
860
822
|
}
|
861
823
|
|
862
|
-
at_state(
|
863
|
-
for_symbols("
|
824
|
+
at_state(103) {
|
825
|
+
for_symbols("opt_terms") { shift_to 105 }
|
826
|
+
for_symbols("terms") { shift_to 104 }
|
827
|
+
for_symbols("newline") { shift_to 3 }
|
828
|
+
for_symbols("_End_") { reduce_with "no_terms" }
|
864
829
|
}
|
865
830
|
|
866
|
-
at_state(
|
867
|
-
for_symbols("
|
831
|
+
at_state(96) {
|
832
|
+
for_symbols("else") { shift_to 98 }
|
833
|
+
for_symbols("while") { shift_to 88 }
|
834
|
+
for_symbols("end") { shift_to 97 }
|
835
|
+
for_symbols("newline") { shift_to 2 }
|
836
|
+
for_symbols("var_name") { shift_to 61 }
|
837
|
+
for_symbols("print") { shift_to 5 }
|
838
|
+
for_symbols("main_body_statement") { shift_to 94 }
|
839
|
+
for_symbols("word_literal") { shift_to 30 }
|
840
|
+
for_symbols("if") { shift_to 40 }
|
841
|
+
for_symbols("def") { shift_to 43 }
|
842
|
+
for_symbols("function_name") { shift_to 55 }
|
843
|
+
for_symbols("simple_statement") { shift_to 86 }
|
868
844
|
}
|
869
845
|
|
870
|
-
at_state(
|
871
|
-
for_symbols("
|
846
|
+
at_state(72) {
|
847
|
+
for_symbols("while") { shift_to 75 }
|
848
|
+
for_symbols("if") { shift_to 52 }
|
849
|
+
for_symbols("end") { shift_to 73 }
|
850
|
+
for_symbols("newline") { shift_to 2 }
|
851
|
+
for_symbols("var_name") { shift_to 61 }
|
852
|
+
for_symbols("print") { shift_to 5 }
|
853
|
+
for_symbols("word_literal") { shift_to 30 }
|
854
|
+
for_symbols("return") { shift_to 59 }
|
855
|
+
for_symbols("function_name") { shift_to 55 }
|
856
|
+
for_symbols("simple_statement") { shift_to 64 }
|
857
|
+
for_symbols("function_body_statement") { shift_to 74 }
|
872
858
|
}
|
873
859
|
|
874
|
-
at_state(
|
875
|
-
for_symbols("
|
876
|
-
for_symbols("
|
860
|
+
at_state(42) {
|
861
|
+
for_symbols("while") { shift_to 88 }
|
862
|
+
for_symbols("main_body") { shift_to 95 }
|
863
|
+
for_symbols("newline") { shift_to 2 }
|
864
|
+
for_symbols("var_name") { shift_to 61 }
|
865
|
+
for_symbols("print") { shift_to 5 }
|
866
|
+
for_symbols("word_literal") { shift_to 30 }
|
867
|
+
for_symbols("if") { shift_to 40 }
|
868
|
+
for_symbols("main_body_statement") { shift_to 87 }
|
869
|
+
for_symbols("def") { shift_to 43 }
|
870
|
+
for_symbols("function_name") { shift_to 55 }
|
871
|
+
for_symbols("simple_statement") { shift_to 86 }
|
872
|
+
}
|
873
|
+
|
874
|
+
at_state(10) {
|
875
|
+
for_symbols(",") { shift_to 11 }
|
876
|
+
for_symbols(")") { shift_to 36 }
|
877
877
|
}
|
878
878
|
|
879
879
|
end
|