dhaka 2.2.0 → 2.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. data/Rakefile +2 -2
  2. data/lib/dhaka.rb +3 -1
  3. data/lib/{dot → dhaka/dot}/dot.rb +0 -0
  4. data/lib/{evaluator → dhaka/evaluator}/evaluator.rb +0 -0
  5. data/lib/{grammar → dhaka/grammar}/closure_hash.rb +0 -0
  6. data/lib/{grammar → dhaka/grammar}/grammar.rb +0 -0
  7. data/lib/{grammar → dhaka/grammar}/grammar_symbol.rb +0 -0
  8. data/lib/{grammar → dhaka/grammar}/precedence.rb +0 -0
  9. data/lib/{grammar → dhaka/grammar}/production.rb +0 -0
  10. data/lib/dhaka/lexer/accept_actions.rb +36 -0
  11. data/lib/dhaka/lexer/alphabet.rb +21 -0
  12. data/lib/dhaka/lexer/alphabet.rb~ +5 -0
  13. data/lib/{lexer → dhaka/lexer}/compiled_lexer.rb +0 -0
  14. data/lib/{lexer → dhaka/lexer}/dfa.rb +0 -0
  15. data/lib/{lexer → dhaka/lexer}/lexeme.rb +0 -0
  16. data/lib/{lexer → dhaka/lexer}/lexer.rb +0 -0
  17. data/lib/{lexer → dhaka/lexer}/lexer_run.rb +0 -0
  18. data/lib/{lexer → dhaka/lexer}/regex_grammar.rb +0 -50
  19. data/lib/dhaka/lexer/regex_parser.rb +2010 -0
  20. data/lib/{lexer → dhaka/lexer}/regex_tokenizer.rb +0 -0
  21. data/lib/{lexer → dhaka/lexer}/specification.rb +3 -2
  22. data/lib/{lexer → dhaka/lexer}/state.rb +0 -0
  23. data/lib/{lexer → dhaka/lexer}/state_machine.rb +0 -0
  24. data/lib/{parser → dhaka/parser}/action.rb +0 -0
  25. data/lib/{parser → dhaka/parser}/channel.rb +0 -0
  26. data/lib/{parser → dhaka/parser}/compiled_parser.rb +0 -0
  27. data/lib/{parser → dhaka/parser}/conflict.rb +0 -0
  28. data/lib/{parser → dhaka/parser}/item.rb +0 -0
  29. data/lib/{parser → dhaka/parser}/parse_result.rb +7 -3
  30. data/lib/{parser → dhaka/parser}/parse_tree.rb +0 -0
  31. data/lib/{parser → dhaka/parser}/parser.rb +0 -0
  32. data/lib/{parser → dhaka/parser}/parser_methods.rb +0 -0
  33. data/lib/{parser → dhaka/parser}/parser_run.rb +1 -1
  34. data/lib/{parser → dhaka/parser}/parser_state.rb +0 -0
  35. data/lib/{parser → dhaka/parser}/token.rb +0 -0
  36. data/lib/dhaka/runtime.rb +51 -0
  37. data/lib/dhaka/runtime.rb~ +49 -0
  38. data/lib/{tokenizer → dhaka/tokenizer}/tokenizer.rb +8 -3
  39. data/test/brackets/bracket_tokenizer.rb +7 -0
  40. data/test/brackets/brackets_test.rb +9 -0
  41. data/test/chittagong/chittagong_lexer.rb +63 -63
  42. data/test/chittagong/chittagong_parser.rb +660 -660
  43. data/test/core/another_lalr_but_not_slr_grammar.rb.rej +13 -0
  44. metadata +73 -69
  45. data/lib/lexer/regex_parser.rb +0 -2010
  46. data/test/chittagong/chittagong_lexer.rb.rej +0 -189
  47. data/test/chittagong/chittagong_parser.rb.rej +0 -1623
@@ -1,189 +0,0 @@
1
- ***************
2
- *** 5
3
- - start_with 21824080
4
- --- 5 -----
5
- + start_with 22347760
6
- ***************
7
- *** 7,8
8
- - at_state(21819770) {
9
- - for_characters("6", "7", "8", "9", "0", "1", "2", "3", "4", "5") { switch_to 21819470 }
10
- --- 7,8 -----
11
- + at_state(22321370) {
12
- + accept("\\)")
13
- ***************
14
- *** 11,12
15
- - at_state(21821860) {
16
- - recognize("\\+")
17
- --- 11,12 -----
18
- + at_state(22339000) {
19
- + for_characters("6", "7", "8", "9", "0", "1", "2", "3", "4", "5") { switch_to 22337320 }
20
- ***************
21
- *** 15,17
22
- - at_state(21817320) {
23
- - recognize("\\w+")
24
- - for_characters("k", "V", "K", "v", "L", "A", "a", "w", "l", "W", "M", "B", "X", "x", "m", "b", "y", "n", "c", "N", "Y", "C", "d", "Z", "O", "D", "z", "o", "E", "p", "e", "P", "Q", "F", "q", "f", "r", "g", "R", "G", "h", "S", "H", "s", "T", "I", "t", "i", "J", "u", "j", "U") { switch_to 21817320 }
25
- --- 15,16 -----
26
- + at_state(22342900) {
27
- + accept("==")
28
- ***************
29
- *** 20,21
30
- - at_state(21820580) {
31
- - recognize("!")
32
- --- 19,37 -----
33
- + at_state(22347760) {
34
- + accept("\\d*(\\.\\d+)?")
35
- + for_characters(")") { switch_to 22321370 }
36
- + for_characters("^") { switch_to 22291450 }
37
- + for_characters("+") { switch_to 22322410 }
38
- + for_characters("(") { switch_to 22319550 }
39
- + for_characters(" ") { switch_to 22289950 }
40
- + for_characters(">") { switch_to 22293250 }
41
- + for_characters("8", "9", "0", "1", "2", "3", "4", "5", "6", "7") { switch_to 22341260 }
42
- + for_characters("\n") { switch_to 22294340 }
43
- + for_characters(".") { switch_to 22339000 }
44
- + for_characters(",") { switch_to 22320520 }
45
- + for_characters("!") { switch_to 22325520 }
46
- + for_characters("*") { switch_to 22292410 }
47
- + for_characters("J", "o", "p", "K", "q", "L", "r", "M", "s", "N", "t", "O", "a", "u", "P", "b", "Q", "c", "v", "R", "d", "w", "S", "e", "x", "T", "f", "y", "A", "U", "g", "z", "B", "h", "C", "V", "i", "D", "W", "j", "E", "X", "F", "Y", "k", "G", "Z", "l", "H", "m", "I", "n") { switch_to 22317930 }
48
- + for_characters("/") { switch_to 22288930 }
49
- + for_characters("-") { switch_to 22326990 }
50
- + for_characters("=") { switch_to 22344860 }
51
- + for_characters("<") { switch_to 22324070 }
52
- ***************
53
- *** 24,25
54
- - at_state(21821040) {
55
- - recognize("\\^")
56
- --- 40,41 -----
57
- + at_state(22325520) {
58
- + accept("!")
59
- ***************
60
- *** 28,29
61
- - at_state(21822840) {
62
- - recognize(",")
63
- --- 44,46 -----
64
- + at_state(22317930) {
65
- + accept("\\w+")
66
- + for_characters("K", "V", "k", "v", "a", "A", "L", "W", "l", "w", "b", "B", "M", "X", "m", "x", "C", "N", "Y", "c", "n", "y", "D", "O", "Z", "d", "o", "z", "E", "P", "e", "p", "F", "Q", "f", "q", "G", "R", "g", "r", "H", "S", "h", "s", "I", "T", "i", "t", "j", "u", "J", "U") { switch_to 22317930 }
67
- ***************
68
- *** 32,33
69
- - at_state(21822110) {
70
- - recognize(">")
71
- --- 49,50 -----
72
- + at_state(22320520) {
73
- + accept(",")
74
- ***************
75
- *** 36,54
76
- - at_state(21824080) {
77
- - recognize("\\d*(\\.\\d+)?")
78
- - for_characters(".") { switch_to 21819770 }
79
- - for_characters("+") { switch_to 21821860 }
80
- - for_characters("/") { switch_to 21820370 }
81
- - for_characters("*") { switch_to 21823340 }
82
- - for_characters(",") { switch_to 21822840 }
83
- - for_characters("!") { switch_to 21820580 }
84
- - for_characters("=") { switch_to 21821620 }
85
- - for_characters(" ") { switch_to 21822330 }
86
- - for_characters("\n") { switch_to 21823100 }
87
- - for_characters(">") { switch_to 21822110 }
88
- - for_characters("(") { switch_to 21820790 }
89
- - for_characters("<") { switch_to 21823590 }
90
- - for_characters("J", "o", "p", "K", "q", "L", "r", "M", "s", "N", "t", "O", "a", "u", "P", "b", "Q", "c", "v", "R", "d", "w", "S", "e", "x", "T", "f", "y", "A", "U", "g", "z", "B", "h", "C", "V", "i", "D", "W", "j", "E", "X", "F", "Y", "k", "G", "Z", "l", "H", "m", "I", "n") { switch_to 21817320 }
91
- - for_characters(")") { switch_to 21817530 }
92
- - for_characters("-") { switch_to 21822580 }
93
- - for_characters("^") { switch_to 21821040 }
94
- - for_characters("8", "9", "0", "1", "2", "3", "4", "5", "6", "7") { switch_to 21820160 }
95
- --- 53,54 -----
96
- + at_state(22322410) {
97
- + accept("\\+")
98
- ***************
99
- *** 57,58
100
- - at_state(21817530) {
101
- - recognize("\\)")
102
- --- 57,59 -----
103
- + at_state(22344860) {
104
- + accept("=")
105
- + for_characters("=") { switch_to 22342900 }
106
- ***************
107
- *** 61,62
108
- - at_state(21822580) {
109
- - recognize("-")
110
- --- 62,63 -----
111
- + at_state(22324070) {
112
- + accept("<")
113
- ***************
114
- *** 65,66
115
- - at_state(21823340) {
116
- - recognize("\\*")
117
- --- 66,67 -----
118
- + at_state(22288930) {
119
- + accept("\\/")
120
- ***************
121
- *** 69,70
122
- - at_state(21820370) {
123
- - recognize("\\/")
124
- --- 70,71 -----
125
- + at_state(22289950) {
126
- + accept(" ")
127
- ***************
128
- *** 73,74
129
- - at_state(21823100) {
130
- - recognize("\n")
131
- --- 74,75 -----
132
- + at_state(22291450) {
133
- + accept("\\^")
134
- ***************
135
- *** 77,80
136
- - at_state(21820160) {
137
- - recognize("\\d*(\\.\\d+)?")
138
- - for_characters(".") { switch_to 21819770 }
139
- - for_characters("6", "7", "8", "9", "0", "1", "2", "3", "4", "5") { switch_to 21820160 }
140
- --- 78,79 -----
141
- + at_state(22292410) {
142
- + accept("\\*")
143
- ***************
144
- *** 83,84
145
- - at_state(21820790) {
146
- - recognize("\\(")
147
- --- 82,83 -----
148
- + at_state(22294340) {
149
- + accept("\n")
150
- ***************
151
- *** 87,88
152
- - at_state(21821310) {
153
- - recognize("==")
154
- --- 86,88 -----
155
- + at_state(22337320) {
156
- + accept("\\d*(\\.\\d+)?")
157
- + for_characters("6", "7", "8", "9", "0", "1", "2", "3", "4", "5") { switch_to 22337320 }
158
- ***************
159
- *** 91,92
160
- - at_state(21822330) {
161
- - recognize(" ")
162
- --- 91,94 -----
163
- + at_state(22341260) {
164
- + accept("\\d*(\\.\\d+)?")
165
- + for_characters("6", "7", "8", "9", "0", "1", "2", "3", "4", "5") { switch_to 22341260 }
166
- + for_characters(".") { switch_to 22339000 }
167
- ***************
168
- *** 95,96
169
- - at_state(21823590) {
170
- - recognize("<")
171
- --- 97,98 -----
172
- + at_state(22293250) {
173
- + accept(">")
174
- ***************
175
- *** 99,101
176
- - at_state(21819470) {
177
- - recognize("\\d*(\\.\\d+)?")
178
- - for_characters("6", "7", "8", "9", "0", "1", "2", "3", "4", "5") { switch_to 21819470 }
179
- --- 101,102 -----
180
- + at_state(22319550) {
181
- + accept("\\(")
182
- ***************
183
- *** 104,106
184
- - at_state(21821620) {
185
- - recognize("=")
186
- - for_characters("=") { switch_to 21821310 }
187
- --- 105,106 -----
188
- + at_state(22326990) {
189
- + accept("-")
@@ -1,1623 +0,0 @@
1
- ***************
2
- *** 7,18
3
- - at_state(76) {
4
- - for_symbols("return") { shift_to 66 }
5
- - for_symbols("newline") { shift_to 2 }
6
- - for_symbols("function_body") { shift_to 77 }
7
- - for_symbols("word_literal") { shift_to 40 }
8
- - for_symbols("var_name") { shift_to 63 }
9
- - for_symbols("print") { shift_to 18 }
10
- - for_symbols("function_name") { shift_to 59 }
11
- - for_symbols("simple_statement") { shift_to 17 }
12
- - for_symbols("while") { shift_to 56 }
13
- - for_symbols("function_body_statement") { shift_to 16 }
14
- - for_symbols("if") { shift_to 53 }
15
- --- 7,9 -----
16
- + at_state(94) {
17
- + for_symbols("terms") { shift_to 95 }
18
- + for_symbols("newline") { shift_to 37 }
19
- ***************
20
- *** 21,29
21
- - at_state(27) {
22
- - for_symbols("var_name") { shift_to 48 }
23
- - for_symbols("numeric_literal") { shift_to 19 }
24
- - for_symbols("!") { shift_to 49 }
25
- - for_symbols("word_literal") { shift_to 40 }
26
- - for_symbols("function_name") { shift_to 43 }
27
- - for_symbols("-") { shift_to 41 }
28
- - for_symbols("(") { shift_to 37 }
29
- - for_symbols("expression") { shift_to 28 }
30
- --- 12,22 -----
31
- + at_state(46) {
32
- + for_symbols("(") { shift_to 29 }
33
- + for_symbols("function_name") { shift_to 5 }
34
- + for_symbols("-") { shift_to 32 }
35
- + for_symbols("!") { shift_to 4 }
36
- + for_symbols("numeric_literal") { shift_to 11 }
37
- + for_symbols("word_literal") { shift_to 2 }
38
- + for_symbols("expression") { shift_to 34 }
39
- + for_symbols("arg_list") { shift_to 47 }
40
- + for_symbols(",", ")") { reduce_with "no_args" }
41
- + for_symbols("var_name") { shift_to 7 }
42
- ***************
43
- *** 32,40
44
- - at_state(21) {
45
- - for_symbols("var_name") { shift_to 48 }
46
- - for_symbols("expression") { shift_to 22 }
47
- - for_symbols("numeric_literal") { shift_to 19 }
48
- - for_symbols("!") { shift_to 49 }
49
- - for_symbols("word_literal") { shift_to 40 }
50
- - for_symbols("function_name") { shift_to 43 }
51
- - for_symbols("-") { shift_to 41 }
52
- - for_symbols("(") { shift_to 37 }
53
- --- 25,29 -----
54
- + at_state(0) {
55
- + for_symbols("opt_terms") { shift_to 1 }
56
- + for_symbols("newline") { shift_to 37 }
57
- + for_symbols("word_literal", "def", "print", "if", "while") { reduce_with "no_terms" }
58
- + for_symbols("terms") { shift_to 105 }
59
- ***************
60
- *** 43,44
61
- - at_state(104) {
62
- - for_symbols("_End_", "newline") { reduce_with "main_body_if_else_statement" }
63
- --- 32,40 -----
64
- + at_state(25) {
65
- + for_symbols("(") { shift_to 29 }
66
- + for_symbols("expression") { shift_to 26 }
67
- + for_symbols("function_name") { shift_to 5 }
68
- + for_symbols("-") { shift_to 32 }
69
- + for_symbols("!") { shift_to 4 }
70
- + for_symbols("numeric_literal") { shift_to 11 }
71
- + for_symbols("word_literal") { shift_to 2 }
72
- + for_symbols("var_name") { shift_to 7 }
73
- ***************
74
- *** 47,48
75
- - at_state(91) {
76
- - for_symbols("_End_", "newline") { reduce_with "main_body_if_statement" }
77
- --- 43,51 -----
78
- + at_state(3) {
79
- + for_symbols("(") { shift_to 29 }
80
- + for_symbols("function_name") { shift_to 5 }
81
- + for_symbols("expression") { shift_to 36 }
82
- + for_symbols("-") { shift_to 32 }
83
- + for_symbols("!") { shift_to 4 }
84
- + for_symbols("numeric_literal") { shift_to 11 }
85
- + for_symbols("word_literal") { shift_to 2 }
86
- + for_symbols("var_name") { shift_to 7 }
87
- ***************
88
- *** 51,63
89
- - at_state(90) {
90
- - for_symbols("main_body_statement") { shift_to 98 }
91
- - for_symbols("newline") { shift_to 2 }
92
- - for_symbols("def") { shift_to 5 }
93
- - for_symbols("else") { shift_to 100 }
94
- - for_symbols("word_literal") { shift_to 40 }
95
- - for_symbols("var_name") { shift_to 63 }
96
- - for_symbols("end") { shift_to 91 }
97
- - for_symbols("print") { shift_to 18 }
98
- - for_symbols("while") { shift_to 92 }
99
- - for_symbols("function_name") { shift_to 59 }
100
- - for_symbols("if") { shift_to 86 }
101
- - for_symbols("simple_statement") { shift_to 83 }
102
- --- 54,60 -----
103
- + at_state(22) {
104
- + for_symbols("*") { shift_to 15 }
105
- + for_symbols("^") { shift_to 27 }
106
- + for_symbols("/") { shift_to 23 }
107
- + for_symbols("+") { shift_to 19 }
108
- + for_symbols("==", ",", "_End_", "newline", ")") { reduce_with "less_than_comparison" }
109
- + for_symbols("-") { shift_to 25 }
110
- ***************
111
- *** 66,77
112
- - at_state(55) {
113
- - for_symbols("return") { shift_to 66 }
114
- - for_symbols("newline") { shift_to 2 }
115
- - for_symbols("function_body") { shift_to 72 }
116
- - for_symbols("word_literal") { shift_to 40 }
117
- - for_symbols("var_name") { shift_to 63 }
118
- - for_symbols("print") { shift_to 18 }
119
- - for_symbols("function_name") { shift_to 59 }
120
- - for_symbols("simple_statement") { shift_to 17 }
121
- - for_symbols("while") { shift_to 56 }
122
- - for_symbols("function_body_statement") { shift_to 16 }
123
- - for_symbols("if") { shift_to 53 }
124
- --- 63,65 -----
125
- + at_state(42) {
126
- + for_symbols("terms") { shift_to 43 }
127
- + for_symbols("newline") { shift_to 37 }
128
- ***************
129
- *** 80,89
130
- - at_state(20) {
131
- - for_symbols("<") { shift_to 23 }
132
- - for_symbols("*") { shift_to 33 }
133
- - for_symbols("+") { shift_to 21 }
134
- - for_symbols(">") { shift_to 31 }
135
- - for_symbols("^") { shift_to 27 }
136
- - for_symbols("-") { shift_to 29 }
137
- - for_symbols("_End_", "newline") { reduce_with "print_statement" }
138
- - for_symbols("/") { shift_to 25 }
139
- - for_symbols("==") { shift_to 35 }
140
- --- 68,69 -----
141
- + at_state(84) {
142
- + for_symbols("newline") { reduce_with "function_body_if_else_statement" }
143
- ***************
144
- *** 92,94
145
- - at_state(14) {
146
- - for_symbols("terms") { shift_to 15 }
147
- - for_symbols("newline") { shift_to 3 }
148
- --- 72,73 -----
149
- + at_state(73) {
150
- + for_symbols("newline") { reduce_with "function_body_simple_statement" }
151
- ***************
152
- *** 97,108
153
- - at_state(85) {
154
- - for_symbols("main_body_statement") { shift_to 98 }
155
- - for_symbols("newline") { shift_to 2 }
156
- - for_symbols("def") { shift_to 5 }
157
- - for_symbols("_End_") { reduce_with "some_terms" }
158
- - for_symbols("word_literal") { shift_to 40 }
159
- - for_symbols("var_name") { shift_to 63 }
160
- - for_symbols("print") { shift_to 18 }
161
- - for_symbols("while") { shift_to 92 }
162
- - for_symbols("function_name") { shift_to 59 }
163
- - for_symbols("if") { shift_to 86 }
164
- - for_symbols("simple_statement") { shift_to 83 }
165
- --- 76,78 -----
166
- + at_state(66) {
167
- + for_symbols("terms") { shift_to 67 }
168
- + for_symbols("newline") { shift_to 37 }
169
- ***************
170
- *** 111,113
171
- - at_state(72) {
172
- - for_symbols("terms") { shift_to 73 }
173
- - for_symbols("newline") { shift_to 3 }
174
- --- 81,82 -----
175
- + at_state(37) {
176
- + for_symbols("word_literal", "def", "end", "print", "else", "if", "_End_", "newline", "return", "while") { reduce_with "single_term" }
177
- ***************
178
- *** 116,127
179
- - at_state(69) {
180
- - for_symbols("return") { shift_to 66 }
181
- - for_symbols("newline") { shift_to 2 }
182
- - for_symbols("end") { shift_to 71 }
183
- - for_symbols("word_literal") { shift_to 40 }
184
- - for_symbols("function_body_statement") { shift_to 70 }
185
- - for_symbols("var_name") { shift_to 63 }
186
- - for_symbols("print") { shift_to 18 }
187
- - for_symbols("function_name") { shift_to 59 }
188
- - for_symbols("simple_statement") { shift_to 17 }
189
- - for_symbols("while") { shift_to 56 }
190
- - for_symbols("if") { shift_to 53 }
191
- --- 85,93 -----
192
- + at_state(19) {
193
- + for_symbols("(") { shift_to 29 }
194
- + for_symbols("function_name") { shift_to 5 }
195
- + for_symbols("-") { shift_to 32 }
196
- + for_symbols("!") { shift_to 4 }
197
- + for_symbols("numeric_literal") { shift_to 11 }
198
- + for_symbols("word_literal") { shift_to 2 }
199
- + for_symbols("expression") { shift_to 20 }
200
- + for_symbols("var_name") { shift_to 7 }
201
- ***************
202
- *** 130,132
203
- - at_state(68) {
204
- - for_symbols("terms") { shift_to 69 }
205
- - for_symbols("newline") { shift_to 3 }
206
- --- 96,106 -----
207
- + at_state(36) {
208
- + for_symbols("*") { shift_to 15 }
209
- + for_symbols("^") { shift_to 27 }
210
- + for_symbols(">") { shift_to 13 }
211
- + for_symbols("/") { shift_to 23 }
212
- + for_symbols("<") { shift_to 21 }
213
- + for_symbols("newline") { shift_to 37 }
214
- + for_symbols("terms") { shift_to 38 }
215
- + for_symbols("+") { shift_to 19 }
216
- + for_symbols("==") { shift_to 17 }
217
- + for_symbols("-") { shift_to 25 }
218
- ***************
219
- *** 135,143
220
- - at_state(41) {
221
- - for_symbols("var_name") { shift_to 48 }
222
- - for_symbols("numeric_literal") { shift_to 19 }
223
- - for_symbols("!") { shift_to 49 }
224
- - for_symbols("expression") { shift_to 42 }
225
- - for_symbols("word_literal") { shift_to 40 }
226
- - for_symbols("function_name") { shift_to 43 }
227
- - for_symbols("-") { shift_to 41 }
228
- - for_symbols("(") { shift_to 37 }
229
- --- 109,119 -----
230
- + at_state(64) {
231
- + for_symbols("*") { shift_to 15 }
232
- + for_symbols("^") { shift_to 27 }
233
- + for_symbols(">") { shift_to 13 }
234
- + for_symbols("/") { shift_to 23 }
235
- + for_symbols("<") { shift_to 21 }
236
- + for_symbols("newline") { shift_to 37 }
237
- + for_symbols("+") { shift_to 19 }
238
- + for_symbols("terms") { shift_to 65 }
239
- + for_symbols("==") { shift_to 17 }
240
- + for_symbols("-") { shift_to 25 }
241
- ***************
242
- *** 146,147
243
- - at_state(16) {
244
- - for_symbols("newline") { reduce_with "single_function_body_statement" }
245
- --- 122,124 -----
246
- + at_state(47) {
247
- + for_symbols(",") { shift_to 10 }
248
- + for_symbols(")") { shift_to 48 }
249
- ***************
250
- *** 150,151
251
- - at_state(2) {
252
- - for_symbols("word_literal", "end", "def", "print", "else", "if", "_End_", "return", "newline", "while") { reduce_with "multiple_terms" }
253
- --- 127,135 -----
254
- + at_state(60) {
255
- + for_symbols("(") { shift_to 29 }
256
- + for_symbols("function_name") { shift_to 5 }
257
- + for_symbols("-") { shift_to 32 }
258
- + for_symbols("!") { shift_to 4 }
259
- + for_symbols("numeric_literal") { shift_to 11 }
260
- + for_symbols("word_literal") { shift_to 2 }
261
- + for_symbols("expression") { shift_to 61 }
262
- + for_symbols("var_name") { shift_to 7 }
263
- ***************
264
- *** 154,165
265
- - at_state(94) {
266
- - for_symbols("newline") { shift_to 2 }
267
- - for_symbols("main_body_statement") { shift_to 99 }
268
- - for_symbols("def") { shift_to 5 }
269
- - for_symbols("main_body") { shift_to 95 }
270
- - for_symbols("word_literal") { shift_to 40 }
271
- - for_symbols("var_name") { shift_to 63 }
272
- - for_symbols("print") { shift_to 18 }
273
- - for_symbols("while") { shift_to 92 }
274
- - for_symbols("function_name") { shift_to 59 }
275
- - for_symbols("if") { shift_to 86 }
276
- - for_symbols("simple_statement") { shift_to 83 }
277
- --- 138,142 -----
278
- + at_state(20) {
279
- + for_symbols("*") { shift_to 15 }
280
- + for_symbols("^") { shift_to 27 }
281
- + for_symbols("/") { shift_to 23 }
282
- + for_symbols("+", "==", ",", "-", "<", "_End_", ">", "newline", ")") { reduce_with "addition" }
283
- ***************
284
- *** 168,169
285
- - at_state(83) {
286
- - for_symbols("_End_", "newline") { reduce_with "main_body_simple_statement" }
287
- --- 145,146 -----
288
- + at_state(90) {
289
- + for_symbols(",", ")") { reduce_with "single_arg_declaration" }
290
- ***************
291
- *** 172,176
292
- - at_state(30) {
293
- - for_symbols("*") { shift_to 33 }
294
- - for_symbols("^") { shift_to 27 }
295
- - for_symbols("==", "+", ",", "-", "<", "_End_", ">", "newline", ")") { reduce_with "subtraction" }
296
- - for_symbols("/") { shift_to 25 }
297
- --- 149,151 -----
298
- + at_state(77) {
299
- + for_symbols("newline") { shift_to 37 }
300
- + for_symbols("terms") { shift_to 78 }
301
- ***************
302
- *** 179,188
303
- - at_state(47) {
304
- - for_symbols("<") { shift_to 23 }
305
- - for_symbols("*") { shift_to 33 }
306
- - for_symbols("+") { shift_to 21 }
307
- - for_symbols(">") { shift_to 31 }
308
- - for_symbols("^") { shift_to 27 }
309
- - for_symbols("-") { shift_to 29 }
310
- - for_symbols("/") { shift_to 25 }
311
- - for_symbols(",", ")") { reduce_with "multiple_args" }
312
- - for_symbols("==") { shift_to 35 }
313
- --- 154,155 -----
314
- + at_state(68) {
315
- + for_symbols("newline") { reduce_with "function_body_while_statement" }
316
- ***************
317
- *** 191,192
318
- - at_state(7) {
319
- - for_symbols("(") { shift_to 8 }
320
- --- 158,162 -----
321
- + at_state(26) {
322
- + for_symbols("*") { shift_to 15 }
323
- + for_symbols("^") { shift_to 27 }
324
- + for_symbols("/") { shift_to 23 }
325
- + for_symbols("+", "==", ",", "-", "<", "_End_", ">", "newline", ")") { reduce_with "subtraction" }
326
- ***************
327
- *** 195,196
328
- - at_state(43) {
329
- - for_symbols("(") { shift_to 44 }
330
- --- 165,174 -----
331
- + at_state(30) {
332
- + for_symbols("*") { shift_to 15 }
333
- + for_symbols("^") { shift_to 27 }
334
- + for_symbols(">") { shift_to 13 }
335
- + for_symbols("/") { shift_to 23 }
336
- + for_symbols(")") { shift_to 31 }
337
- + for_symbols("<") { shift_to 21 }
338
- + for_symbols("+") { shift_to 19 }
339
- + for_symbols("==") { shift_to 17 }
340
- + for_symbols("-") { shift_to 25 }
341
- ***************
342
- *** 199,200
343
- - at_state(50) {
344
- - for_symbols("==", "+", ",", "-", "/", "<", "_End_", ">", "^", "newline", ")", "*") { reduce_with "negation" }
345
- --- 177,178 -----
346
- + at_state(5) {
347
- + for_symbols("(") { shift_to 6 }
348
- ***************
349
- *** 203,205
350
- - at_state(61) {
351
- - for_symbols(")") { shift_to 62 }
352
- - for_symbols(",") { shift_to 46 }
353
- --- 181,182 -----
354
- + at_state(54) {
355
- + for_symbols("(") { shift_to 55 }
356
- ***************
357
- *** 208,210
358
- - at_state(34) {
359
- - for_symbols("^") { shift_to 27 }
360
- - for_symbols("==", "+", ",", "-", "/", "<", "_End_", ">", "newline", ")", "*") { reduce_with "multiplication" }
361
- --- 185,186 -----
362
- + at_state(45) {
363
- + for_symbols("(") { shift_to 46 }
364
- ***************
365
- *** 414,422
366
- - at_state(92) {
367
- - for_symbols("var_name") { shift_to 48 }
368
- - for_symbols("numeric_literal") { shift_to 19 }
369
- - for_symbols("!") { shift_to 49 }
370
- - for_symbols("expression") { shift_to 93 }
371
- - for_symbols("word_literal") { shift_to 40 }
372
- - for_symbols("function_name") { shift_to 43 }
373
- - for_symbols("-") { shift_to 41 }
374
- - for_symbols("(") { shift_to 37 }
375
- --- 399,407 -----
376
- + at_state(50) {
377
- + for_symbols("(") { shift_to 29 }
378
- + for_symbols("function_name") { shift_to 5 }
379
- + for_symbols("-") { shift_to 32 }
380
- + for_symbols("!") { shift_to 4 }
381
- + for_symbols("numeric_literal") { shift_to 11 }
382
- + for_symbols("word_literal") { shift_to 2 }
383
- + for_symbols("expression") { shift_to 51 }
384
- + for_symbols("var_name") { shift_to 7 }
385
- ***************
386
- *** 425,426
387
- - at_state(79) {
388
- - for_symbols("newline") { reduce_with "function_body_if_else_statement" }
389
- --- 410,411 -----
390
- + at_state(31) {
391
- + for_symbols("+", "==", ",", "-", "/", "<", "_End_", "^", ">", "newline", ")", "*") { reduce_with "parenthetized_expression" }
392
- ***************
393
- *** 429,437
394
- - at_state(36) {
395
- - for_symbols("<") { shift_to 23 }
396
- - for_symbols("*") { shift_to 33 }
397
- - for_symbols("+") { shift_to 21 }
398
- - for_symbols(">") { shift_to 31 }
399
- - for_symbols("^") { shift_to 27 }
400
- - for_symbols("-") { shift_to 29 }
401
- - for_symbols(",", "_End_", "newline", ")") { reduce_with "equality_comparison" }
402
- - for_symbols("/") { shift_to 25 }
403
- --- 414,422 -----
404
- + at_state(4) {
405
- + for_symbols("(") { shift_to 29 }
406
- + for_symbols("expression") { shift_to 35 }
407
- + for_symbols("function_name") { shift_to 5 }
408
- + for_symbols("-") { shift_to 32 }
409
- + for_symbols("!") { shift_to 4 }
410
- + for_symbols("numeric_literal") { shift_to 11 }
411
- + for_symbols("word_literal") { shift_to 2 }
412
- + for_symbols("var_name") { shift_to 7 }
413
- ***************
414
- *** 440,448
415
- - at_state(64) {
416
- - for_symbols("var_name") { shift_to 48 }
417
- - for_symbols("expression") { shift_to 65 }
418
- - for_symbols("numeric_literal") { shift_to 19 }
419
- - for_symbols("!") { shift_to 49 }
420
- - for_symbols("word_literal") { shift_to 40 }
421
- - for_symbols("function_name") { shift_to 43 }
422
- - for_symbols("-") { shift_to 41 }
423
- - for_symbols("(") { shift_to 37 }
424
- --- 425,433 -----
425
- + at_state(10) {
426
- + for_symbols("(") { shift_to 29 }
427
- + for_symbols("function_name") { shift_to 5 }
428
- + for_symbols("-") { shift_to 32 }
429
- + for_symbols("!") { shift_to 4 }
430
- + for_symbols("numeric_literal") { shift_to 11 }
431
- + for_symbols("word_literal") { shift_to 2 }
432
- + for_symbols("expression") { shift_to 12 }
433
- + for_symbols("var_name") { shift_to 7 }
434
- ***************
435
- *** 451,462
436
- - at_state(103) {
437
- - for_symbols("main_body_statement") { shift_to 98 }
438
- - for_symbols("newline") { shift_to 2 }
439
- - for_symbols("def") { shift_to 5 }
440
- - for_symbols("end") { shift_to 104 }
441
- - for_symbols("word_literal") { shift_to 40 }
442
- - for_symbols("var_name") { shift_to 63 }
443
- - for_symbols("print") { shift_to 18 }
444
- - for_symbols("while") { shift_to 92 }
445
- - for_symbols("function_name") { shift_to 59 }
446
- - for_symbols("if") { shift_to 86 }
447
- - for_symbols("simple_statement") { shift_to 83 }
448
- --- 436,445 -----
449
- + at_state(70) {
450
- + for_symbols("*") { shift_to 15 }
451
- + for_symbols("^") { shift_to 27 }
452
- + for_symbols(">") { shift_to 13 }
453
- + for_symbols("/") { shift_to 23 }
454
- + for_symbols("<") { shift_to 21 }
455
- + for_symbols("newline") { reduce_with "return_statement" }
456
- + for_symbols("+") { shift_to 19 }
457
- + for_symbols("==") { shift_to 17 }
458
- + for_symbols("-") { shift_to 25 }
459
- ***************
460
- *** 465,467
461
- - at_state(8) {
462
- - for_symbols("word_literal") { shift_to 10 }
463
- - for_symbols("arg_decl") { shift_to 9 }
464
- --- 448,451 -----
465
- + at_state(55) {
466
- + for_symbols("arg_declarations") { shift_to 57 }
467
- + for_symbols("arg_decl") { shift_to 90 }
468
- + for_symbols("word_literal") { shift_to 56 }
469
- ***************
470
- *** 469
471
- - for_symbols("arg_declarations") { shift_to 11 }
472
- --- 0 -----
473
- ***************
474
- *** 472,482
475
- - at_state(44) {
476
- - for_symbols("arg_list") { shift_to 45 }
477
- - for_symbols("var_name") { shift_to 48 }
478
- - for_symbols("numeric_literal") { shift_to 19 }
479
- - for_symbols("!") { shift_to 49 }
480
- - for_symbols("word_literal") { shift_to 40 }
481
- - for_symbols("function_name") { shift_to 43 }
482
- - for_symbols("-") { shift_to 41 }
483
- - for_symbols("(") { shift_to 37 }
484
- - for_symbols("expression") { shift_to 52 }
485
- - for_symbols(",", ")") { reduce_with "no_args" }
486
- --- 455,456 -----
487
- + at_state(56) {
488
- + for_symbols(",", ")") { reduce_with "arg_declaration" }
489
- ***************
490
- *** 485,486
491
- - at_state(59) {
492
- - for_symbols("(") { shift_to 60 }
493
- --- 459,470 -----
494
- + at_state(100) {
495
- + for_symbols("var_name") { shift_to 49 }
496
- + for_symbols("function_name") { shift_to 45 }
497
- + for_symbols("while") { shift_to 39 }
498
- + for_symbols("main_body_statement") { shift_to 91 }
499
- + for_symbols("word_literal") { shift_to 2 }
500
- + for_symbols("newline") { shift_to 72 }
501
- + for_symbols("print") { shift_to 74 }
502
- + for_symbols("end") { shift_to 101 }
503
- + for_symbols("if") { shift_to 3 }
504
- + for_symbols("simple_statement") { shift_to 92 }
505
- + for_symbols("def") { shift_to 52 }
506
- ***************
507
- *** 489,490
508
- - at_state(19) {
509
- - for_symbols("==", "+", ",", "-", "/", "<", "_End_", ">", "^", "newline", ")", "*") { reduce_with "literal" }
510
- --- 473,474 -----
511
- + at_state(87) {
512
- + for_symbols("_End_", "newline") { reduce_with "function_definition" }
513
- ***************
514
- *** 493,503
515
- - at_state(93) {
516
- - for_symbols("<") { shift_to 23 }
517
- - for_symbols("*") { shift_to 33 }
518
- - for_symbols("+") { shift_to 21 }
519
- - for_symbols(">") { shift_to 31 }
520
- - for_symbols("^") { shift_to 27 }
521
- - for_symbols("terms") { shift_to 94 }
522
- - for_symbols("-") { shift_to 29 }
523
- - for_symbols("newline") { shift_to 3 }
524
- - for_symbols("/") { shift_to 25 }
525
- - for_symbols("==") { shift_to 35 }
526
- --- 477,479 -----
527
- + at_state(85) {
528
- + for_symbols("terms") { shift_to 86 }
529
- + for_symbols("newline") { shift_to 37 }
530
- ***************
531
- *** 506,507
532
- - at_state(70) {
533
- - for_symbols("newline") { reduce_with "multiple_function_body_statements" }
534
- --- 482,483 -----
535
- + at_state(79) {
536
- + for_symbols("newline") { reduce_with "function_body_if_statement" }
537
- ***************
538
- *** 510,512
539
- - at_state(1) {
540
- - for_symbols("newline") { shift_to 2 }
541
- - for_symbols("word_literal", "def", "print", "if", "while") { reduce_with "some_terms" }
542
- --- 486,487 -----
543
- + at_state(103) {
544
- + for_symbols("_End_") { reduce_with "program" }
545
- ***************
546
- *** 515,525
547
- - at_state(4) {
548
- - for_symbols("main_body_statement") { shift_to 99 }
549
- - for_symbols("def") { shift_to 5 }
550
- - for_symbols("main_body") { shift_to 84 }
551
- - for_symbols("word_literal") { shift_to 40 }
552
- - for_symbols("var_name") { shift_to 63 }
553
- - for_symbols("print") { shift_to 18 }
554
- - for_symbols("while") { shift_to 92 }
555
- - for_symbols("function_name") { shift_to 59 }
556
- - for_symbols("if") { shift_to 86 }
557
- - for_symbols("simple_statement") { shift_to 83 }
558
- --- 490,491 -----
559
- + at_state(7) {
560
- + for_symbols("+", "==", ",", "-", "/", "<", "_End_", "^", ">", "newline", ")", "*") { reduce_with "variable_reference" }
561
- ***************
562
- *** 528,536
563
- - at_state(37) {
564
- - for_symbols("var_name") { shift_to 48 }
565
- - for_symbols("numeric_literal") { shift_to 19 }
566
- - for_symbols("!") { shift_to 49 }
567
- - for_symbols("word_literal") { shift_to 40 }
568
- - for_symbols("function_name") { shift_to 43 }
569
- - for_symbols("expression") { shift_to 38 }
570
- - for_symbols("-") { shift_to 41 }
571
- - for_symbols("(") { shift_to 37 }
572
- --- 494,502 -----
573
- + at_state(18) {
574
- + for_symbols("*") { shift_to 15 }
575
- + for_symbols("^") { shift_to 27 }
576
- + for_symbols(">") { shift_to 13 }
577
- + for_symbols("/") { shift_to 23 }
578
- + for_symbols(",", "_End_", "newline", ")") { reduce_with "equality_comparison" }
579
- + for_symbols("<") { shift_to 21 }
580
- + for_symbols("+") { shift_to 19 }
581
- + for_symbols("-") { shift_to 25 }
582
- ***************
583
- *** 539,540
584
- - at_state(9) {
585
- - for_symbols(",", ")") { reduce_with "single_arg_declaration" }
586
- --- 505,507 -----
587
- + at_state(88) {
588
- + for_symbols("word_literal") { shift_to 56 }
589
- + for_symbols("arg_decl") { shift_to 89 }
590
- ***************
591
- *** 543,554
592
- - at_state(58) {
593
- - for_symbols("return") { shift_to 66 }
594
- - for_symbols("newline") { shift_to 2 }
595
- - for_symbols("word_literal") { shift_to 40 }
596
- - for_symbols("var_name") { shift_to 63 }
597
- - for_symbols("print") { shift_to 18 }
598
- - for_symbols("function_name") { shift_to 59 }
599
- - for_symbols("simple_statement") { shift_to 17 }
600
- - for_symbols("while") { shift_to 56 }
601
- - for_symbols("function_body_statement") { shift_to 16 }
602
- - for_symbols("function_body") { shift_to 68 }
603
- - for_symbols("if") { shift_to 53 }
604
- --- 510,522 -----
605
- + at_state(78) {
606
- + for_symbols("var_name") { shift_to 49 }
607
- + for_symbols("function_name") { shift_to 45 }
608
- + for_symbols("if") { shift_to 60 }
609
- + for_symbols("function_body_statement") { shift_to 71 }
610
- + for_symbols("end") { shift_to 79 }
611
- + for_symbols("word_literal") { shift_to 2 }
612
- + for_symbols("return") { shift_to 69 }
613
- + for_symbols("newline") { shift_to 72 }
614
- + for_symbols("simple_statement") { shift_to 73 }
615
- + for_symbols("else") { shift_to 80 }
616
- + for_symbols("print") { shift_to 74 }
617
- + for_symbols("while") { shift_to 63 }
618
- ***************
619
- *** 557,565
620
- - at_state(66) {
621
- - for_symbols("var_name") { shift_to 48 }
622
- - for_symbols("expression") { shift_to 67 }
623
- - for_symbols("numeric_literal") { shift_to 19 }
624
- - for_symbols("!") { shift_to 49 }
625
- - for_symbols("word_literal") { shift_to 40 }
626
- - for_symbols("function_name") { shift_to 43 }
627
- - for_symbols("-") { shift_to 41 }
628
- - for_symbols("(") { shift_to 37 }
629
- --- 525,527 -----
630
- + at_state(33) {
631
- + for_symbols("^") { shift_to 27 }
632
- + for_symbols("+", "==", ",", "-", "/", "<", "_End_", ">", "newline", ")", "*") { reduce_with "negated_expression" }
633
- ***************
634
- *** 568,576
635
- - at_state(29) {
636
- - for_symbols("var_name") { shift_to 48 }
637
- - for_symbols("expression") { shift_to 30 }
638
- - for_symbols("numeric_literal") { shift_to 19 }
639
- - for_symbols("!") { shift_to 49 }
640
- - for_symbols("word_literal") { shift_to 40 }
641
- - for_symbols("function_name") { shift_to 43 }
642
- - for_symbols("-") { shift_to 41 }
643
- - for_symbols("(") { shift_to 37 }
644
- --- 530,538 -----
645
- + at_state(13) {
646
- + for_symbols("(") { shift_to 29 }
647
- + for_symbols("function_name") { shift_to 5 }
648
- + for_symbols("-") { shift_to 32 }
649
- + for_symbols("!") { shift_to 4 }
650
- + for_symbols("numeric_literal") { shift_to 11 }
651
- + for_symbols("expression") { shift_to 14 }
652
- + for_symbols("word_literal") { shift_to 2 }
653
- + for_symbols("var_name") { shift_to 7 }
654
- ***************
655
- *** 579,589
656
- - at_state(60) {
657
- - for_symbols("var_name") { shift_to 48 }
658
- - for_symbols("numeric_literal") { shift_to 19 }
659
- - for_symbols("arg_list") { shift_to 61 }
660
- - for_symbols("!") { shift_to 49 }
661
- - for_symbols("word_literal") { shift_to 40 }
662
- - for_symbols("function_name") { shift_to 43 }
663
- - for_symbols("-") { shift_to 41 }
664
- - for_symbols("(") { shift_to 37 }
665
- - for_symbols("expression") { shift_to 52 }
666
- - for_symbols(",", ")") { reduce_with "no_args" }
667
- --- 541,543 -----
668
- + at_state(2) {
669
- + for_symbols("+", "==", ",", "-", "/", "<", "=", "_End_", "^", ">", "newline", ")", "*") { reduce_with "variable_name" }
670
- + for_symbols("(") { reduce_with "function_name" }
671
- ***************
672
- *** 592,595
673
- - at_state(24) {
674
- - for_symbols("*") { shift_to 33 }
675
- - for_symbols("+") { shift_to 21 }
676
- - for_symbols("==", ",", "_End_", "newline", ")") { reduce_with "less_than_comparison" }
677
- --- 546,547 -----
678
- + at_state(14) {
679
- + for_symbols("*") { shift_to 15 }
680
- ***************
681
- *** 597,598
682
- - for_symbols("-") { shift_to 29 }
683
- - for_symbols("/") { shift_to 25 }
684
- --- 549,552 -----
685
- + for_symbols("/") { shift_to 23 }
686
- + for_symbols("+") { shift_to 19 }
687
- + for_symbols("==", ",", "_End_", "newline", ")") { reduce_with "greater_than_comparison" }
688
- + for_symbols("-") { shift_to 25 }
689
- ***************
690
- *** 601,609
691
- - at_state(53) {
692
- - for_symbols("var_name") { shift_to 48 }
693
- - for_symbols("numeric_literal") { shift_to 19 }
694
- - for_symbols("!") { shift_to 49 }
695
- - for_symbols("word_literal") { shift_to 40 }
696
- - for_symbols("function_name") { shift_to 43 }
697
- - for_symbols("expression") { shift_to 54 }
698
- - for_symbols("-") { shift_to 41 }
699
- - for_symbols("(") { shift_to 37 }
700
- --- 555,557 -----
701
- + at_state(57) {
702
- + for_symbols(",") { shift_to 88 }
703
- + for_symbols(")") { shift_to 58 }
704
- ***************
705
- *** 612,616
706
- - at_state(0) {
707
- - for_symbols("word_literal", "def", "print", "if", "while") { reduce_with "no_terms" }
708
- - for_symbols("opt_terms") { shift_to 4 }
709
- - for_symbols("terms") { shift_to 1 }
710
- - for_symbols("newline") { shift_to 3 }
711
- --- 560,575 -----
712
- + at_state(98) {
713
- + for_symbols("var_name") { shift_to 49 }
714
- + for_symbols("function_name") { shift_to 45 }
715
- + for_symbols("while") { shift_to 39 }
716
- + for_symbols("word_literal") { shift_to 2 }
717
- + for_symbols("newline") { shift_to 72 }
718
- + for_symbols("main_body") { shift_to 99 }
719
- + for_symbols("print") { shift_to 74 }
720
- + for_symbols("if") { shift_to 3 }
721
- + for_symbols("main_body_statement") { shift_to 93 }
722
- + for_symbols("simple_statement") { shift_to 92 }
723
- + for_symbols("def") { shift_to 52 }
724
- + }
725
- +
726
- + at_state(35) {
727
- + for_symbols("+", "==", ",", "-", "/", "<", "_End_", "^", ">", "newline", ")", "*") { reduce_with "negation" }
728
- ***************
729
- *** 620
730
- - for_symbols("(") { reduce_with "function_name" }
731
- --- 579,588 -----
732
- + for_symbols("(") { shift_to 29 }
733
- + for_symbols("function_name") { shift_to 5 }
734
- + for_symbols("-") { shift_to 32 }
735
- + for_symbols("!") { shift_to 4 }
736
- + for_symbols("numeric_literal") { shift_to 11 }
737
- + for_symbols("word_literal") { shift_to 2 }
738
- + for_symbols("expression") { shift_to 34 }
739
- + for_symbols(",", ")") { reduce_with "no_args" }
740
- + for_symbols("var_name") { shift_to 7 }
741
- + for_symbols("arg_list") { shift_to 8 }
742
- ***************
743
- *** 623,624
744
- - at_state(17) {
745
- - for_symbols("newline") { reduce_with "function_body_simple_statement" }
746
- --- 591,593 -----
747
- + at_state(52) {
748
- + for_symbols("word_literal") { shift_to 53 }
749
- + for_symbols("function_name") { shift_to 54 }
750
- ***************
751
- *** 627,628
752
- - at_state(98) {
753
- - for_symbols("_End_", "newline") { reduce_with "multiple_main_body_statements" }
754
- --- 596,597 -----
755
- + at_state(49) {
756
- + for_symbols("=") { shift_to 50 }
757
- ***************
758
- *** 631,641
759
- - at_state(87) {
760
- - for_symbols("<") { shift_to 23 }
761
- - for_symbols("*") { shift_to 33 }
762
- - for_symbols("+") { shift_to 21 }
763
- - for_symbols(">") { shift_to 31 }
764
- - for_symbols("^") { shift_to 27 }
765
- - for_symbols("-") { shift_to 29 }
766
- - for_symbols("newline") { shift_to 3 }
767
- - for_symbols("/") { shift_to 25 }
768
- - for_symbols("terms") { shift_to 88 }
769
- - for_symbols("==") { shift_to 35 }
770
- --- 600,601 -----
771
- + at_state(11) {
772
- + for_symbols("+", "==", ",", "-", "/", "<", "_End_", "^", ">", "newline", ")", "*") { reduce_with "literal" }
773
- ***************
774
- *** 644,648
775
- - at_state(84) {
776
- - for_symbols("terms") { shift_to 85 }
777
- - for_symbols("_End_") { reduce_with "no_terms" }
778
- - for_symbols("newline") { shift_to 3 }
779
- - for_symbols("opt_terms") { shift_to 105 }
780
- --- 604,612 -----
781
- + at_state(17) {
782
- + for_symbols("(") { shift_to 29 }
783
- + for_symbols("function_name") { shift_to 5 }
784
- + for_symbols("-") { shift_to 32 }
785
- + for_symbols("!") { shift_to 4 }
786
- + for_symbols("numeric_literal") { shift_to 11 }
787
- + for_symbols("word_literal") { shift_to 2 }
788
- + for_symbols("expression") { shift_to 18 }
789
- + for_symbols("var_name") { shift_to 7 }
790
- ***************
791
- *** 651,653
792
- - at_state(75) {
793
- - for_symbols("newline") { shift_to 3 }
794
- - for_symbols("terms") { shift_to 76 }
795
- --- 615,616 -----
796
- + at_state(53) {
797
- + for_symbols("(") { reduce_with "function_name" }
798
- ***************
799
- *** 656,666
800
- - at_state(54) {
801
- - for_symbols("terms") { shift_to 55 }
802
- - for_symbols("<") { shift_to 23 }
803
- - for_symbols("*") { shift_to 33 }
804
- - for_symbols("+") { shift_to 21 }
805
- - for_symbols(">") { shift_to 31 }
806
- - for_symbols("^") { shift_to 27 }
807
- - for_symbols("-") { shift_to 29 }
808
- - for_symbols("newline") { shift_to 3 }
809
- - for_symbols("/") { shift_to 25 }
810
- - for_symbols("==") { shift_to 35 }
811
- --- 619,620 -----
812
- + at_state(89) {
813
- + for_symbols(",", ")") { reduce_with "multiple_arg_declarations" }
814
- ***************
815
- *** 669,671
816
- - at_state(5) {
817
- - for_symbols("word_literal") { shift_to 6 }
818
- - for_symbols("function_name") { shift_to 7 }
819
- --- 623,625 -----
820
- + at_state(80) {
821
- + for_symbols("terms") { shift_to 81 }
822
- + for_symbols("newline") { shift_to 37 }
823
- ***************
824
- *** 674,675
825
- - at_state(105) {
826
- - for_symbols("_End_") { reduce_with "program" }
827
- --- 628,630 -----
828
- + at_state(8) {
829
- + for_symbols(",") { shift_to 10 }
830
- + for_symbols(")") { shift_to 9 }
831
- ***************
832
- *** 678,680
833
- - at_state(102) {
834
- - for_symbols("terms") { shift_to 103 }
835
- - for_symbols("newline") { shift_to 3 }
836
- --- 633,641 -----
837
- + at_state(21) {
838
- + for_symbols("(") { shift_to 29 }
839
- + for_symbols("function_name") { shift_to 5 }
840
- + for_symbols("-") { shift_to 32 }
841
- + for_symbols("!") { shift_to 4 }
842
- + for_symbols("numeric_literal") { shift_to 11 }
843
- + for_symbols("word_literal") { shift_to 2 }
844
- + for_symbols("expression") { shift_to 22 }
845
- + for_symbols("var_name") { shift_to 7 }
846
- ***************
847
- *** 683,694
848
- - at_state(81) {
849
- - for_symbols("return") { shift_to 66 }
850
- - for_symbols("newline") { shift_to 2 }
851
- - for_symbols("word_literal") { shift_to 40 }
852
- - for_symbols("function_body_statement") { shift_to 70 }
853
- - for_symbols("var_name") { shift_to 63 }
854
- - for_symbols("print") { shift_to 18 }
855
- - for_symbols("function_name") { shift_to 59 }
856
- - for_symbols("end") { shift_to 82 }
857
- - for_symbols("simple_statement") { shift_to 17 }
858
- - for_symbols("while") { shift_to 56 }
859
- - for_symbols("if") { shift_to 53 }
860
- --- 644,645 -----
861
- + at_state(101) {
862
- + for_symbols("_End_", "newline") { reduce_with "main_body_if_else_statement" }
863
- ***************
864
- *** 697,698
865
- - at_state(74) {
866
- - for_symbols("newline") { reduce_with "function_body_if_statement" }
867
- --- 648,649 -----
868
- + at_state(96) {
869
- + for_symbols("_End_", "newline") { reduce_with "main_body_if_statement" }
870
- ***************
871
- *** 701,713
872
- - at_state(73) {
873
- - for_symbols("return") { shift_to 66 }
874
- - for_symbols("newline") { shift_to 2 }
875
- - for_symbols("end") { shift_to 74 }
876
- - for_symbols("word_literal") { shift_to 40 }
877
- - for_symbols("function_body_statement") { shift_to 70 }
878
- - for_symbols("var_name") { shift_to 63 }
879
- - for_symbols("print") { shift_to 18 }
880
- - for_symbols("function_name") { shift_to 59 }
881
- - for_symbols("simple_statement") { shift_to 17 }
882
- - for_symbols("while") { shift_to 56 }
883
- - for_symbols("if") { shift_to 53 }
884
- - for_symbols("else") { shift_to 75 }
885
- --- 652,653 -----
886
- + at_state(92) {
887
- + for_symbols("_End_", "newline") { reduce_with "main_body_simple_statement" }
888
- ***************
889
- *** 716,717
890
- - at_state(71) {
891
- - for_symbols("newline") { reduce_with "function_body_while_statement" }
892
- --- 656,657 -----
893
- + at_state(91) {
894
- + for_symbols("_End_", "newline") { reduce_with "multiple_main_body_statements" }
895
- ***************
896
- *** 720,721
897
- - at_state(39) {
898
- - for_symbols("==", "+", ",", "-", "/", "<", "_End_", ">", "^", "newline", ")", "*") { reduce_with "parenthetized_expression" }
899
- --- 660,662 -----
900
- + at_state(82) {
901
- + for_symbols("terms") { shift_to 83 }
902
- + for_symbols("newline") { shift_to 37 }
903
- ***************
904
- *** 724,732
905
- - at_state(18) {
906
- - for_symbols("var_name") { shift_to 48 }
907
- - for_symbols("numeric_literal") { shift_to 19 }
908
- - for_symbols("!") { shift_to 49 }
909
- - for_symbols("word_literal") { shift_to 40 }
910
- - for_symbols("function_name") { shift_to 43 }
911
- - for_symbols("-") { shift_to 41 }
912
- - for_symbols("(") { shift_to 37 }
913
- - for_symbols("expression") { shift_to 20 }
914
- --- 665,667 -----
915
- + at_state(24) {
916
- + for_symbols("^") { shift_to 27 }
917
- + for_symbols("+", "==", ",", "-", "/", "<", "_End_", ">", "newline", ")", "*") { reduce_with "division" }
918
- ***************
919
- *** 735,744
920
- - at_state(38) {
921
- - for_symbols(")") { shift_to 39 }
922
- - for_symbols("<") { shift_to 23 }
923
- - for_symbols("*") { shift_to 33 }
924
- - for_symbols("+") { shift_to 21 }
925
- - for_symbols(">") { shift_to 31 }
926
- - for_symbols("^") { shift_to 27 }
927
- - for_symbols("-") { shift_to 29 }
928
- - for_symbols("/") { shift_to 25 }
929
- - for_symbols("==") { shift_to 35 }
930
- --- 670,681 -----
931
- + at_state(83) {
932
- + for_symbols("var_name") { shift_to 49 }
933
- + for_symbols("function_name") { shift_to 45 }
934
- + for_symbols("if") { shift_to 60 }
935
- + for_symbols("function_body_statement") { shift_to 71 }
936
- + for_symbols("word_literal") { shift_to 2 }
937
- + for_symbols("return") { shift_to 69 }
938
- + for_symbols("newline") { shift_to 72 }
939
- + for_symbols("simple_statement") { shift_to 73 }
940
- + for_symbols("print") { shift_to 74 }
941
- + for_symbols("end") { shift_to 84 }
942
- + for_symbols("while") { shift_to 63 }
943
- ***************
944
- *** 747,749
945
- - at_state(11) {
946
- - for_symbols(",") { shift_to 12 }
947
- - for_symbols(")") { shift_to 14 }
948
- --- 684,693 -----
949
- + at_state(75) {
950
- + for_symbols("*") { shift_to 15 }
951
- + for_symbols("^") { shift_to 27 }
952
- + for_symbols(">") { shift_to 13 }
953
- + for_symbols("/") { shift_to 23 }
954
- + for_symbols("<") { shift_to 21 }
955
- + for_symbols("+") { shift_to 19 }
956
- + for_symbols("_End_", "newline") { reduce_with "print_statement" }
957
- + for_symbols("==") { shift_to 17 }
958
- + for_symbols("-") { shift_to 25 }
959
- ***************
960
- *** 752,760
961
- - at_state(49) {
962
- - for_symbols("var_name") { shift_to 48 }
963
- - for_symbols("expression") { shift_to 50 }
964
- - for_symbols("numeric_literal") { shift_to 19 }
965
- - for_symbols("!") { shift_to 49 }
966
- - for_symbols("word_literal") { shift_to 40 }
967
- - for_symbols("function_name") { shift_to 43 }
968
- - for_symbols("-") { shift_to 41 }
969
- - for_symbols("(") { shift_to 37 }
970
- --- 696,704 -----
971
- + at_state(74) {
972
- + for_symbols("(") { shift_to 29 }
973
- + for_symbols("function_name") { shift_to 5 }
974
- + for_symbols("expression") { shift_to 75 }
975
- + for_symbols("-") { shift_to 32 }
976
- + for_symbols("!") { shift_to 4 }
977
- + for_symbols("numeric_literal") { shift_to 11 }
978
- + for_symbols("word_literal") { shift_to 2 }
979
- + for_symbols("var_name") { shift_to 7 }
980
- ***************
981
- *** 763,774
982
- - at_state(15) {
983
- - for_symbols("return") { shift_to 66 }
984
- - for_symbols("newline") { shift_to 2 }
985
- - for_symbols("function_body") { shift_to 80 }
986
- - for_symbols("word_literal") { shift_to 40 }
987
- - for_symbols("var_name") { shift_to 63 }
988
- - for_symbols("print") { shift_to 18 }
989
- - for_symbols("function_name") { shift_to 59 }
990
- - for_symbols("simple_statement") { shift_to 17 }
991
- - for_symbols("while") { shift_to 56 }
992
- - for_symbols("function_body_statement") { shift_to 16 }
993
- - for_symbols("if") { shift_to 53 }
994
- --- 707,708 -----
995
- + at_state(28) {
996
- + for_symbols("+", "==", ",", "-", "/", "<", "_End_", ">", "newline", ")", "*") { reduce_with "power" }
997
- ***************
998
- *** 777,778
999
- - at_state(63) {
1000
- - for_symbols("=") { shift_to 64 }
1001
- --- 711,719 -----
1002
- + at_state(27) {
1003
- + for_symbols("(") { shift_to 29 }
1004
- + for_symbols("function_name") { shift_to 5 }
1005
- + for_symbols("-") { shift_to 32 }
1006
- + for_symbols("!") { shift_to 4 }
1007
- + for_symbols("numeric_literal") { shift_to 11 }
1008
- + for_symbols("expression") { shift_to 28 }
1009
- + for_symbols("word_literal") { shift_to 2 }
1010
- + for_symbols("var_name") { shift_to 7 }
1011
- ***************
1012
- *** 781,782
1013
- - at_state(48) {
1014
- - for_symbols("==", "+", ",", "-", "/", "<", "_End_", ">", "^", "newline", ")", "*") { reduce_with "variable_reference" }
1015
- --- 722,733 -----
1016
- + at_state(43) {
1017
- + for_symbols("var_name") { shift_to 49 }
1018
- + for_symbols("function_name") { shift_to 45 }
1019
- + for_symbols("while") { shift_to 39 }
1020
- + for_symbols("main_body_statement") { shift_to 91 }
1021
- + for_symbols("word_literal") { shift_to 2 }
1022
- + for_symbols("newline") { shift_to 72 }
1023
- + for_symbols("print") { shift_to 74 }
1024
- + for_symbols("end") { shift_to 44 }
1025
- + for_symbols("if") { shift_to 3 }
1026
- + for_symbols("simple_statement") { shift_to 92 }
1027
- + for_symbols("def") { shift_to 52 }
1028
- ***************
1029
- *** 785,787
1030
- - at_state(42) {
1031
- - for_symbols("==", "+", ",", "-", "/", "<", "_End_", ">", "newline", ")", "*") { reduce_with "negated_expression" }
1032
- - for_symbols("^") { shift_to 27 }
1033
- --- 736,747 -----
1034
- + at_state(81) {
1035
- + for_symbols("var_name") { shift_to 49 }
1036
- + for_symbols("function_name") { shift_to 45 }
1037
- + for_symbols("if") { shift_to 60 }
1038
- + for_symbols("word_literal") { shift_to 2 }
1039
- + for_symbols("return") { shift_to 69 }
1040
- + for_symbols("newline") { shift_to 72 }
1041
- + for_symbols("simple_statement") { shift_to 73 }
1042
- + for_symbols("print") { shift_to 74 }
1043
- + for_symbols("function_body_statement") { shift_to 76 }
1044
- + for_symbols("function_body") { shift_to 82 }
1045
- + for_symbols("while") { shift_to 63 }
1046
- ***************
1047
- *** 790,792
1048
- - at_state(89) {
1049
- - for_symbols("terms") { shift_to 90 }
1050
- - for_symbols("newline") { shift_to 3 }
1051
- --- 750,758 -----
1052
- + at_state(39) {
1053
- + for_symbols("(") { shift_to 29 }
1054
- + for_symbols("function_name") { shift_to 5 }
1055
- + for_symbols("-") { shift_to 32 }
1056
- + for_symbols("!") { shift_to 4 }
1057
- + for_symbols("numeric_literal") { shift_to 11 }
1058
- + for_symbols("word_literal") { shift_to 2 }
1059
- + for_symbols("expression") { shift_to 40 }
1060
- + for_symbols("var_name") { shift_to 7 }
1061
- ***************
1062
- *** 795,806
1063
- - at_state(78) {
1064
- - for_symbols("return") { shift_to 66 }
1065
- - for_symbols("newline") { shift_to 2 }
1066
- - for_symbols("end") { shift_to 79 }
1067
- - for_symbols("word_literal") { shift_to 40 }
1068
- - for_symbols("function_body_statement") { shift_to 70 }
1069
- - for_symbols("var_name") { shift_to 63 }
1070
- - for_symbols("print") { shift_to 18 }
1071
- - for_symbols("function_name") { shift_to 59 }
1072
- - for_symbols("simple_statement") { shift_to 17 }
1073
- - for_symbols("while") { shift_to 56 }
1074
- - for_symbols("if") { shift_to 53 }
1075
- --- 761,769 -----
1076
- + at_state(15) {
1077
- + for_symbols("(") { shift_to 29 }
1078
- + for_symbols("function_name") { shift_to 5 }
1079
- + for_symbols("-") { shift_to 32 }
1080
- + for_symbols("!") { shift_to 4 }
1081
- + for_symbols("numeric_literal") { shift_to 11 }
1082
- + for_symbols("word_literal") { shift_to 2 }
1083
- + for_symbols("var_name") { shift_to 7 }
1084
- + for_symbols("expression") { shift_to 16 }
1085
- ***************
1086
- *** 809,818
1087
- - at_state(52) {
1088
- - for_symbols("<") { shift_to 23 }
1089
- - for_symbols(",", ")") { reduce_with "single_arg" }
1090
- - for_symbols("*") { shift_to 33 }
1091
- - for_symbols("+") { shift_to 21 }
1092
- - for_symbols(">") { shift_to 31 }
1093
- - for_symbols("^") { shift_to 27 }
1094
- - for_symbols("-") { shift_to 29 }
1095
- - for_symbols("/") { shift_to 25 }
1096
- - for_symbols("==") { shift_to 35 }
1097
- --- 772,780 -----
1098
- + at_state(23) {
1099
- + for_symbols("(") { shift_to 29 }
1100
- + for_symbols("expression") { shift_to 24 }
1101
- + for_symbols("function_name") { shift_to 5 }
1102
- + for_symbols("-") { shift_to 32 }
1103
- + for_symbols("!") { shift_to 4 }
1104
- + for_symbols("numeric_literal") { shift_to 11 }
1105
- + for_symbols("word_literal") { shift_to 2 }
1106
- + for_symbols("var_name") { shift_to 7 }
1107
- ***************
1108
- *** 821,829
1109
- - at_state(35) {
1110
- - for_symbols("var_name") { shift_to 48 }
1111
- - for_symbols("numeric_literal") { shift_to 19 }
1112
- - for_symbols("!") { shift_to 49 }
1113
- - for_symbols("word_literal") { shift_to 40 }
1114
- - for_symbols("function_name") { shift_to 43 }
1115
- - for_symbols("expression") { shift_to 36 }
1116
- - for_symbols("-") { shift_to 41 }
1117
- - for_symbols("(") { shift_to 37 }
1118
- --- 783,784 -----
1119
- + at_state(9) {
1120
- + for_symbols("+", "==", ",", "-", "/", "<", "_End_", "^", ">", "newline", ")", "*") { reduce_with "function_call_expression" }
1121
- ***************
1122
- *** 832,840
1123
- - at_state(31) {
1124
- - for_symbols("var_name") { shift_to 48 }
1125
- - for_symbols("numeric_literal") { shift_to 19 }
1126
- - for_symbols("!") { shift_to 49 }
1127
- - for_symbols("word_literal") { shift_to 40 }
1128
- - for_symbols("function_name") { shift_to 43 }
1129
- - for_symbols("expression") { shift_to 32 }
1130
- - for_symbols("-") { shift_to 41 }
1131
- - for_symbols("(") { shift_to 37 }
1132
- --- 787,788 -----
1133
- + at_state(48) {
1134
- + for_symbols("_End_", "newline") { reduce_with "function_call_statement" }
1135
- ***************
1136
- *** 843,844
1137
- - at_state(82) {
1138
- - for_symbols("_End_", "newline") { reduce_with "function_definition" }
1139
- --- 791,802 -----
1140
- + at_state(86) {
1141
- + for_symbols("var_name") { shift_to 49 }
1142
- + for_symbols("function_name") { shift_to 45 }
1143
- + for_symbols("end") { shift_to 87 }
1144
- + for_symbols("if") { shift_to 60 }
1145
- + for_symbols("function_body_statement") { shift_to 71 }
1146
- + for_symbols("word_literal") { shift_to 2 }
1147
- + for_symbols("return") { shift_to 69 }
1148
- + for_symbols("newline") { shift_to 72 }
1149
- + for_symbols("simple_statement") { shift_to 73 }
1150
- + for_symbols("print") { shift_to 74 }
1151
- + for_symbols("while") { shift_to 63 }
1152
- ***************
1153
- *** 847,849
1154
- - at_state(77) {
1155
- - for_symbols("terms") { shift_to 78 }
1156
- - for_symbols("newline") { shift_to 3 }
1157
- --- 805,806 -----
1158
- + at_state(71) {
1159
- + for_symbols("newline") { reduce_with "multiple_function_body_statements" }
1160
- ***************
1161
- *** 852,853
1162
- - at_state(51) {
1163
- - for_symbols("==", "+", ",", "-", "/", "<", "_End_", ">", "^", "newline", ")", "*") { reduce_with "function_call_expression" }
1164
- --- 809,817 -----
1165
- + at_state(32) {
1166
- + for_symbols("(") { shift_to 29 }
1167
- + for_symbols("function_name") { shift_to 5 }
1168
- + for_symbols("expression") { shift_to 33 }
1169
- + for_symbols("-") { shift_to 32 }
1170
- + for_symbols("!") { shift_to 4 }
1171
- + for_symbols("numeric_literal") { shift_to 11 }
1172
- + for_symbols("word_literal") { shift_to 2 }
1173
- + for_symbols("var_name") { shift_to 7 }
1174
- ***************
1175
- *** 856,864
1176
- - at_state(33) {
1177
- - for_symbols("var_name") { shift_to 48 }
1178
- - for_symbols("numeric_literal") { shift_to 19 }
1179
- - for_symbols("!") { shift_to 49 }
1180
- - for_symbols("word_literal") { shift_to 40 }
1181
- - for_symbols("function_name") { shift_to 43 }
1182
- - for_symbols("-") { shift_to 41 }
1183
- - for_symbols("expression") { shift_to 34 }
1184
- - for_symbols("(") { shift_to 37 }
1185
- --- 820,831 -----
1186
- + at_state(65) {
1187
- + for_symbols("var_name") { shift_to 49 }
1188
- + for_symbols("function_body") { shift_to 66 }
1189
- + for_symbols("function_name") { shift_to 45 }
1190
- + for_symbols("if") { shift_to 60 }
1191
- + for_symbols("word_literal") { shift_to 2 }
1192
- + for_symbols("return") { shift_to 69 }
1193
- + for_symbols("newline") { shift_to 72 }
1194
- + for_symbols("simple_statement") { shift_to 73 }
1195
- + for_symbols("print") { shift_to 74 }
1196
- + for_symbols("function_body_statement") { shift_to 76 }
1197
- + for_symbols("while") { shift_to 63 }
1198
- ***************
1199
- *** 867,875
1200
- - at_state(25) {
1201
- - for_symbols("var_name") { shift_to 48 }
1202
- - for_symbols("numeric_literal") { shift_to 19 }
1203
- - for_symbols("!") { shift_to 49 }
1204
- - for_symbols("word_literal") { shift_to 40 }
1205
- - for_symbols("function_name") { shift_to 43 }
1206
- - for_symbols("-") { shift_to 41 }
1207
- - for_symbols("(") { shift_to 37 }
1208
- - for_symbols("expression") { shift_to 26 }
1209
- --- 834,845 -----
1210
- + at_state(104) {
1211
- + for_symbols("var_name") { shift_to 49 }
1212
- + for_symbols("function_name") { shift_to 45 }
1213
- + for_symbols("while") { shift_to 39 }
1214
- + for_symbols("main_body_statement") { shift_to 91 }
1215
- + for_symbols("word_literal") { shift_to 2 }
1216
- + for_symbols("newline") { shift_to 72 }
1217
- + for_symbols("_End_") { reduce_with "some_terms" }
1218
- + for_symbols("print") { shift_to 74 }
1219
- + for_symbols("if") { shift_to 3 }
1220
- + for_symbols("simple_statement") { shift_to 92 }
1221
- + for_symbols("def") { shift_to 52 }
1222
- ***************
1223
- *** 878,880
1224
- - at_state(45) {
1225
- - for_symbols(",") { shift_to 46 }
1226
- - for_symbols(")") { shift_to 51 }
1227
- --- 848,850 -----
1228
- + at_state(99) {
1229
- + for_symbols("terms") { shift_to 100 }
1230
- + for_symbols("newline") { shift_to 37 }
1231
- ***************
1232
- *** 883,894
1233
- - at_state(96) {
1234
- - for_symbols("main_body_statement") { shift_to 98 }
1235
- - for_symbols("newline") { shift_to 2 }
1236
- - for_symbols("def") { shift_to 5 }
1237
- - for_symbols("word_literal") { shift_to 40 }
1238
- - for_symbols("var_name") { shift_to 63 }
1239
- - for_symbols("print") { shift_to 18 }
1240
- - for_symbols("while") { shift_to 92 }
1241
- - for_symbols("function_name") { shift_to 59 }
1242
- - for_symbols("if") { shift_to 86 }
1243
- - for_symbols("simple_statement") { shift_to 83 }
1244
- - for_symbols("end") { shift_to 97 }
1245
- --- 853,861 -----
1246
- + at_state(69) {
1247
- + for_symbols("(") { shift_to 29 }
1248
- + for_symbols("function_name") { shift_to 5 }
1249
- + for_symbols("-") { shift_to 32 }
1250
- + for_symbols("!") { shift_to 4 }
1251
- + for_symbols("numeric_literal") { shift_to 11 }
1252
- + for_symbols("word_literal") { shift_to 2 }
1253
- + for_symbols("expression") { shift_to 70 }
1254
- + for_symbols("var_name") { shift_to 7 }
1255
- ***************
1256
- *** 898,906
1257
- - for_symbols("<") { shift_to 23 }
1258
- - for_symbols("*") { shift_to 33 }
1259
- - for_symbols("+") { shift_to 21 }
1260
- - for_symbols(">") { shift_to 31 }
1261
- - for_symbols("^") { shift_to 27 }
1262
- - for_symbols("newline") { reduce_with "return_statement" }
1263
- - for_symbols("-") { shift_to 29 }
1264
- - for_symbols("/") { shift_to 25 }
1265
- - for_symbols("==") { shift_to 35 }
1266
- --- 865,875 -----
1267
- + for_symbols("var_name") { shift_to 49 }
1268
- + for_symbols("end") { shift_to 68 }
1269
- + for_symbols("function_name") { shift_to 45 }
1270
- + for_symbols("if") { shift_to 60 }
1271
- + for_symbols("function_body_statement") { shift_to 71 }
1272
- + for_symbols("word_literal") { shift_to 2 }
1273
- + for_symbols("return") { shift_to 69 }
1274
- + for_symbols("newline") { shift_to 72 }
1275
- + for_symbols("simple_statement") { shift_to 73 }
1276
- + for_symbols("print") { shift_to 74 }
1277
- + for_symbols("while") { shift_to 63 }
1278
- ***************
1279
- *** 909,911
1280
- - at_state(40) {
1281
- - for_symbols("(") { reduce_with "function_name" }
1282
- - for_symbols("==", "+", ",", "-", "/", "<", "=", "_End_", ">", "^", "newline", ")", "*") { reduce_with "variable_name" }
1283
- --- 878,882 -----
1284
- + at_state(102) {
1285
- + for_symbols("opt_terms") { shift_to 103 }
1286
- + for_symbols("terms") { shift_to 104 }
1287
- + for_symbols("newline") { shift_to 37 }
1288
- + for_symbols("_End_") { reduce_with "no_terms" }
1289
- ***************
1290
- *** 914,924
1291
- - at_state(57) {
1292
- - for_symbols("<") { shift_to 23 }
1293
- - for_symbols("*") { shift_to 33 }
1294
- - for_symbols("+") { shift_to 21 }
1295
- - for_symbols(">") { shift_to 31 }
1296
- - for_symbols("^") { shift_to 27 }
1297
- - for_symbols("-") { shift_to 29 }
1298
- - for_symbols("terms") { shift_to 58 }
1299
- - for_symbols("newline") { shift_to 3 }
1300
- - for_symbols("/") { shift_to 25 }
1301
- - for_symbols("==") { shift_to 35 }
1302
- --- 885,887 -----
1303
- + at_state(97) {
1304
- + for_symbols("terms") { shift_to 98 }
1305
- + for_symbols("newline") { shift_to 37 }
1306
- ***************
1307
- *** 927,929
1308
- - at_state(26) {
1309
- - for_symbols("==", "+", ",", "-", "/", "<", "_End_", ">", "newline", ")", "*") { reduce_with "division" }
1310
- - for_symbols("^") { shift_to 27 }
1311
- --- 890,891 -----
1312
- + at_state(76) {
1313
- + for_symbols("newline") { reduce_with "single_function_body_statement" }
1314
- ***************
1315
- *** 932,938
1316
- - at_state(32) {
1317
- - for_symbols("*") { shift_to 33 }
1318
- - for_symbols("+") { shift_to 21 }
1319
- - for_symbols("^") { shift_to 27 }
1320
- - for_symbols("==", ",", "_End_", "newline", ")") { reduce_with "greater_than_comparison" }
1321
- - for_symbols("-") { shift_to 29 }
1322
- - for_symbols("/") { shift_to 25 }
1323
- --- 894,902 -----
1324
- + at_state(63) {
1325
- + for_symbols("(") { shift_to 29 }
1326
- + for_symbols("function_name") { shift_to 5 }
1327
- + for_symbols("-") { shift_to 32 }
1328
- + for_symbols("!") { shift_to 4 }
1329
- + for_symbols("numeric_literal") { shift_to 11 }
1330
- + for_symbols("word_literal") { shift_to 2 }
1331
- + for_symbols("expression") { shift_to 64 }
1332
- + for_symbols("var_name") { shift_to 7 }
1333
- ***************
1334
- *** 941,945
1335
- - at_state(65) {
1336
- - for_symbols("<") { shift_to 23 }
1337
- - for_symbols("*") { shift_to 33 }
1338
- - for_symbols("+") { shift_to 21 }
1339
- - for_symbols(">") { shift_to 31 }
1340
- --- 905,906 -----
1341
- + at_state(34) {
1342
- + for_symbols("*") { shift_to 15 }
1343
- ***************
1344
- *** 947,950
1345
- - for_symbols("-") { shift_to 29 }
1346
- - for_symbols("_End_", "newline") { reduce_with "assignment_statement" }
1347
- - for_symbols("/") { shift_to 25 }
1348
- - for_symbols("==") { shift_to 35 }
1349
- --- 908,914 -----
1350
- + for_symbols(">") { shift_to 13 }
1351
- + for_symbols(",", ")") { reduce_with "single_arg" }
1352
- + for_symbols("/") { shift_to 23 }
1353
- + for_symbols("<") { shift_to 21 }
1354
- + for_symbols("+") { shift_to 19 }
1355
- + for_symbols("==") { shift_to 17 }
1356
- + for_symbols("-") { shift_to 25 }
1357
- ***************
1358
- *** 953,954
1359
- - at_state(62) {
1360
- - for_symbols("_End_", "newline") { reduce_with "function_call_statement" }
1361
- --- 917,929 -----
1362
- + at_state(95) {
1363
- + for_symbols("var_name") { shift_to 49 }
1364
- + for_symbols("else") { shift_to 97 }
1365
- + for_symbols("function_name") { shift_to 45 }
1366
- + for_symbols("end") { shift_to 96 }
1367
- + for_symbols("while") { shift_to 39 }
1368
- + for_symbols("main_body_statement") { shift_to 91 }
1369
- + for_symbols("word_literal") { shift_to 2 }
1370
- + for_symbols("newline") { shift_to 72 }
1371
- + for_symbols("print") { shift_to 74 }
1372
- + for_symbols("if") { shift_to 3 }
1373
- + for_symbols("simple_statement") { shift_to 92 }
1374
- + for_symbols("def") { shift_to 52 }
1375
- ***************
1376
- *** 957,959
1377
- - at_state(100) {
1378
- - for_symbols("terms") { shift_to 101 }
1379
- - for_symbols("newline") { shift_to 3 }
1380
- --- 932,933 -----
1381
- + at_state(93) {
1382
- + for_symbols("_End_", "newline") { reduce_with "single_main_body_statement" }
1383
- ***************
1384
- *** 962,970
1385
- - at_state(86) {
1386
- - for_symbols("var_name") { shift_to 48 }
1387
- - for_symbols("numeric_literal") { shift_to 19 }
1388
- - for_symbols("expression") { shift_to 87 }
1389
- - for_symbols("!") { shift_to 49 }
1390
- - for_symbols("word_literal") { shift_to 40 }
1391
- - for_symbols("function_name") { shift_to 43 }
1392
- - for_symbols("-") { shift_to 41 }
1393
- - for_symbols("(") { shift_to 37 }
1394
- --- 936,938 -----
1395
- + at_state(16) {
1396
- + for_symbols("^") { shift_to 27 }
1397
- + for_symbols("+", "==", ",", "-", "/", "<", "_End_", ">", "newline", ")", "*") { reduce_with "multiplication" }
1398
- ***************
1399
- *** 973,974
1400
- - at_state(13) {
1401
- - for_symbols(",", ")") { reduce_with "multiple_arg_declarations" }
1402
- --- 941,943 -----
1403
- + at_state(58) {
1404
- + for_symbols("newline") { shift_to 37 }
1405
- + for_symbols("terms") { shift_to 59 }
1406
- ***************
1407
- *** 977,988
1408
- - at_state(101) {
1409
- - for_symbols("newline") { shift_to 2 }
1410
- - for_symbols("main_body_statement") { shift_to 99 }
1411
- - for_symbols("def") { shift_to 5 }
1412
- - for_symbols("word_literal") { shift_to 40 }
1413
- - for_symbols("var_name") { shift_to 63 }
1414
- - for_symbols("print") { shift_to 18 }
1415
- - for_symbols("while") { shift_to 92 }
1416
- - for_symbols("function_name") { shift_to 59 }
1417
- - for_symbols("main_body") { shift_to 102 }
1418
- - for_symbols("if") { shift_to 86 }
1419
- - for_symbols("simple_statement") { shift_to 83 }
1420
- --- 946,955 -----
1421
- + at_state(51) {
1422
- + for_symbols("*") { shift_to 15 }
1423
- + for_symbols("^") { shift_to 27 }
1424
- + for_symbols(">") { shift_to 13 }
1425
- + for_symbols("/") { shift_to 23 }
1426
- + for_symbols("_End_", "newline") { reduce_with "assignment_statement" }
1427
- + for_symbols("<") { shift_to 21 }
1428
- + for_symbols("+") { shift_to 19 }
1429
- + for_symbols("==") { shift_to 17 }
1430
- + for_symbols("-") { shift_to 25 }
1431
- ***************
1432
- *** 991,1002
1433
- - at_state(88) {
1434
- - for_symbols("newline") { shift_to 2 }
1435
- - for_symbols("main_body_statement") { shift_to 99 }
1436
- - for_symbols("def") { shift_to 5 }
1437
- - for_symbols("word_literal") { shift_to 40 }
1438
- - for_symbols("var_name") { shift_to 63 }
1439
- - for_symbols("print") { shift_to 18 }
1440
- - for_symbols("while") { shift_to 92 }
1441
- - for_symbols("function_name") { shift_to 59 }
1442
- - for_symbols("if") { shift_to 86 }
1443
- - for_symbols("main_body") { shift_to 89 }
1444
- - for_symbols("simple_statement") { shift_to 83 }
1445
- --- 958,969 -----
1446
- + at_state(41) {
1447
- + for_symbols("var_name") { shift_to 49 }
1448
- + for_symbols("function_name") { shift_to 45 }
1449
- + for_symbols("main_body") { shift_to 42 }
1450
- + for_symbols("while") { shift_to 39 }
1451
- + for_symbols("word_literal") { shift_to 2 }
1452
- + for_symbols("newline") { shift_to 72 }
1453
- + for_symbols("print") { shift_to 74 }
1454
- + for_symbols("if") { shift_to 3 }
1455
- + for_symbols("main_body_statement") { shift_to 93 }
1456
- + for_symbols("simple_statement") { shift_to 92 }
1457
- + for_symbols("def") { shift_to 52 }
1458
- ***************
1459
- *** 1005,1007
1460
- - at_state(80) {
1461
- - for_symbols("newline") { shift_to 3 }
1462
- - for_symbols("terms") { shift_to 81 }
1463
- --- 972,983 -----
1464
- + at_state(59) {
1465
- + for_symbols("var_name") { shift_to 49 }
1466
- + for_symbols("function_name") { shift_to 45 }
1467
- + for_symbols("function_body") { shift_to 85 }
1468
- + for_symbols("if") { shift_to 60 }
1469
- + for_symbols("word_literal") { shift_to 2 }
1470
- + for_symbols("return") { shift_to 69 }
1471
- + for_symbols("newline") { shift_to 72 }
1472
- + for_symbols("simple_statement") { shift_to 73 }
1473
- + for_symbols("print") { shift_to 74 }
1474
- + for_symbols("function_body_statement") { shift_to 76 }
1475
- + for_symbols("while") { shift_to 63 }
1476
- ***************
1477
- *** 1010,1018
1478
- - at_state(56) {
1479
- - for_symbols("var_name") { shift_to 48 }
1480
- - for_symbols("expression") { shift_to 57 }
1481
- - for_symbols("numeric_literal") { shift_to 19 }
1482
- - for_symbols("!") { shift_to 49 }
1483
- - for_symbols("word_literal") { shift_to 40 }
1484
- - for_symbols("function_name") { shift_to 43 }
1485
- - for_symbols("-") { shift_to 41 }
1486
- - for_symbols("(") { shift_to 37 }
1487
- --- 986,996 -----
1488
- + at_state(40) {
1489
- + for_symbols("*") { shift_to 15 }
1490
- + for_symbols("^") { shift_to 27 }
1491
- + for_symbols(">") { shift_to 13 }
1492
- + for_symbols("/") { shift_to 23 }
1493
- + for_symbols("terms") { shift_to 41 }
1494
- + for_symbols("<") { shift_to 21 }
1495
- + for_symbols("newline") { shift_to 37 }
1496
- + for_symbols("+") { shift_to 19 }
1497
- + for_symbols("==") { shift_to 17 }
1498
- + for_symbols("-") { shift_to 25 }
1499
- ***************
1500
- *** 1021,1022
1501
- - at_state(97) {
1502
- - for_symbols("_End_", "newline") { reduce_with "main_body_while_statement" }
1503
- --- 999,1001 -----
1504
- + at_state(105) {
1505
- + for_symbols("newline") { shift_to 72 }
1506
- + for_symbols("word_literal", "def", "print", "if", "while") { reduce_with "some_terms" }
1507
- ***************
1508
- *** 1025,1027
1509
- - at_state(12) {
1510
- - for_symbols("word_literal") { shift_to 10 }
1511
- - for_symbols("arg_decl") { shift_to 13 }
1512
- --- 1004,1005 -----
1513
- + at_state(72) {
1514
- + for_symbols("word_literal", "def", "end", "print", "else", "if", "_End_", "newline", "return", "while") { reduce_with "multiple_terms" }
1515
- ***************
1516
- *** 1030,1032
1517
- - at_state(22) {
1518
- - for_symbols("*") { shift_to 33 }
1519
- - for_symbols("==", "+", ",", "-", "<", "_End_", ">", "newline", ")") { reduce_with "addition" }
1520
- --- 1008,1009 -----
1521
- + at_state(61) {
1522
- + for_symbols("*") { shift_to 15 }
1523
- ***************
1524
- *** 1034
1525
- - for_symbols("/") { shift_to 25 }
1526
- --- 1011,1018 -----
1527
- + for_symbols(">") { shift_to 13 }
1528
- + for_symbols("terms") { shift_to 62 }
1529
- + for_symbols("/") { shift_to 23 }
1530
- + for_symbols("<") { shift_to 21 }
1531
- + for_symbols("newline") { shift_to 37 }
1532
- + for_symbols("+") { shift_to 19 }
1533
- + for_symbols("==") { shift_to 17 }
1534
- + for_symbols("-") { shift_to 25 }
1535
- ***************
1536
- *** 1037,1043
1537
- - at_state(10) {
1538
- - for_symbols(",", ")") { reduce_with "arg_declaration" }
1539
- - }
1540
- -
1541
- - at_state(95) {
1542
- - for_symbols("terms") { shift_to 96 }
1543
- - for_symbols("newline") { shift_to 3 }
1544
- --- 1021,1030 -----
1545
- + at_state(12) {
1546
- + for_symbols("*") { shift_to 15 }
1547
- + for_symbols("^") { shift_to 27 }
1548
- + for_symbols(">") { shift_to 13 }
1549
- + for_symbols("/") { shift_to 23 }
1550
- + for_symbols("<") { shift_to 21 }
1551
- + for_symbols("+") { shift_to 19 }
1552
- + for_symbols("==") { shift_to 17 }
1553
- + for_symbols("-") { shift_to 25 }
1554
- + for_symbols(",", ")") { reduce_with "multiple_args" }
1555
- ***************
1556
- *** 1046,1054
1557
- - at_state(23) {
1558
- - for_symbols("var_name") { shift_to 48 }
1559
- - for_symbols("numeric_literal") { shift_to 19 }
1560
- - for_symbols("!") { shift_to 49 }
1561
- - for_symbols("word_literal") { shift_to 40 }
1562
- - for_symbols("function_name") { shift_to 43 }
1563
- - for_symbols("expression") { shift_to 24 }
1564
- - for_symbols("-") { shift_to 41 }
1565
- - for_symbols("(") { shift_to 37 }
1566
- --- 1033,1041 -----
1567
- + at_state(29) {
1568
- + for_symbols("(") { shift_to 29 }
1569
- + for_symbols("function_name") { shift_to 5 }
1570
- + for_symbols("-") { shift_to 32 }
1571
- + for_symbols("!") { shift_to 4 }
1572
- + for_symbols("numeric_literal") { shift_to 11 }
1573
- + for_symbols("word_literal") { shift_to 2 }
1574
- + for_symbols("expression") { shift_to 30 }
1575
- + for_symbols("var_name") { shift_to 7 }
1576
- ***************
1577
- *** 1057,1058
1578
- - at_state(28) {
1579
- - for_symbols("==", "+", ",", "-", "/", "<", "_End_", ">", "newline", ")", "*") { reduce_with "power" }
1580
- --- 1044,1055 -----
1581
- + at_state(62) {
1582
- + for_symbols("var_name") { shift_to 49 }
1583
- + for_symbols("function_name") { shift_to 45 }
1584
- + for_symbols("if") { shift_to 60 }
1585
- + for_symbols("word_literal") { shift_to 2 }
1586
- + for_symbols("return") { shift_to 69 }
1587
- + for_symbols("newline") { shift_to 72 }
1588
- + for_symbols("simple_statement") { shift_to 73 }
1589
- + for_symbols("print") { shift_to 74 }
1590
- + for_symbols("function_body_statement") { shift_to 76 }
1591
- + for_symbols("function_body") { shift_to 77 }
1592
- + for_symbols("while") { shift_to 63 }
1593
- ***************
1594
- *** 1061,1062
1595
- - at_state(3) {
1596
- - for_symbols("word_literal", "end", "def", "print", "else", "if", "_End_", "return", "newline", "while") { reduce_with "single_term" }
1597
- --- 1058,1069 -----
1598
- + at_state(38) {
1599
- + for_symbols("main_body") { shift_to 94 }
1600
- + for_symbols("var_name") { shift_to 49 }
1601
- + for_symbols("function_name") { shift_to 45 }
1602
- + for_symbols("while") { shift_to 39 }
1603
- + for_symbols("word_literal") { shift_to 2 }
1604
- + for_symbols("newline") { shift_to 72 }
1605
- + for_symbols("print") { shift_to 74 }
1606
- + for_symbols("if") { shift_to 3 }
1607
- + for_symbols("main_body_statement") { shift_to 93 }
1608
- + for_symbols("simple_statement") { shift_to 92 }
1609
- + for_symbols("def") { shift_to 52 }
1610
- ***************
1611
- *** 1065,1073
1612
- - at_state(46) {
1613
- - for_symbols("var_name") { shift_to 48 }
1614
- - for_symbols("numeric_literal") { shift_to 19 }
1615
- - for_symbols("!") { shift_to 49 }
1616
- - for_symbols("expression") { shift_to 47 }
1617
- - for_symbols("word_literal") { shift_to 40 }
1618
- - for_symbols("function_name") { shift_to 43 }
1619
- - for_symbols("-") { shift_to 41 }
1620
- - for_symbols("(") { shift_to 37 }
1621
- --- 1072,1073 -----
1622
- + at_state(44) {
1623
- + for_symbols("_End_", "newline") { reduce_with "main_body_while_statement" }