hotcell 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. data/.gitignore +19 -0
  2. data/.rspec +2 -0
  3. data/.rvmrc +1 -0
  4. data/Gemfile +15 -0
  5. data/Guardfile +24 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +29 -0
  8. data/Rakefile +17 -0
  9. data/hotcell.gemspec +22 -0
  10. data/lib/hotcell/.DS_Store +0 -0
  11. data/lib/hotcell/config.rb +31 -0
  12. data/lib/hotcell/context.rb +36 -0
  13. data/lib/hotcell/errors.rb +43 -0
  14. data/lib/hotcell/extensions.rb +42 -0
  15. data/lib/hotcell/lexer.rb +783 -0
  16. data/lib/hotcell/lexer.rl +299 -0
  17. data/lib/hotcell/manipulator.rb +31 -0
  18. data/lib/hotcell/node/arrayer.rb +7 -0
  19. data/lib/hotcell/node/assigner.rb +11 -0
  20. data/lib/hotcell/node/block.rb +58 -0
  21. data/lib/hotcell/node/calculator.rb +35 -0
  22. data/lib/hotcell/node/command.rb +41 -0
  23. data/lib/hotcell/node/hasher.rb +7 -0
  24. data/lib/hotcell/node/joiner.rb +7 -0
  25. data/lib/hotcell/node/sequencer.rb +7 -0
  26. data/lib/hotcell/node/summoner.rb +11 -0
  27. data/lib/hotcell/node/tag.rb +26 -0
  28. data/lib/hotcell/node.rb +55 -0
  29. data/lib/hotcell/parser.rb +1186 -0
  30. data/lib/hotcell/parser.y +231 -0
  31. data/lib/hotcell/scope.rb +57 -0
  32. data/lib/hotcell/template.rb +29 -0
  33. data/lib/hotcell/version.rb +3 -0
  34. data/lib/hotcell.rb +19 -0
  35. data/misc/rage.rl +1999 -0
  36. data/misc/unicode2ragel.rb +305 -0
  37. data/spec/data/dstrings +8 -0
  38. data/spec/data/sstrings +6 -0
  39. data/spec/lib/hotcell/config_spec.rb +57 -0
  40. data/spec/lib/hotcell/context_spec.rb +53 -0
  41. data/spec/lib/hotcell/lexer_spec.rb +340 -0
  42. data/spec/lib/hotcell/manipulator_spec.rb +64 -0
  43. data/spec/lib/hotcell/node/block_spec.rb +188 -0
  44. data/spec/lib/hotcell/node/command_spec.rb +71 -0
  45. data/spec/lib/hotcell/parser_spec.rb +382 -0
  46. data/spec/lib/hotcell/scope_spec.rb +160 -0
  47. data/spec/lib/hotcell/template_spec.rb +41 -0
  48. data/spec/lib/hotcell_spec.rb +8 -0
  49. data/spec/spec_helper.rb +44 -0
  50. metadata +139 -0
@@ -0,0 +1,1186 @@
1
+ #
2
+ # DO NOT MODIFY!!!!
3
+ # This file is automatically generated by Racc 1.4.9
4
+ # from Racc grammer file "".
5
+ #
6
+
7
+ require 'racc/parser.rb'
8
+
9
+ require 'hotcell/lexer'
10
+ module Hotcell
11
+ class Parser < Racc::Parser
12
+
13
+ module_eval(<<'...end parser.y/module_eval...', 'parser.y', 176)
14
+ NEWLINE_PRED = Set.new(Lexer::BOPEN.values + Lexer::OPERATIONS.values)
15
+ NEWLINE_NEXT = Set.new(Lexer::BCLOSE.values + [:NEWLINE])
16
+
17
+ TAG_MODES = { '{{' => :normal, '{{!' => :silence }
18
+
19
+ def initialize string, options = {}
20
+ @lexer = Lexer.new(string)
21
+ @tokens = @lexer.tokens
22
+ @position = -1
23
+
24
+ @commands = Set.new(Array.wrap(options[:commands]).map(&:to_s))
25
+ @blocks = Set.new(Array.wrap(options[:blocks]).map(&:to_s))
26
+ @endblocks = Set.new(Array.wrap(options[:blocks]).map { |identifer| "end#{identifer}" })
27
+ @subcommands = Set.new(Array.wrap(options[:subcommands]).map(&:to_s))
28
+ end
29
+
30
+ def parse
31
+ if @tokens.size == 0
32
+ Joiner.build :JOINER
33
+ else
34
+ do_parse
35
+ end
36
+ end
37
+
38
+ def next_token
39
+ @position = @position + 1
40
+
41
+ tcurr = @tokens[@position]
42
+ tnext = @tokens[@position.next]
43
+ tpred = @tokens[@position.pred]
44
+
45
+ if tcurr && (tcurr[0] == :COMMENT || tcurr[0] == :NEWLINE && (
46
+ (tpred && NEWLINE_PRED.include?(tpred[0])) ||
47
+ (tnext && NEWLINE_NEXT.include?(tnext[0]))
48
+ ))
49
+ next_token
50
+ else
51
+ if tcurr && tcurr[0] == :IDENTIFER
52
+ if @commands.include?(tcurr[1])
53
+ [:COMMAND, tcurr[1]]
54
+ elsif @blocks.include?(tcurr[1])
55
+ [:BLOCK, tcurr[1]]
56
+ elsif @endblocks.include?(tcurr[1])
57
+ [:ENDBLOCK, tcurr[1]]
58
+ elsif @subcommands.include?(tcurr[1])
59
+ [:SUBCOMMAND, tcurr[1]]
60
+ elsif tcurr[1] == 'end'
61
+ [:END, tcurr[1]]
62
+ else
63
+ tcurr
64
+ end
65
+ else
66
+ tcurr || [false, false]
67
+ end
68
+ end
69
+ end
70
+ ...end parser.y/module_eval...
71
+ ##### State transition tables begin ###
72
+
73
+ racc_action_table = [
74
+ 42, 10, 26, 106, 92, 141, 103, 92, 25, 24,
75
+ 135, 61, 81, 82, 7, 44, 42, 103, 26, 104,
76
+ 90, 62, 21, 22, 25, 24, 62, 132, 65, 7,
77
+ 8, 134, 62, 131, 27, 87, 35, 36, 37, 38,
78
+ 39, 40, 41, 43, 65, 133, 130, 104, 51, 52,
79
+ 27, 127, 35, 36, 37, 38, 39, 40, 41, 43,
80
+ 42, 129, 26, 81, 82, 106, 81, 82, 25, 24,
81
+ 68, 105, 67, 69, 72, 62, 42, 142, 26, 7,
82
+ 8, 54, 21, 22, 25, 24, 12, 16, 18, 19,
83
+ 53, 81, 82, 49, 27, 68, 35, 36, 37, 38,
84
+ 39, 40, 41, 43, 65, 81, 82, 81, 82, 68,
85
+ 27, 68, 35, 36, 37, 38, 39, 40, 41, 43,
86
+ 42, 106, 26, 51, 52, 7, 44, 50, 25, 24,
87
+ nil, 81, 82, 81, 82, 68, 42, 68, 26, 67,
88
+ 69, 72, 70, 71, 25, 24, 81, 82, 57, nil,
89
+ 68, nil, nil, nil, 27, nil, 35, 36, 37, 38,
90
+ 39, 40, 41, 43, 57, nil, nil, nil, nil, nil,
91
+ 27, nil, 35, 36, 37, 38, 39, 40, 41, 43,
92
+ 42, nil, 26, nil, nil, nil, nil, nil, 25, 24,
93
+ nil, nil, nil, 81, 82, nil, 42, 68, 26, 67,
94
+ 69, 72, 70, 71, 25, 24, nil, nil, 65, nil,
95
+ nil, nil, nil, nil, 27, nil, 35, 36, 37, 38,
96
+ 39, 40, 41, 43, 65, nil, nil, nil, nil, nil,
97
+ 27, nil, 35, 36, 37, 38, 39, 40, 41, 43,
98
+ 42, nil, 26, nil, nil, nil, nil, nil, 25, 24,
99
+ nil, nil, nil, 81, 82, nil, 42, 68, 26, 67,
100
+ 69, 72, 70, 71, 25, 24, nil, nil, 57, nil,
101
+ nil, nil, nil, nil, 27, nil, 35, 36, 37, 38,
102
+ 39, 40, 41, 43, 65, nil, nil, nil, nil, nil,
103
+ 27, nil, 35, 36, 37, 38, 39, 40, 41, 43,
104
+ 42, nil, 26, nil, nil, nil, nil, nil, 25, 24,
105
+ nil, nil, nil, 81, 82, nil, 42, 68, 26, 67,
106
+ 69, 72, 70, 71, 25, 24, nil, nil, 57, nil,
107
+ nil, nil, nil, nil, 27, nil, 35, 36, 37, 38,
108
+ 39, 40, 41, 43, 65, nil, nil, nil, nil, nil,
109
+ 27, nil, 35, 36, 37, 38, 39, 40, 41, 43,
110
+ 42, nil, 26, nil, nil, nil, 81, 82, 25, 24,
111
+ 68, nil, 67, 69, 72, nil, 42, nil, 26, nil,
112
+ nil, nil, nil, nil, 25, 24, nil, nil, 65, nil,
113
+ nil, nil, nil, nil, 27, nil, 35, 36, 37, 38,
114
+ 39, 40, 41, 43, 65, nil, nil, nil, nil, nil,
115
+ 27, nil, 35, 36, 37, 38, 39, 40, 41, 43,
116
+ 42, nil, 26, nil, nil, nil, nil, nil, 25, 24,
117
+ nil, nil, nil, nil, nil, nil, 42, nil, 26, nil,
118
+ nil, nil, nil, nil, 25, 24, nil, nil, 65, nil,
119
+ nil, nil, nil, nil, 27, nil, 35, 36, 37, 38,
120
+ 39, 40, 41, 43, 65, nil, nil, nil, nil, nil,
121
+ 27, nil, 35, 36, 37, 38, 39, 40, 41, 43,
122
+ 42, nil, 26, nil, nil, nil, nil, nil, 25, 24,
123
+ nil, nil, nil, nil, nil, nil, 42, nil, 26, nil,
124
+ nil, nil, nil, nil, 25, 24, nil, nil, 65, nil,
125
+ nil, nil, nil, nil, 27, nil, 35, 36, 37, 38,
126
+ 39, 40, 41, 43, 57, nil, nil, nil, nil, nil,
127
+ 27, nil, 35, 36, 37, 38, 39, 40, 41, 43,
128
+ 42, nil, 26, nil, nil, nil, nil, nil, 25, 24,
129
+ nil, nil, nil, nil, nil, nil, 42, nil, 26, nil,
130
+ nil, nil, nil, nil, 25, 24, nil, nil, 65, nil,
131
+ nil, nil, nil, 88, 27, nil, 35, 36, 37, 38,
132
+ 39, 40, 41, 43, 65, nil, nil, nil, nil, nil,
133
+ 27, nil, 35, 36, 37, 38, 39, 40, 41, 43,
134
+ 42, nil, 26, nil, nil, nil, nil, nil, 25, 24,
135
+ nil, nil, nil, nil, nil, nil, 42, nil, 26, nil,
136
+ nil, nil, 21, 22, 25, 24, 12, 16, 18, 19,
137
+ 95, 96, 97, nil, 27, nil, 35, 36, 37, 38,
138
+ 39, 40, 41, 43, 65, nil, nil, nil, nil, nil,
139
+ 27, nil, 35, 36, 37, 38, 39, 40, 41, 43,
140
+ 42, nil, 26, nil, nil, nil, nil, nil, 25, 24,
141
+ nil, nil, nil, nil, nil, nil, 42, nil, 26, nil,
142
+ nil, nil, nil, nil, 25, 24, nil, nil, 65, nil,
143
+ nil, nil, nil, nil, 27, nil, 35, 36, 37, 38,
144
+ 39, 40, 41, 43, 65, nil, nil, nil, nil, nil,
145
+ 27, nil, 35, 36, 37, 38, 39, 40, 41, 43,
146
+ 42, nil, 26, nil, nil, nil, nil, nil, 25, 24,
147
+ nil, nil, nil, nil, nil, nil, 42, nil, 26, nil,
148
+ nil, nil, nil, nil, 25, 24, nil, nil, 65, nil,
149
+ nil, nil, nil, nil, 27, nil, 35, 36, 37, 38,
150
+ 39, 40, 41, 43, 65, nil, nil, nil, nil, nil,
151
+ 27, nil, 35, 36, 37, 38, 39, 40, 41, 43,
152
+ 42, nil, 26, nil, nil, nil, nil, nil, 25, 24,
153
+ nil, nil, nil, nil, nil, nil, 42, nil, 26, nil,
154
+ nil, nil, nil, nil, 25, 24, nil, nil, 65, nil,
155
+ nil, nil, nil, nil, 27, nil, 35, 36, 37, 38,
156
+ 39, 40, 41, 43, 65, nil, nil, nil, nil, nil,
157
+ 27, nil, 35, 36, 37, 38, 39, 40, 41, 43,
158
+ 42, nil, 26, nil, nil, nil, nil, nil, 25, 24,
159
+ nil, nil, nil, nil, nil, nil, 42, nil, 26, nil,
160
+ nil, nil, nil, nil, 25, 24, nil, nil, 65, nil,
161
+ nil, nil, nil, nil, 27, nil, 35, 36, 37, 38,
162
+ 39, 40, 41, 43, 57, nil, nil, nil, nil, nil,
163
+ 27, 110, 35, 36, 37, 38, 39, 40, 41, 43,
164
+ 42, nil, 26, nil, nil, nil, nil, nil, 25, 24,
165
+ nil, nil, nil, nil, nil, nil, 42, nil, 26, nil,
166
+ nil, nil, nil, nil, 25, 24, nil, nil, 65, nil,
167
+ nil, nil, nil, nil, 27, nil, 35, 36, 37, 38,
168
+ 39, 40, 41, 43, 65, nil, nil, nil, nil, nil,
169
+ 27, nil, 35, 36, 37, 38, 39, 40, 41, 43,
170
+ 42, nil, 26, nil, nil, nil, nil, nil, 25, 24,
171
+ nil, nil, nil, nil, nil, nil, 42, nil, 26, nil,
172
+ nil, nil, nil, nil, 25, 24, nil, nil, 65, nil,
173
+ nil, nil, nil, nil, 27, nil, 35, 36, 37, 38,
174
+ 39, 40, 41, 43, 65, nil, nil, nil, nil, nil,
175
+ 27, nil, 35, 36, 37, 38, 39, 40, 41, 43,
176
+ 42, nil, 26, nil, nil, nil, 81, 82, 25, 24,
177
+ 68, nil, 67, 69, 72, 70, 71, 75, 76, 77,
178
+ 78, 79, 80, 73, 74, nil, nil, 16, 65, 19,
179
+ nil, nil, nil, nil, 27, nil, 35, 36, 37, 38,
180
+ 39, 40, 41, 43, 81, 82, nil, nil, 68, nil,
181
+ 67, 69, 72, 70, 71, 75, 76, 77, 78, 79,
182
+ 80, 73, 74, 81, 82, nil, nil, 68, nil, 67,
183
+ 69, 72, 70, 71, 75, 76, 77, 78, 79, 80,
184
+ 73, 74, 81, 82, nil, nil, 68, nil, 67, 69,
185
+ 72, 70, 71, 75, 76, 77, 78, 79, 80, 73,
186
+ 74, 81, 82, nil, nil, 68, nil, 67, 69, 72,
187
+ 70, 71, 75, 76, 77, 78, 79, 80, 73, 74,
188
+ 81, 82, nil, nil, 68, nil, 67, 69, 72, 70,
189
+ 71, 75, 76, 77, 78, 79, 80, 73, 81, 82,
190
+ nil, nil, 68, nil, 67, 69, 72, 70, 71, 75,
191
+ 76, 77, 78, -92, -92, 81, 82, nil, nil, 68,
192
+ nil, 67, 69, 72, 70, 71, 75, 76, 77, 78,
193
+ -92, -92, 81, 82, nil, nil, 68, nil, 67, 69,
194
+ 72, 70, 71, 75, 76, 77, 78, 79, 80 ]
195
+
196
+ racc_action_check = [
197
+ 27, 1, 27, 91, 43, 111, 65, 106, 27, 27,
198
+ 96, 18, 85, 85, 9, 9, 103, 57, 103, 57,
199
+ 43, 65, 27, 27, 103, 103, 18, 91, 27, 1,
200
+ 1, 94, 57, 89, 27, 27, 27, 27, 27, 27,
201
+ 27, 27, 27, 27, 103, 93, 89, 92, 86, 86,
202
+ 103, 81, 103, 103, 103, 103, 103, 103, 103, 103,
203
+ 8, 86, 8, 84, 84, 59, 116, 116, 8, 8,
204
+ 116, 58, 116, 116, 116, 127, 104, 128, 104, 0,
205
+ 0, 15, 8, 8, 104, 104, 8, 8, 8, 8,
206
+ 14, 117, 117, 10, 8, 117, 8, 8, 8, 8,
207
+ 8, 8, 8, 8, 104, 114, 114, 83, 83, 114,
208
+ 104, 83, 104, 104, 104, 104, 104, 104, 104, 104,
209
+ 105, 139, 105, 13, 13, 45, 45, 13, 105, 105,
210
+ nil, 113, 113, 122, 122, 113, 82, 122, 82, 122,
211
+ 122, 122, 122, 122, 82, 82, 112, 112, 105, nil,
212
+ 112, nil, nil, nil, 105, nil, 105, 105, 105, 105,
213
+ 105, 105, 105, 105, 82, nil, nil, nil, nil, nil,
214
+ 82, nil, 82, 82, 82, 82, 82, 82, 82, 82,
215
+ 80, nil, 80, nil, nil, nil, nil, nil, 80, 80,
216
+ nil, nil, nil, 123, 123, nil, 131, 123, 131, 123,
217
+ 123, 123, 123, 123, 131, 131, nil, nil, 80, nil,
218
+ nil, nil, nil, nil, 80, nil, 80, 80, 80, 80,
219
+ 80, 80, 80, 80, 131, nil, nil, nil, nil, nil,
220
+ 131, nil, 131, 131, 131, 131, 131, 131, 131, 131,
221
+ 16, nil, 16, nil, nil, nil, nil, nil, 16, 16,
222
+ nil, nil, nil, 121, 121, nil, 79, 121, 79, 121,
223
+ 121, 121, 121, 121, 79, 79, nil, nil, 16, nil,
224
+ nil, nil, nil, nil, 16, nil, 16, 16, 16, 16,
225
+ 16, 16, 16, 16, 79, nil, nil, nil, nil, nil,
226
+ 79, nil, 79, 79, 79, 79, 79, 79, 79, 79,
227
+ 19, nil, 19, nil, nil, nil, nil, nil, 19, 19,
228
+ nil, nil, nil, 120, 120, nil, 21, 120, 21, 120,
229
+ 120, 120, 120, 120, 21, 21, nil, nil, 19, nil,
230
+ nil, nil, nil, nil, 19, nil, 19, 19, 19, 19,
231
+ 19, 19, 19, 19, 21, nil, nil, nil, nil, nil,
232
+ 21, nil, 21, 21, 21, 21, 21, 21, 21, 21,
233
+ 22, nil, 22, nil, nil, nil, 115, 115, 22, 22,
234
+ 115, nil, 115, 115, 115, nil, 78, nil, 78, nil,
235
+ nil, nil, nil, nil, 78, 78, nil, nil, 22, nil,
236
+ nil, nil, nil, nil, 22, nil, 22, 22, 22, 22,
237
+ 22, 22, 22, 22, 78, nil, nil, nil, nil, nil,
238
+ 78, nil, 78, 78, 78, 78, 78, 78, 78, 78,
239
+ 24, nil, 24, nil, nil, nil, nil, nil, 24, 24,
240
+ nil, nil, nil, nil, nil, nil, 25, nil, 25, nil,
241
+ nil, nil, nil, nil, 25, 25, nil, nil, 24, nil,
242
+ nil, nil, nil, nil, 24, nil, 24, 24, 24, 24,
243
+ 24, 24, 24, 24, 25, nil, nil, nil, nil, nil,
244
+ 25, nil, 25, 25, 25, 25, 25, 25, 25, 25,
245
+ 26, nil, 26, nil, nil, nil, nil, nil, 26, 26,
246
+ nil, nil, nil, nil, nil, nil, 97, nil, 97, nil,
247
+ nil, nil, nil, nil, 97, 97, nil, nil, 26, nil,
248
+ nil, nil, nil, nil, 26, nil, 26, 26, 26, 26,
249
+ 26, 26, 26, 26, 97, nil, nil, nil, nil, nil,
250
+ 97, nil, 97, 97, 97, 97, 97, 97, 97, 97,
251
+ 42, nil, 42, nil, nil, nil, nil, nil, 42, 42,
252
+ nil, nil, nil, nil, nil, nil, 77, nil, 77, nil,
253
+ nil, nil, nil, nil, 77, 77, nil, nil, 42, nil,
254
+ nil, nil, nil, 42, 42, nil, 42, 42, 42, 42,
255
+ 42, 42, 42, 42, 77, nil, nil, nil, nil, nil,
256
+ 77, nil, 77, 77, 77, 77, 77, 77, 77, 77,
257
+ 44, nil, 44, nil, nil, nil, nil, nil, 44, 44,
258
+ nil, nil, nil, nil, nil, nil, 76, nil, 76, nil,
259
+ nil, nil, 44, 44, 76, 76, 44, 44, 44, 44,
260
+ 44, 44, 44, nil, 44, nil, 44, 44, 44, 44,
261
+ 44, 44, 44, 44, 76, nil, nil, nil, nil, nil,
262
+ 76, nil, 76, 76, 76, 76, 76, 76, 76, 76,
263
+ 51, nil, 51, nil, nil, nil, nil, nil, 51, 51,
264
+ nil, nil, nil, nil, nil, nil, 52, nil, 52, nil,
265
+ nil, nil, nil, nil, 52, 52, nil, nil, 51, nil,
266
+ nil, nil, nil, nil, 51, nil, 51, 51, 51, 51,
267
+ 51, 51, 51, 51, 52, nil, nil, nil, nil, nil,
268
+ 52, nil, 52, 52, 52, 52, 52, 52, 52, 52,
269
+ 75, nil, 75, nil, nil, nil, nil, nil, 75, 75,
270
+ nil, nil, nil, nil, nil, nil, 74, nil, 74, nil,
271
+ nil, nil, nil, nil, 74, 74, nil, nil, 75, nil,
272
+ nil, nil, nil, nil, 75, nil, 75, 75, 75, 75,
273
+ 75, 75, 75, 75, 74, nil, nil, nil, nil, nil,
274
+ 74, nil, 74, 74, 74, 74, 74, 74, 74, 74,
275
+ 73, nil, 73, nil, nil, nil, nil, nil, 73, 73,
276
+ nil, nil, nil, nil, nil, nil, 72, nil, 72, nil,
277
+ nil, nil, nil, nil, 72, 72, nil, nil, 73, nil,
278
+ nil, nil, nil, nil, 73, nil, 73, 73, 73, 73,
279
+ 73, 73, 73, 73, 72, nil, nil, nil, nil, nil,
280
+ 72, nil, 72, 72, 72, 72, 72, 72, 72, 72,
281
+ 70, nil, 70, nil, nil, nil, nil, nil, 70, 70,
282
+ nil, nil, nil, nil, nil, nil, 62, nil, 62, nil,
283
+ nil, nil, nil, nil, 62, 62, nil, nil, 70, nil,
284
+ nil, nil, nil, nil, 70, nil, 70, 70, 70, 70,
285
+ 70, 70, 70, 70, 62, nil, nil, nil, nil, nil,
286
+ 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
287
+ 71, nil, 71, nil, nil, nil, nil, nil, 71, 71,
288
+ nil, nil, nil, nil, nil, nil, 67, nil, 67, nil,
289
+ nil, nil, nil, nil, 67, 67, nil, nil, 71, nil,
290
+ nil, nil, nil, nil, 71, nil, 71, 71, 71, 71,
291
+ 71, 71, 71, 71, 67, nil, nil, nil, nil, nil,
292
+ 67, nil, 67, 67, 67, 67, 67, 67, 67, 67,
293
+ 68, nil, 68, nil, nil, nil, nil, nil, 68, 68,
294
+ nil, nil, nil, nil, nil, nil, 69, nil, 69, nil,
295
+ nil, nil, nil, nil, 69, 69, nil, nil, 68, nil,
296
+ nil, nil, nil, nil, 68, nil, 68, 68, 68, 68,
297
+ 68, 68, 68, 68, 69, nil, nil, nil, nil, nil,
298
+ 69, nil, 69, 69, 69, 69, 69, 69, 69, 69,
299
+ 61, nil, 61, nil, nil, nil, 109, 109, 61, 61,
300
+ 109, nil, 109, 109, 109, 109, 109, 109, 109, 109,
301
+ 109, 109, 109, 109, 109, nil, nil, 61, 61, 61,
302
+ nil, nil, nil, nil, 61, nil, 61, 61, 61, 61,
303
+ 61, 61, 61, 61, 137, 137, nil, nil, 137, nil,
304
+ 137, 137, 137, 137, 137, 137, 137, 137, 137, 137,
305
+ 137, 137, 137, 56, 56, nil, nil, 56, nil, 56,
306
+ 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
307
+ 56, 56, 23, 23, nil, nil, 23, nil, 23, 23,
308
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
309
+ 23, 138, 138, nil, nil, 138, nil, 138, 138, 138,
310
+ 138, 138, 138, 138, 138, 138, 138, 138, 138, 138,
311
+ 119, 119, nil, nil, 119, nil, 119, 119, 119, 119,
312
+ 119, 119, 119, 119, 119, 119, 119, 119, 124, 124,
313
+ nil, nil, 124, nil, 124, 124, 124, 124, 124, 124,
314
+ 124, 124, 124, 124, 124, 125, 125, nil, nil, 125,
315
+ nil, 125, 125, 125, 125, 125, 125, 125, 125, 125,
316
+ 125, 125, 118, 118, nil, nil, 118, nil, 118, 118,
317
+ 118, 118, 118, 118, 118, 118, 118, 118, 118 ]
318
+
319
+ racc_action_pointer = [
320
+ 51, 1, nil, nil, nil, nil, nil, nil, 56, -14,
321
+ 93, nil, nil, 97, 60, 51, 236, nil, -12, 296,
322
+ nil, 312, 356, 1099, 416, 432, 476, -4, nil, nil,
323
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
324
+ nil, nil, 536, -28, 596, 97, nil, nil, nil, nil,
325
+ nil, 656, 672, nil, nil, nil, 1080, -6, 47, 41,
326
+ nil, 1016, 852, nil, nil, -17, nil, 912, 956, 972,
327
+ 836, 896, 792, 776, 732, 716, 612, 552, 372, 252,
328
+ 176, 19, 132, 104, 60, 9, 22, nil, nil, 9,
329
+ nil, -21, 22, 15, 1, nil, -23, 492, nil, nil,
330
+ nil, nil, nil, 12, 72, 116, -25, nil, nil, 1023,
331
+ nil, -34, 143, 128, 102, 363, 63, 88, 1189, 1137,
332
+ 310, 250, 130, 190, 1155, 1172, nil, 37, 40, nil,
333
+ nil, 192, nil, nil, nil, nil, nil, 1061, 1118, 97,
334
+ nil, nil, nil ]
335
+
336
+ racc_action_default = [
337
+ -92, -92, -2, -3, -4, -5, -6, -7, -92, -92,
338
+ -92, -1, -8, -92, -92, -92, -20, -22, -89, -24,
339
+ -26, -35, -39, -40, -92, -92, -92, -92, -63, -64,
340
+ -65, -66, -67, -68, -69, -70, -71, -72, -73, -74,
341
+ -75, -76, -92, -92, -92, -92, -15, -16, -17, 143,
342
+ -9, -33, -37, -10, -11, -21, -80, -89, -87, -88,
343
+ -84, -92, -92, -25, -34, -89, -38, -92, -92, -92,
344
+ -92, -92, -92, -92, -92, -92, -92, -92, -92, -92,
345
+ -92, -92, -92, -47, -48, -57, -92, -61, -77, -92,
346
+ -81, -92, -92, -92, -92, -28, -92, -30, -13, -14,
347
+ -18, -32, -36, -92, -92, -92, -92, -23, -27, -58,
348
+ -90, -92, -41, -42, -43, -44, -45, -46, -49, -50,
349
+ -51, -52, -53, -54, -55, -56, -59, -89, -92, -62,
350
+ -78, -92, -82, -12, -19, -29, -31, -85, -79, -86,
351
+ -83, -91, -60 ]
352
+
353
+ racc_goto_table = [
354
+ 56, 55, 48, 56, 63, 47, 91, 107, 83, 84,
355
+ 85, 94, 64, 66, 45, 108, 93, 126, 86, 89,
356
+ 2, 11, 1, 140, nil, nil, 56, nil, nil, 46,
357
+ nil, nil, nil, nil, nil, nil, nil, nil, 100, nil,
358
+ nil, 99, 101, 102, nil, 109, 56, 111, nil, nil,
359
+ nil, 112, 113, 114, 115, 116, 117, 118, 119, 120,
360
+ 121, 122, 123, 124, 125, 98, 56, 128, 139, nil,
361
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
362
+ nil, 56, 136, nil, nil, nil, nil, 109, 137, 138,
363
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
364
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
365
+ nil, nil, nil, nil, nil, 138 ]
366
+
367
+ racc_goto_check = [
368
+ 19, 17, 11, 19, 17, 14, 28, 16, 19, 19,
369
+ 19, 15, 7, 7, 13, 18, 12, 20, 7, 27,
370
+ 2, 2, 1, 29, nil, nil, 19, nil, nil, 2,
371
+ nil, nil, nil, nil, nil, nil, nil, nil, 11, nil,
372
+ nil, 14, 7, 7, nil, 19, 19, 17, nil, nil,
373
+ nil, 19, 19, 19, 19, 19, 19, 19, 19, 19,
374
+ 19, 19, 19, 19, 19, 2, 19, 17, 28, nil,
375
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
376
+ nil, 19, 17, nil, nil, nil, nil, 19, 19, 19,
377
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
378
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
379
+ nil, nil, nil, nil, nil, 19 ]
380
+
381
+ racc_goto_pointer = [
382
+ nil, 22, 20, nil, nil, nil, nil, -9, nil, nil,
383
+ nil, -7, -28, 5, -4, -33, -54, -15, -46, -16,
384
+ -64, nil, nil, nil, nil, nil, nil, -23, -37, -83 ]
385
+
386
+ racc_goto_default = [
387
+ nil, nil, nil, 3, 4, 5, 6, 13, 14, 9,
388
+ 15, nil, nil, nil, nil, nil, 17, nil, 20, 23,
389
+ 34, 28, 29, 30, 31, 32, 33, 58, 59, 60 ]
390
+
391
+ racc_reduce_table = [
392
+ 0, 0, :racc_error,
393
+ 2, 50, :_reduce_1,
394
+ 1, 50, :_reduce_2,
395
+ 1, 51, :_reduce_none,
396
+ 1, 51, :_reduce_none,
397
+ 1, 51, :_reduce_none,
398
+ 1, 51, :_reduce_none,
399
+ 1, 52, :_reduce_7,
400
+ 2, 55, :_reduce_8,
401
+ 3, 55, :_reduce_9,
402
+ 3, 53, :_reduce_10,
403
+ 3, 58, :_reduce_11,
404
+ 3, 60, :_reduce_none,
405
+ 2, 62, :_reduce_13,
406
+ 2, 62, :_reduce_14,
407
+ 1, 62, :_reduce_15,
408
+ 1, 62, :_reduce_16,
409
+ 2, 54, :_reduce_none,
410
+ 3, 54, :_reduce_18,
411
+ 3, 63, :_reduce_19,
412
+ 1, 65, :_reduce_20,
413
+ 2, 65, :_reduce_21,
414
+ 1, 57, :_reduce_22,
415
+ 3, 57, :_reduce_23,
416
+ 1, 67, :_reduce_24,
417
+ 2, 67, :_reduce_25,
418
+ 1, 59, :_reduce_26,
419
+ 3, 59, :_reduce_27,
420
+ 1, 61, :_reduce_none,
421
+ 2, 61, :_reduce_none,
422
+ 1, 64, :_reduce_30,
423
+ 2, 64, :_reduce_31,
424
+ 3, 56, :_reduce_32,
425
+ 2, 56, :_reduce_none,
426
+ 2, 56, :_reduce_34,
427
+ 1, 56, :_reduce_35,
428
+ 3, 56, :_reduce_36,
429
+ 2, 56, :_reduce_none,
430
+ 2, 56, :_reduce_38,
431
+ 1, 56, :_reduce_39,
432
+ 1, 56, :_reduce_40,
433
+ 3, 68, :_reduce_41,
434
+ 3, 68, :_reduce_42,
435
+ 3, 68, :_reduce_43,
436
+ 3, 68, :_reduce_44,
437
+ 3, 68, :_reduce_45,
438
+ 3, 68, :_reduce_46,
439
+ 2, 68, :_reduce_47,
440
+ 2, 68, :_reduce_48,
441
+ 3, 68, :_reduce_49,
442
+ 3, 68, :_reduce_50,
443
+ 3, 68, :_reduce_51,
444
+ 3, 68, :_reduce_52,
445
+ 3, 68, :_reduce_53,
446
+ 3, 68, :_reduce_54,
447
+ 3, 68, :_reduce_55,
448
+ 3, 68, :_reduce_56,
449
+ 2, 68, :_reduce_57,
450
+ 3, 68, :_reduce_58,
451
+ 3, 68, :_reduce_59,
452
+ 4, 68, :_reduce_60,
453
+ 2, 68, :_reduce_61,
454
+ 3, 68, :_reduce_62,
455
+ 1, 68, :_reduce_none,
456
+ 1, 70, :_reduce_none,
457
+ 1, 70, :_reduce_none,
458
+ 1, 70, :_reduce_none,
459
+ 1, 70, :_reduce_none,
460
+ 1, 70, :_reduce_none,
461
+ 1, 70, :_reduce_none,
462
+ 1, 71, :_reduce_none,
463
+ 1, 71, :_reduce_none,
464
+ 1, 71, :_reduce_none,
465
+ 1, 72, :_reduce_none,
466
+ 1, 72, :_reduce_none,
467
+ 1, 73, :_reduce_none,
468
+ 1, 73, :_reduce_none,
469
+ 2, 74, :_reduce_77,
470
+ 3, 74, :_reduce_78,
471
+ 3, 76, :_reduce_79,
472
+ 1, 76, :_reduce_80,
473
+ 2, 75, :_reduce_81,
474
+ 3, 75, :_reduce_82,
475
+ 3, 77, :_reduce_83,
476
+ 1, 77, :_reduce_84,
477
+ 3, 78, :_reduce_85,
478
+ 3, 66, :_reduce_86,
479
+ 1, 66, :_reduce_none,
480
+ 1, 66, :_reduce_88,
481
+ 1, 69, :_reduce_89,
482
+ 3, 69, :_reduce_90,
483
+ 4, 69, :_reduce_91 ]
484
+
485
+ racc_reduce_n = 92
486
+
487
+ racc_shift_n = 143
488
+
489
+ racc_token_table = {
490
+ false => 0,
491
+ :error => 1,
492
+ :NEGATIVE => 2,
493
+ :PERIOD => 3,
494
+ :AOPEN => 4,
495
+ :UPLUS => 5,
496
+ :NOT => 6,
497
+ :POWER => 7,
498
+ :UMINUS => 8,
499
+ :MULTIPLY => 9,
500
+ :DIVIDE => 10,
501
+ :MODULO => 11,
502
+ :PLUS => 12,
503
+ :MINUS => 13,
504
+ :GT => 14,
505
+ :GTE => 15,
506
+ :LT => 16,
507
+ :LTE => 17,
508
+ :EQUAL => 18,
509
+ :INEQUAL => 19,
510
+ :AND => 20,
511
+ :OR => 21,
512
+ :TERNARY => 22,
513
+ :ASSIGN => 23,
514
+ :COMMA => 24,
515
+ :COLON => 25,
516
+ :SEMICOLON => 26,
517
+ :NEWLINE => 27,
518
+ :TEMPLATE => 28,
519
+ :TOPEN => 29,
520
+ :TCLOSE => 30,
521
+ :COMMAND => 31,
522
+ :IDENTIFER => 32,
523
+ :BLOCK => 33,
524
+ :ENDBLOCK => 34,
525
+ :END => 35,
526
+ :SUBCOMMAND => 36,
527
+ :ACLOSE => 37,
528
+ :POPEN => 38,
529
+ :PCLOSE => 39,
530
+ :NIL => 40,
531
+ :TRUE => 41,
532
+ :FALSE => 42,
533
+ :INTEGER => 43,
534
+ :FLOAT => 44,
535
+ :STRING => 45,
536
+ :REGEXP => 46,
537
+ :HOPEN => 47,
538
+ :HCLOSE => 48 }
539
+
540
+ racc_nt_base = 49
541
+
542
+ racc_use_result_var = true
543
+
544
+ Racc_arg = [
545
+ racc_action_table,
546
+ racc_action_check,
547
+ racc_action_default,
548
+ racc_action_pointer,
549
+ racc_goto_table,
550
+ racc_goto_check,
551
+ racc_goto_default,
552
+ racc_goto_pointer,
553
+ racc_nt_base,
554
+ racc_reduce_table,
555
+ racc_token_table,
556
+ racc_shift_n,
557
+ racc_reduce_n,
558
+ racc_use_result_var ]
559
+
560
+ Racc_token_to_s_table = [
561
+ "$end",
562
+ "error",
563
+ "NEGATIVE",
564
+ "PERIOD",
565
+ "AOPEN",
566
+ "UPLUS",
567
+ "NOT",
568
+ "POWER",
569
+ "UMINUS",
570
+ "MULTIPLY",
571
+ "DIVIDE",
572
+ "MODULO",
573
+ "PLUS",
574
+ "MINUS",
575
+ "GT",
576
+ "GTE",
577
+ "LT",
578
+ "LTE",
579
+ "EQUAL",
580
+ "INEQUAL",
581
+ "AND",
582
+ "OR",
583
+ "TERNARY",
584
+ "ASSIGN",
585
+ "COMMA",
586
+ "COLON",
587
+ "SEMICOLON",
588
+ "NEWLINE",
589
+ "TEMPLATE",
590
+ "TOPEN",
591
+ "TCLOSE",
592
+ "COMMAND",
593
+ "IDENTIFER",
594
+ "BLOCK",
595
+ "ENDBLOCK",
596
+ "END",
597
+ "SUBCOMMAND",
598
+ "ACLOSE",
599
+ "POPEN",
600
+ "PCLOSE",
601
+ "NIL",
602
+ "TRUE",
603
+ "FALSE",
604
+ "INTEGER",
605
+ "FLOAT",
606
+ "STRING",
607
+ "REGEXP",
608
+ "HOPEN",
609
+ "HCLOSE",
610
+ "$start",
611
+ "document",
612
+ "document_unit",
613
+ "template",
614
+ "command_tag",
615
+ "block_tag",
616
+ "tag",
617
+ "sequence",
618
+ "assigned_command",
619
+ "block_open",
620
+ "assigned_block",
621
+ "block_close",
622
+ "endblock",
623
+ "block_body",
624
+ "subcommand_tag",
625
+ "subcommand",
626
+ "command",
627
+ "arguments",
628
+ "block",
629
+ "expr",
630
+ "method",
631
+ "value",
632
+ "const",
633
+ "number",
634
+ "string",
635
+ "array",
636
+ "hash",
637
+ "params",
638
+ "pairs",
639
+ "pair" ]
640
+
641
+ Racc_debug_parser = true
642
+
643
+ ##### State transition tables end #####
644
+
645
+ # reduce 0 omitted
646
+
647
+ module_eval(<<'.,.,', 'parser.y', 54)
648
+ def _reduce_1(val, _values, result)
649
+ val[0].children.push(val[1])
650
+ result
651
+ end
652
+ .,.,
653
+
654
+ module_eval(<<'.,.,', 'parser.y', 55)
655
+ def _reduce_2(val, _values, result)
656
+ result = Joiner.build :JOINER, val[0]
657
+ result
658
+ end
659
+ .,.,
660
+
661
+ # reduce 3 omitted
662
+
663
+ # reduce 4 omitted
664
+
665
+ # reduce 5 omitted
666
+
667
+ # reduce 6 omitted
668
+
669
+ module_eval(<<'.,.,', 'parser.y', 58)
670
+ def _reduce_7(val, _values, result)
671
+ result = val[0]
672
+ result
673
+ end
674
+ .,.,
675
+
676
+ module_eval(<<'.,.,', 'parser.y', 59)
677
+ def _reduce_8(val, _values, result)
678
+ result = Tag.build :TAG, mode: TAG_MODES[val[0]]
679
+ result
680
+ end
681
+ .,.,
682
+
683
+ module_eval(<<'.,.,', 'parser.y', 60)
684
+ def _reduce_9(val, _values, result)
685
+ result = Tag.build :TAG, *val[1].flatten, mode: TAG_MODES[val[0]]
686
+ result
687
+ end
688
+ .,.,
689
+
690
+ module_eval(<<'.,.,', 'parser.y', 63)
691
+ def _reduce_10(val, _values, result)
692
+ command = val[1][:command]
693
+ assign = val[1][:assign]
694
+ command.options[:mode] = TAG_MODES[val[0]]
695
+ command.options[:assign] = assign if assign
696
+ command.validate!
697
+ result = command
698
+
699
+ result
700
+ end
701
+ .,.,
702
+
703
+ module_eval(<<'.,.,', 'parser.y', 71)
704
+ def _reduce_11(val, _values, result)
705
+ block = val[1][:block]
706
+ assign = val[1][:assign]
707
+ block.options[:mode] = TAG_MODES[val[0]]
708
+ block.options[:assign] = assign if assign
709
+ result = block
710
+
711
+ result
712
+ end
713
+ .,.,
714
+
715
+ # reduce 12 omitted
716
+
717
+ module_eval(<<'.,.,', 'parser.y', 79)
718
+ def _reduce_13(val, _values, result)
719
+ val[0][-1].is_a?(Joiner) ?
720
+ val[0][-1].children.push(val[1]) :
721
+ val[0].push(Joiner.build(:JOINER, val[1]))
722
+
723
+ result
724
+ end
725
+ .,.,
726
+
727
+ module_eval(<<'.,.,', 'parser.y', 83)
728
+ def _reduce_14(val, _values, result)
729
+ val[0].push(val[1])
730
+ result
731
+ end
732
+ .,.,
733
+
734
+ module_eval(<<'.,.,', 'parser.y', 84)
735
+ def _reduce_15(val, _values, result)
736
+ result = [Joiner.build(:JOINER, val[0])]
737
+ result
738
+ end
739
+ .,.,
740
+
741
+ module_eval(<<'.,.,', 'parser.y', 85)
742
+ def _reduce_16(val, _values, result)
743
+ result = [val[0]]
744
+ result
745
+ end
746
+ .,.,
747
+
748
+ # reduce 17 omitted
749
+
750
+ module_eval(<<'.,.,', 'parser.y', 87)
751
+ def _reduce_18(val, _values, result)
752
+ val[0].options[:subnodes] = val[1]; val[0].validate!
753
+ result
754
+ end
755
+ .,.,
756
+
757
+ module_eval(<<'.,.,', 'parser.y', 88)
758
+ def _reduce_19(val, _values, result)
759
+ result = val[1]
760
+ result
761
+ end
762
+ .,.,
763
+
764
+ module_eval(<<'.,.,', 'parser.y', 90)
765
+ def _reduce_20(val, _values, result)
766
+ result = Command.build val[0]
767
+ result
768
+ end
769
+ .,.,
770
+
771
+ module_eval(<<'.,.,', 'parser.y', 91)
772
+ def _reduce_21(val, _values, result)
773
+ result = Command.build val[0], *val[1]
774
+ result
775
+ end
776
+ .,.,
777
+
778
+ module_eval(<<'.,.,', 'parser.y', 92)
779
+ def _reduce_22(val, _values, result)
780
+ result = { command: val[0] }
781
+ result
782
+ end
783
+ .,.,
784
+
785
+ module_eval(<<'.,.,', 'parser.y', 93)
786
+ def _reduce_23(val, _values, result)
787
+ result = { command: val[2], assign: val[0] }
788
+ result
789
+ end
790
+ .,.,
791
+
792
+ module_eval(<<'.,.,', 'parser.y', 94)
793
+ def _reduce_24(val, _values, result)
794
+ result = Block.build val[0]
795
+ result
796
+ end
797
+ .,.,
798
+
799
+ module_eval(<<'.,.,', 'parser.y', 95)
800
+ def _reduce_25(val, _values, result)
801
+ result = Block.build val[0], *val[1]
802
+ result
803
+ end
804
+ .,.,
805
+
806
+ module_eval(<<'.,.,', 'parser.y', 96)
807
+ def _reduce_26(val, _values, result)
808
+ result = { block: val[0] }
809
+ result
810
+ end
811
+ .,.,
812
+
813
+ module_eval(<<'.,.,', 'parser.y', 97)
814
+ def _reduce_27(val, _values, result)
815
+ result = { block: val[2], assign: val[0] }
816
+ result
817
+ end
818
+ .,.,
819
+
820
+ # reduce 28 omitted
821
+
822
+ # reduce 29 omitted
823
+
824
+ module_eval(<<'.,.,', 'parser.y', 100)
825
+ def _reduce_30(val, _values, result)
826
+ result = { name: val[0] }
827
+ result
828
+ end
829
+ .,.,
830
+
831
+ module_eval(<<'.,.,', 'parser.y', 101)
832
+ def _reduce_31(val, _values, result)
833
+ result = { name: val[0], args: Arrayer.build(:ARRAY, *val[1]) }
834
+ result
835
+ end
836
+ .,.,
837
+
838
+ module_eval(<<'.,.,', 'parser.y', 103)
839
+ def _reduce_32(val, _values, result)
840
+ result = val[0].push(val[2])
841
+ result
842
+ end
843
+ .,.,
844
+
845
+ # reduce 33 omitted
846
+
847
+ module_eval(<<'.,.,', 'parser.y', 105)
848
+ def _reduce_34(val, _values, result)
849
+ result = val[1]
850
+ result
851
+ end
852
+ .,.,
853
+
854
+ module_eval(<<'.,.,', 'parser.y', 106)
855
+ def _reduce_35(val, _values, result)
856
+ result = []
857
+ result
858
+ end
859
+ .,.,
860
+
861
+ module_eval(<<'.,.,', 'parser.y', 107)
862
+ def _reduce_36(val, _values, result)
863
+ result = val[0].push(val[2])
864
+ result
865
+ end
866
+ .,.,
867
+
868
+ # reduce 37 omitted
869
+
870
+ module_eval(<<'.,.,', 'parser.y', 109)
871
+ def _reduce_38(val, _values, result)
872
+ result = val[1]
873
+ result
874
+ end
875
+ .,.,
876
+
877
+ module_eval(<<'.,.,', 'parser.y', 110)
878
+ def _reduce_39(val, _values, result)
879
+ result = []
880
+ result
881
+ end
882
+ .,.,
883
+
884
+ module_eval(<<'.,.,', 'parser.y', 111)
885
+ def _reduce_40(val, _values, result)
886
+ result = [val[0]]
887
+ result
888
+ end
889
+ .,.,
890
+
891
+ module_eval(<<'.,.,', 'parser.y', 113)
892
+ def _reduce_41(val, _values, result)
893
+ result = Calculator.build :MULTIPLY, val[0], val[2]
894
+ result
895
+ end
896
+ .,.,
897
+
898
+ module_eval(<<'.,.,', 'parser.y', 114)
899
+ def _reduce_42(val, _values, result)
900
+ result = Calculator.build :POWER, val[0], val[2]
901
+ result
902
+ end
903
+ .,.,
904
+
905
+ module_eval(<<'.,.,', 'parser.y', 115)
906
+ def _reduce_43(val, _values, result)
907
+ result = Calculator.build :DIVIDE, val[0], val[2]
908
+ result
909
+ end
910
+ .,.,
911
+
912
+ module_eval(<<'.,.,', 'parser.y', 116)
913
+ def _reduce_44(val, _values, result)
914
+ result = Calculator.build :PLUS, val[0], val[2]
915
+ result
916
+ end
917
+ .,.,
918
+
919
+ module_eval(<<'.,.,', 'parser.y', 117)
920
+ def _reduce_45(val, _values, result)
921
+ result = Calculator.build :MINUS, val[0], val[2]
922
+ result
923
+ end
924
+ .,.,
925
+
926
+ module_eval(<<'.,.,', 'parser.y', 118)
927
+ def _reduce_46(val, _values, result)
928
+ result = Calculator.build :MODULO, val[0], val[2]
929
+ result
930
+ end
931
+ .,.,
932
+
933
+ module_eval(<<'.,.,', 'parser.y', 119)
934
+ def _reduce_47(val, _values, result)
935
+ result = Calculator.build :UMINUS, val[1]
936
+ result
937
+ end
938
+ .,.,
939
+
940
+ module_eval(<<'.,.,', 'parser.y', 120)
941
+ def _reduce_48(val, _values, result)
942
+ result = Calculator.build :UPLUS, val[1]
943
+ result
944
+ end
945
+ .,.,
946
+
947
+ module_eval(<<'.,.,', 'parser.y', 121)
948
+ def _reduce_49(val, _values, result)
949
+ result = Calculator.build :AND, val[0], val[2]
950
+ result
951
+ end
952
+ .,.,
953
+
954
+ module_eval(<<'.,.,', 'parser.y', 122)
955
+ def _reduce_50(val, _values, result)
956
+ result = Calculator.build :OR, val[0], val[2]
957
+ result
958
+ end
959
+ .,.,
960
+
961
+ module_eval(<<'.,.,', 'parser.y', 123)
962
+ def _reduce_51(val, _values, result)
963
+ result = Calculator.build :GT, val[0], val[2]
964
+ result
965
+ end
966
+ .,.,
967
+
968
+ module_eval(<<'.,.,', 'parser.y', 124)
969
+ def _reduce_52(val, _values, result)
970
+ result = Calculator.build :GTE, val[0], val[2]
971
+ result
972
+ end
973
+ .,.,
974
+
975
+ module_eval(<<'.,.,', 'parser.y', 125)
976
+ def _reduce_53(val, _values, result)
977
+ result = Calculator.build :LT, val[0], val[2]
978
+ result
979
+ end
980
+ .,.,
981
+
982
+ module_eval(<<'.,.,', 'parser.y', 126)
983
+ def _reduce_54(val, _values, result)
984
+ result = Calculator.build :LTE, val[0], val[2]
985
+ result
986
+ end
987
+ .,.,
988
+
989
+ module_eval(<<'.,.,', 'parser.y', 127)
990
+ def _reduce_55(val, _values, result)
991
+ result = Calculator.build :EQUAL, val[0], val[2]
992
+ result
993
+ end
994
+ .,.,
995
+
996
+ module_eval(<<'.,.,', 'parser.y', 128)
997
+ def _reduce_56(val, _values, result)
998
+ result = Calculator.build :INEQUAL, val[0], val[2]
999
+ result
1000
+ end
1001
+ .,.,
1002
+
1003
+ module_eval(<<'.,.,', 'parser.y', 129)
1004
+ def _reduce_57(val, _values, result)
1005
+ result = Calculator.build :NOT, val[1]
1006
+ result
1007
+ end
1008
+ .,.,
1009
+
1010
+ module_eval(<<'.,.,', 'parser.y', 130)
1011
+ def _reduce_58(val, _values, result)
1012
+ result = Assigner.build val[0], val[2]
1013
+ result
1014
+ end
1015
+ .,.,
1016
+
1017
+ module_eval(<<'.,.,', 'parser.y', 131)
1018
+ def _reduce_59(val, _values, result)
1019
+ val[2].children[0] = val[0]; result = val[2]
1020
+ result
1021
+ end
1022
+ .,.,
1023
+
1024
+ module_eval(<<'.,.,', 'parser.y', 132)
1025
+ def _reduce_60(val, _values, result)
1026
+ result = Summoner.build val[0], '[]', *val[2]
1027
+ result
1028
+ end
1029
+ .,.,
1030
+
1031
+ module_eval(<<'.,.,', 'parser.y', 133)
1032
+ def _reduce_61(val, _values, result)
1033
+ result = nil
1034
+ result
1035
+ end
1036
+ .,.,
1037
+
1038
+ module_eval(<<'.,.,', 'parser.y', 135)
1039
+ def _reduce_62(val, _values, result)
1040
+ result = case val[1].size
1041
+ when 0
1042
+ nil
1043
+ when 1
1044
+ val[1][0]
1045
+ else
1046
+ Sequencer.build :SEQUENCE, *val[1].flatten
1047
+ end
1048
+
1049
+ result
1050
+ end
1051
+ .,.,
1052
+
1053
+ # reduce 63 omitted
1054
+
1055
+ # reduce 64 omitted
1056
+
1057
+ # reduce 65 omitted
1058
+
1059
+ # reduce 66 omitted
1060
+
1061
+ # reduce 67 omitted
1062
+
1063
+ # reduce 68 omitted
1064
+
1065
+ # reduce 69 omitted
1066
+
1067
+ # reduce 70 omitted
1068
+
1069
+ # reduce 71 omitted
1070
+
1071
+ # reduce 72 omitted
1072
+
1073
+ # reduce 73 omitted
1074
+
1075
+ # reduce 74 omitted
1076
+
1077
+ # reduce 75 omitted
1078
+
1079
+ # reduce 76 omitted
1080
+
1081
+ module_eval(<<'.,.,', 'parser.y', 154)
1082
+ def _reduce_77(val, _values, result)
1083
+ result = Arrayer.build :ARRAY
1084
+ result
1085
+ end
1086
+ .,.,
1087
+
1088
+ module_eval(<<'.,.,', 'parser.y', 155)
1089
+ def _reduce_78(val, _values, result)
1090
+ result = Arrayer.build :ARRAY, *val[1]
1091
+ result
1092
+ end
1093
+ .,.,
1094
+
1095
+ module_eval(<<'.,.,', 'parser.y', 156)
1096
+ def _reduce_79(val, _values, result)
1097
+ val[0].push(val[2])
1098
+ result
1099
+ end
1100
+ .,.,
1101
+
1102
+ module_eval(<<'.,.,', 'parser.y', 157)
1103
+ def _reduce_80(val, _values, result)
1104
+ result = [val[0]]
1105
+ result
1106
+ end
1107
+ .,.,
1108
+
1109
+ module_eval(<<'.,.,', 'parser.y', 159)
1110
+ def _reduce_81(val, _values, result)
1111
+ result = Hasher.build :HASH
1112
+ result
1113
+ end
1114
+ .,.,
1115
+
1116
+ module_eval(<<'.,.,', 'parser.y', 160)
1117
+ def _reduce_82(val, _values, result)
1118
+ result = Hasher.build :HASH, *val[1]
1119
+ result
1120
+ end
1121
+ .,.,
1122
+
1123
+ module_eval(<<'.,.,', 'parser.y', 161)
1124
+ def _reduce_83(val, _values, result)
1125
+ val[0].push(val[2])
1126
+ result
1127
+ end
1128
+ .,.,
1129
+
1130
+ module_eval(<<'.,.,', 'parser.y', 162)
1131
+ def _reduce_84(val, _values, result)
1132
+ result = [val[0]]
1133
+ result
1134
+ end
1135
+ .,.,
1136
+
1137
+ module_eval(<<'.,.,', 'parser.y', 163)
1138
+ def _reduce_85(val, _values, result)
1139
+ result = Arrayer.build :PAIR, val[0], val[2]
1140
+ result
1141
+ end
1142
+ .,.,
1143
+
1144
+ module_eval(<<'.,.,', 'parser.y', 165)
1145
+ def _reduce_86(val, _values, result)
1146
+ result = [*val[0], Hasher.build(:HASH, *val[2])]
1147
+ result
1148
+ end
1149
+ .,.,
1150
+
1151
+ # reduce 87 omitted
1152
+
1153
+ module_eval(<<'.,.,', 'parser.y', 167)
1154
+ def _reduce_88(val, _values, result)
1155
+ result = Hasher.build(:HASH, *val[0])
1156
+ result
1157
+ end
1158
+ .,.,
1159
+
1160
+ module_eval(<<'.,.,', 'parser.y', 168)
1161
+ def _reduce_89(val, _values, result)
1162
+ result = Summoner.build nil, val[0]
1163
+ result
1164
+ end
1165
+ .,.,
1166
+
1167
+ module_eval(<<'.,.,', 'parser.y', 169)
1168
+ def _reduce_90(val, _values, result)
1169
+ result = Summoner.build nil, val[0]
1170
+ result
1171
+ end
1172
+ .,.,
1173
+
1174
+ module_eval(<<'.,.,', 'parser.y', 170)
1175
+ def _reduce_91(val, _values, result)
1176
+ result = Summoner.build nil, val[0], *val[2]
1177
+ result
1178
+ end
1179
+ .,.,
1180
+
1181
+ def _reduce_none(val, _values, result)
1182
+ val[0]
1183
+ end
1184
+
1185
+ end # class Parser
1186
+ end # module Hotcell