hotcell 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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