simply_stored 0.3.9 → 0.5.0

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