racc 1.4.14 → 1.4.15-java

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 (60) hide show
  1. checksums.yaml +5 -5
  2. data/Manifest.txt +50 -0
  3. data/ext/racc/com/headius/racc/Cparse.java +66 -23
  4. data/ext/racc/cparse.c +1 -1
  5. data/ext/racc/depend +1 -1
  6. data/lib/racc/cparse-jruby.jar +0 -0
  7. data/lib/racc/info.rb +2 -2
  8. data/test/assets/bibtex.y +141 -0
  9. data/test/assets/cadenza.y +170 -0
  10. data/test/assets/cast.y +926 -0
  11. data/test/assets/csspool.y +729 -0
  12. data/test/assets/edtf.y +583 -0
  13. data/test/assets/huia.y +318 -0
  14. data/test/assets/journey.y +47 -0
  15. data/test/assets/liquor.y +313 -0
  16. data/test/assets/machete.y +423 -0
  17. data/test/assets/macruby.y +2197 -0
  18. data/test/assets/mediacloth.y +599 -0
  19. data/test/assets/mof.y +649 -0
  20. data/test/assets/namae.y +302 -0
  21. data/test/assets/nasl.y +626 -0
  22. data/test/assets/nokogiri-css.y +255 -0
  23. data/test/assets/opal.y +1807 -0
  24. data/test/assets/php_serialization.y +98 -0
  25. data/test/assets/rdblockparser.y +576 -0
  26. data/test/assets/rdinlineparser.y +561 -0
  27. data/test/assets/riml.y +665 -0
  28. data/test/assets/ruby18.y +1943 -0
  29. data/test/assets/ruby19.y +2174 -0
  30. data/test/assets/ruby20.y +2350 -0
  31. data/test/assets/ruby21.y +2359 -0
  32. data/test/assets/ruby22.y +2381 -0
  33. data/test/assets/tp_plus.y +622 -0
  34. data/test/assets/twowaysql.y +278 -0
  35. data/test/helper.rb +50 -34
  36. data/test/regress/bibtex +474 -0
  37. data/test/regress/cadenza +796 -0
  38. data/test/regress/cast +3425 -0
  39. data/test/regress/csspool +2318 -0
  40. data/test/regress/edtf +1794 -0
  41. data/test/regress/huia +1392 -0
  42. data/test/regress/journey +222 -0
  43. data/test/regress/liquor +885 -0
  44. data/test/regress/machete +833 -0
  45. data/test/regress/mediacloth +1463 -0
  46. data/test/regress/mof +1368 -0
  47. data/test/regress/namae +634 -0
  48. data/test/regress/nasl +2058 -0
  49. data/test/regress/nokogiri-css +836 -0
  50. data/test/regress/opal +6429 -0
  51. data/test/regress/php_serialization +336 -0
  52. data/test/regress/rdblockparser +1061 -0
  53. data/test/regress/rdinlineparser +1243 -0
  54. data/test/regress/riml +3297 -0
  55. data/test/regress/ruby18 +6351 -0
  56. data/test/regress/ruby22 +7456 -0
  57. data/test/regress/tp_plus +1933 -0
  58. data/test/regress/twowaysql +556 -0
  59. data/test/test_racc_command.rb +177 -0
  60. metadata +88 -32
data/test/regress/cast ADDED
@@ -0,0 +1,3425 @@
1
+ #
2
+ # DO NOT MODIFY!!!!
3
+ # This file is automatically generated by Racc 1.4.14
4
+ # from Racc grammer file "".
5
+ #
6
+
7
+ require 'racc/parser.rb'
8
+
9
+
10
+ require 'set'
11
+
12
+ # Error classes
13
+ module C
14
+ class ParseError < StandardError; end
15
+ end
16
+
17
+ # Local variables:
18
+ # mode: ruby
19
+ # end:
20
+ module C
21
+ class Parser < Racc::Parser
22
+
23
+ module_eval(<<'...end cast.y/module_eval...', 'cast.y', 564)
24
+ # A.1.9 -- Preprocessing numbers -- skip
25
+ # A.1.8 -- Header names -- skip
26
+
27
+ # A.1.7 -- Puncuators -- we don't bother with {##,#,%:,%:%:} since
28
+ # we don't do preprocessing
29
+ @@punctuators = %r'\+\+|-[->]|&&|\|\||\.\.\.|(?:<<|>>|[<>=!*/%+\-&^|])=?|[\[\](){}.~?:;,]'
30
+ @@digraphs = %r'<[:%]|[:%]>'
31
+
32
+ # A.1.6 -- String Literals -- simple for us because we don't decode
33
+ # the string (and indeed accept some illegal strings)
34
+ @@string_literal = %r'L?"(?:[^\\]|\\.)*?"'m
35
+
36
+ # A.1.5 -- Constants
37
+ @@decimal_floating_constant = %r'(?:(?:\d*\.\d+|\d+\.)(?:e[-+]?\d+)?|\d+e[-+]?\d+)[fl]?'i
38
+ @@hexadecimal_floating_constant = %r'0x(?:(?:[0-9a-f]*\.[0-9a-f]+|[0-9a-f]+\.)|[0-9a-f]+)p[-+]?\d+[fl]?'i
39
+
40
+ @@integer_constant = %r'(?:[1-9][0-9]*|0x[0-9a-f]+|0[0-7]*)(?:ul?l?|ll?u?)?'i
41
+ @@floating_constant = %r'#{@@decimal_floating_constant}|#{@@hexadecimal_floating_constant}'
42
+ @@enumeration_constant = %r'[a-zA-Z_\\][a-zA-Z_\\0-9]*'
43
+ @@character_constant = %r"L?'(?:[^\\]|\\.)+?'"
44
+ # (note that as with string-literals, we accept some illegal
45
+ # character-constants)
46
+
47
+ # A.1.4 -- Universal character names -- skip
48
+
49
+ # A.1.3 -- Identifiers -- skip, since an identifier is lexically
50
+ # identical to an enumeration constant
51
+
52
+ # A.1.2 Keywords
53
+ keywords = %w'auto break case char const continue default do
54
+ double else enum extern float for goto if inline int long register
55
+ restrict return short signed sizeof static struct switch typedef union
56
+ unsigned void volatile while _Bool _Complex _Imaginary'
57
+ @@keywords = %r"#{keywords.join('|')}"
58
+
59
+ def initialize
60
+ @type_names = ::Set.new
61
+
62
+ @warning_proc = lambda{}
63
+ @pos = C::Node::Pos.new(nil, 1, 0)
64
+ end
65
+ def initialize_copy(x)
66
+ @pos = x.pos.dup
67
+ @type_names = x.type_names.dup
68
+ end
69
+ attr_accessor :pos, :type_names
70
+
71
+ def parse(str)
72
+ if str.respond_to? :read
73
+ str = str.read
74
+ end
75
+ @str = str
76
+ begin
77
+ prepare_lexer(str)
78
+ return do_parse
79
+ rescue ParseError => e
80
+ e.set_backtrace(caller)
81
+ raise
82
+ end
83
+ end
84
+
85
+ #
86
+ # Error handler, as used by racc.
87
+ #
88
+ def on_error(error_token_id, error_value, value_stack)
89
+ if error_value == '$'
90
+ parse_error @pos, "unexpected EOF"
91
+ else
92
+ parse_error(error_value.pos,
93
+ "parse error on #{token_to_str(error_token_id)} (#{error_value.val})")
94
+ end
95
+ end
96
+
97
+ def self.feature(name)
98
+ attr_writer "#{name}_enabled"
99
+ class_eval <<-EOS
100
+ def enable_#{name}
101
+ @#{name}_enabled = true
102
+ end
103
+ def #{name}_enabled?
104
+ @#{name}_enabled
105
+ end
106
+ EOS
107
+ end
108
+ private_class_method :feature
109
+
110
+ #
111
+ # Allow blocks in parentheses as expressions, as per the gcc
112
+ # extension. [http://rubyurl.com/iB7]
113
+ #
114
+ feature :block_expressions
115
+
116
+ private # ---------------------------------------------------------
117
+
118
+ class Token
119
+ attr_accessor :pos, :val
120
+ def initialize(pos, val)
121
+ @pos = pos
122
+ @val = val
123
+ end
124
+ end
125
+ def eat(str)
126
+ lines = str.split(/\r\n|[\r\n]/, -1)
127
+ if lines.length == 1
128
+ @pos.col_num += lines[0].length
129
+ else
130
+ @pos.line_num += lines.length - 1
131
+ @pos.col_num = lines[-1].length
132
+ end
133
+ end
134
+
135
+ #
136
+ # Make a Declaration from the given specs and declarators.
137
+ #
138
+ def make_declaration(pos, specs, declarators)
139
+ specs.all?{|x| x.is_a?(Symbol) || x.is_a?(Type)} or raise specs.map{|x| x.class}.inspect
140
+ decl = Declaration.new_at(pos, nil, declarators)
141
+
142
+ # set storage class
143
+ storage_classes = specs.find_all do |x|
144
+ [:typedef, :extern, :static, :auto, :register].include? x
145
+ end
146
+ # 6.7.1p2: at most, one storage-class specifier may be given in
147
+ # the declaration specifiers in a declaration
148
+ storage_classes.length <= 1 or
149
+ begin
150
+ if declarators.length == 0
151
+ for_name = ''
152
+ else
153
+ for_name = "for `#{declarators[0].name}'"
154
+ end
155
+ parse_error pos, "multiple or duplicate storage classes given #{for_name}'"
156
+ end
157
+ decl.storage = storage_classes[0]
158
+
159
+ # set type (specifiers, qualifiers)
160
+ decl.type = make_direct_type(pos, specs)
161
+
162
+ # set function specifiers
163
+ decl.inline = specs.include?(:inline)
164
+
165
+ # look for new type names
166
+ if decl.typedef?
167
+ decl.declarators.each do |d|
168
+ if d.name
169
+ @type_names << d.name
170
+ end
171
+ end
172
+ end
173
+
174
+ return decl
175
+ end
176
+
177
+ def make_function_def(pos, specs, func_declarator, decl_list, defn)
178
+ add_decl_type(func_declarator, make_direct_type(pos, specs))
179
+
180
+ # get types from decl_list if necessary
181
+ function = func_declarator.indirect_type
182
+ function.is_a? Function or
183
+ parse_error pos, "non function type for function `#{func_declarator.name}'"
184
+ params = function.params
185
+ if decl_list
186
+ params.all?{|p| p.type.nil?} or
187
+ parse_error pos, "both prototype and declaration list given for `#{func_declarator.name}'"
188
+ decl_list.each do |declaration|
189
+ declaration.declarators.each do |declarator|
190
+ param = params.find{|p| p.name == declarator.name} or
191
+ parse_error pos, "no parameter named #{declarator.name}"
192
+ if declarator.indirect_type
193
+ param.type = declarator.indirect_type
194
+ param.type.direct_type = declaration.type.dup
195
+ else
196
+ param.type = declaration.type.dup
197
+ end
198
+ end
199
+ end
200
+ params.all?{|p| p.type} or
201
+ begin
202
+ s = params.find_all{|p| p.type.nil?}.map{|p| "`#{p.name}'"}.join(' and ')
203
+ parse_error pos, "types missing for parameters #{s}"
204
+ end
205
+ end
206
+
207
+ fd = FunctionDef.new_at(pos,
208
+ function.detach,
209
+ func_declarator.name,
210
+ defn,
211
+ :no_prototype => !decl_list.nil?)
212
+
213
+ # set storage class
214
+ # 6.9.1p4: only extern or static allowed
215
+ specs.each do |s|
216
+ [:typedef, :auto, :register].include?(s) and
217
+ "`#{s}' illegal for function"
218
+ end
219
+ storage_classes = specs.find_all do |s|
220
+ s == :extern || s == :static
221
+ end
222
+ # 6.7.1p2: at most, one storage-class specifier may be given in
223
+ # the declaration specifiers in a declaration
224
+ storage_classes.length <= 1 or
225
+ "multiple or duplicate storage classes given for `#{func_declarator.name}'"
226
+ fd.storage = storage_classes[0] if storage_classes[0]
227
+
228
+ # set function specifiers
229
+ # 6.7.4p5 'inline' can be repeated
230
+ fd.inline = specs.include?(:inline)
231
+
232
+ return fd
233
+ end
234
+
235
+ #
236
+ # Make a direct type from the list of type specifiers and type
237
+ # qualifiers.
238
+ #
239
+ def make_direct_type(pos, specs)
240
+ specs_order = [:signed, :unsigned, :short, :long, :double, :void,
241
+ :char, :int, :float, :_Bool, :_Complex, :_Imaginary]
242
+
243
+ type_specs = specs.find_all do |x|
244
+ specs_order.include?(x) || !x.is_a?(Symbol)
245
+ end
246
+ type_specs.sort! do |a, b|
247
+ (specs_order.index(a)||100) <=> (specs_order.index(b)||100)
248
+ end
249
+
250
+ # set type specifiers
251
+ # 6.7.2p2: the specifier list should be one of these
252
+ type =
253
+ case type_specs
254
+ when [:void]
255
+ Void.new
256
+ when [:char]
257
+ Char.new
258
+ when [:signed, :char]
259
+ Char.new :signed => true
260
+ when [:unsigned, :char]
261
+ Char.new :signed => false
262
+ when [:short], [:signed, :short], [:short, :int],
263
+ [:signed, :short, :int]
264
+ Int.new :longness => -1
265
+ when [:unsigned, :short], [:unsigned, :short, :int]
266
+ Int.new :unsigned => true, :longness => -1
267
+ when [:int], [:signed], [:signed, :int]
268
+ Int.new
269
+ when [:unsigned], [:unsigned, :int]
270
+ Int.new :unsigned => true
271
+ when [:long], [:signed, :long], [:long, :int],
272
+ [:signed, :long, :int]
273
+ Int.new :longness => 1
274
+ when [:unsigned, :long], [:unsigned, :long, :int]
275
+ Int.new :longness => 1, :unsigned => true
276
+ when [:long, :long], [:signed, :long, :long],
277
+ [:long, :long, :int], [:signed, :long, :long, :int]
278
+ Int.new :longness => 2
279
+ when [:unsigned, :long, :long], [:unsigned, :long, :long, :int]
280
+ Int.new :longness => 2, :unsigned => true
281
+ when [:float]
282
+ Float.new
283
+ when [:double]
284
+ Float.new :longness => 1
285
+ when [:long, :double]
286
+ Float.new :longness => 2
287
+ when [:_Bool]
288
+ Bool.new
289
+ when [:float, :_Complex]
290
+ Complex.new
291
+ when [:double, :_Complex]
292
+ Complex.new :longness => 1
293
+ when [:long, :double, :_Complex]
294
+ Complex.new :longness => 2
295
+ when [:float, :_Imaginary]
296
+ Imaginary.new
297
+ when [:double, :_Imaginary]
298
+ Imaginary.new :longness => 1
299
+ when [:long, :double, :_Imaginary]
300
+ Imaginary.new :longness => 2
301
+ else
302
+ if type_specs.length == 1 &&
303
+ [CustomType, Struct, Union, Enum].any?{|c| type_specs[0].is_a? c}
304
+ type_specs[0]
305
+ else
306
+ if type_specs == []
307
+ parse_error pos, "no type specifiers given"
308
+ else
309
+ parse_error pos, "invalid type specifier combination: #{type_specs.join(' ')}"
310
+ end
311
+ end
312
+ end
313
+ type.pos ||= pos
314
+
315
+ # set type qualifiers
316
+ # 6.7.3p4: type qualifiers can be repeated
317
+ type.const = specs.any?{|x| x.equal? :const }
318
+ type.restrict = specs.any?{|x| x.equal? :restrict}
319
+ type.volatile = specs.any?{|x| x.equal? :volatile}
320
+
321
+ return type
322
+ end
323
+
324
+ def make_parameter(pos, specs, indirect_type, name)
325
+ type = indirect_type
326
+ if type
327
+ type.direct_type = make_direct_type(pos, specs)
328
+ else
329
+ type = make_direct_type(pos, specs)
330
+ end
331
+ [:typedef, :extern, :static, :auto, :inline].each do |sym|
332
+ specs.include? sym and
333
+ parse_error pos, "parameter `#{declarator.name}' declared `#{sym}'"
334
+ end
335
+ return Parameter.new_at(pos, type, name,
336
+ :register => specs.include?(:register))
337
+ end
338
+
339
+ def add_type_quals(type, quals)
340
+ type.const = quals.include?(:const )
341
+ type.restrict = quals.include?(:restrict)
342
+ type.volatile = quals.include?(:volatile)
343
+ return type
344
+ end
345
+
346
+ #
347
+ # Add te given type as the "most direct" type to the given
348
+ # declarator. Return the declarator.
349
+ #
350
+ def add_decl_type(declarator, type)
351
+ if declarator.indirect_type
352
+ declarator.indirect_type.direct_type = type
353
+ else
354
+ declarator.indirect_type = type
355
+ end
356
+ return declarator
357
+ end
358
+
359
+ def param_list(params, var_args)
360
+ if params.length == 1 &&
361
+ params[0].type.is_a?(Void) &&
362
+ params[0].name.nil?
363
+ return NodeArray[]
364
+ elsif params.empty?
365
+ return nil
366
+ else
367
+ return params
368
+ end
369
+ end
370
+
371
+ def parse_error(pos, str)
372
+ raise ParseError, "#{pos}: #{str}"
373
+ end
374
+
375
+ ...end cast.y/module_eval...
376
+ ##### State transition tables begin ###
377
+
378
+ clist = [
379
+ '99,100,65,277,108,109,120,38,373,110,111,112,113,114,115,116,117,99',
380
+ '100,65,48,108,109,120,312,424,110,111,112,113,114,115,116,117,43,293',
381
+ '48,425,196,366,281,72,49,50,56,128,426,38,59,294,123,124,126,127,129',
382
+ '130,131,132,312,290,372,281,128,49,38,386,416,123,124,126,127,129,130',
383
+ '131,132,49,365,309,71,196,50,391,183,50,147,148,149,150,88,38,196,48',
384
+ '185,38,88,281,184,50,442,196,50,147,148,149,150,99,100,65,277,108,109',
385
+ '120,366,50,110,111,112,113,114,115,116,117,99,100,65,50,108,109,120',
386
+ '50,49,110,111,112,113,114,115,116,117,88,88,48,249,250,72,281,241,242',
387
+ '169,365,128,238,38,413,89,123,124,126,127,129,130,131,132,88,239,240',
388
+ '196,128,50,38,349,84,123,124,126,127,129,130,131,132,49,71,83,440,288',
389
+ '50,195,346,50,147,148,149,150,445,43,262,48,439,289,196,263,347,77,196',
390
+ '428,50,147,148,149,150,99,100,65,50,108,109,120,196,50,110,111,112,113',
391
+ '114,115,116,117,99,100,65,50,108,109,120,238,49,110,111,112,113,114',
392
+ '115,116,117,227,238,315,239,240,245,246,247,248,243,244,128,283,38,239',
393
+ '240,123,124,126,127,129,130,131,132,314,284,243,244,128,50,38,379,68',
394
+ '123,124,126,127,129,130,131,132,34,35,36,196,69,308,49,307,50,147,148',
395
+ '149,150,303,228,229,230,231,232,233,234,235,236,237,192,50,147,148,149',
396
+ '150,99,100,65,296,108,109,120,243,244,110,111,112,113,114,115,116,117',
397
+ '99,100,65,50,108,109,120,447,376,110,111,112,113,114,115,116,117,196',
398
+ '196,387,353,313,273,245,246,247,248,355,128,388,38,196,274,123,124,126',
399
+ '127,129,130,131,132,245,246,247,248,128,285,38,454,437,123,124,126,127',
400
+ '129,130,131,132,196,196,357,427,450,377,433,375,50,147,148,149,150,196',
401
+ '196,196,196,196,34,35,36,241,242,50,49,50,147,148,149,150,99,100,65',
402
+ '61,108,109,120,241,242,110,111,112,113,114,115,116,117,99,100,65,275',
403
+ '108,109,120,243,244,110,111,112,113,114,115,116,117,249,250,243,244',
404
+ '255,256,272,271,268,67,254,128,378,38,253,252,123,124,126,127,129,130',
405
+ '131,132,251,389,390,251,128,252,38,253,254,123,124,126,127,129,130,131',
406
+ '132,395,396,397,398,399,209,405,406,50,147,148,149,150,206,205,202,199',
407
+ '198,197,192,191,384,384,187,88,50,147,148,149,150,99,100,65,103,108',
408
+ '109,120,423,,110,111,112,113,114,115,116,117,,,10,11,12,13,14,15,16',
409
+ '17,18,19,20,21,22,23,24,25,26,31,32,33,34,35,36,37,,,128,,38,,,123,124',
410
+ '126,127,129,130,131,132,99,100,65,,108,109,120,,,110,111,112,113,114',
411
+ '115,116,117,,,,,,,,,50,147,148,149,150,,,,,,178,,,,,,,48,,,128,,38,',
412
+ ',123,124,126,127,129,130,131,132,99,100,65,,108,109,120,,,110,111,112',
413
+ '113,114,115,116,117,,,,,,,49,,50,147,148,149,150,,,,,,178,,,,,,,48,',
414
+ ',128,,38,,,123,124,126,127,129,130,131,132,99,100,65,50,108,109,120',
415
+ ',,110,111,112,113,114,115,116,117,,,,,,,49,,50,147,148,149,150,,,,,',
416
+ ',,,,,,,,,,128,,38,,,123,124,126,127,129,130,131,132,99,100,65,50,108',
417
+ '109,120,,,110,111,112,113,114,115,116,117,,,,,,,,,50,147,148,149,150',
418
+ ',,,,,,,,,,,,,,,128,,38,,,123,124,126,127,129,130,131,132,99,100,65,',
419
+ '108,109,120,,,110,111,112,113,114,115,116,117,,,,,,,,,50,147,148,149',
420
+ '150,,,,,,,,,,,,,,,,128,,38,,,123,124,126,127,129,130,131,132,99,100',
421
+ '65,,108,109,120,,,110,111,112,113,114,115,116,117,,,,,,,,,50,147,148',
422
+ '149,150,,,,,,,,,,,,,,,,128,,38,,,123,124,126,127,129,130,131,132,99',
423
+ '100,65,,108,109,120,,,110,111,112,113,114,115,116,117,,,,,,,,,50,147',
424
+ '148,149,150,,,,,,,,,,,,,,,,128,,38,,,123,124,126,127,129,130,131,132',
425
+ '99,100,65,,108,109,120,,,110,111,112,113,114,115,116,117,,,,,,,,,50',
426
+ '147,148,149,150,,,,,,,,,,,,,,,,128,,38,,,123,124,126,127,129,130,131',
427
+ '132,99,100,65,,108,109,120,,,110,111,112,113,114,115,116,117,,,,,,,',
428
+ ',50,147,148,149,150,,,,,,,,,,,,,,,,128,,38,,120,123,124,126,127,129',
429
+ '130,131,132,99,100,65,,108,109,120,,,110,111,112,113,114,115,116,117',
430
+ ',,,,215,,,,50,147,148,149,150,128,,,,,123,124,126,127,129,130,131,132',
431
+ ',,128,,38,,,123,124,126,127,129,130,131,132,214,,,,,216,217,218,219',
432
+ ',50,147,148,149,150,,,,,,,,,,,50,147,148,149,150,99,100,65,193,108,109',
433
+ '120,,,110,111,112,113,114,115,116,117,,,10,11,12,13,14,15,16,17,18,19',
434
+ '20,21,22,23,24,25,26,31,32,33,34,35,36,37,,,128,,38,,,123,124,126,127',
435
+ '129,130,131,132,99,100,65,,108,109,120,,,110,111,112,113,114,115,116',
436
+ '117,154,453,,,120,,,,50,147,148,149,150,,,,,,,,,,,,,,,,128,,38,,,123',
437
+ '124,126,127,129,130,131,132,262,,128,,,263,,123,124,126,127,129,130',
438
+ '131,132,,,,,,,,,,,50,147,148,149,150,65,,,,120,,,,,,50,147,148,149,150',
439
+ '154,,,,120,,,15,16,17,18,19,20,21,22,23,24,25,26,31,32,33,34,35,36,',
440
+ ',,128,,38,,,123,124,126,127,129,130,131,132,,,128,,,,,123,124,126,127',
441
+ '129,130,131,132,154,,,,120,,,,,,50,147,148,149,150,384,,,,120,,,,,,50',
442
+ '147,148,149,150,,,,,,,,,,,,,,128,,,,,123,124,126,127,129,130,131,132',
443
+ ',,128,,,,,123,124,126,127,129,130,131,132,154,,,,120,,,,,,50,147,148',
444
+ '149,150,154,392,,,120,,,,,,50,147,148,149,150,,,,,,,,,,,,262,,128,,',
445
+ '263,,123,124,126,127,129,130,131,132,262,,128,,,263,,123,124,126,127',
446
+ '129,130,131,132,,,,,,,,,,,50,147,148,149,150,65,,,,120,,,,,,50,147,148',
447
+ '149,150,154,,,,120,,,15,16,17,18,19,20,21,22,23,24,25,26,31,32,33,34',
448
+ '35,36,,,,128,,38,,,123,124,126,127,129,130,131,132,,,128,,,,,123,124',
449
+ '126,127,129,130,131,132,154,,,,120,,,,,,50,147,148,149,150,,,,,,,,,',
450
+ ',50,147,148,149,150,,,,,,,,,,,,262,,128,,,263,,123,124,126,127,129,130',
451
+ '131,132,,,,,,,,,65,,,,120,,,,,,,,,,,,,50,147,148,149,150,15,16,17,18',
452
+ '19,20,21,22,23,24,25,26,31,32,33,34,35,36,,,,128,,38,,,123,124,126,127',
453
+ '129,130,131,132,381,,120,,,,,,,,,,,383,,120,,,,,,,,,,50,147,148,149',
454
+ '150,,,,,,,,,,,,128,,,,,123,124,126,127,129,130,131,132,128,,,,,123,124',
455
+ '126,127,129,130,131,132,,,,,,,,,,,,,50,147,148,149,150,305,,120,,,,',
456
+ ',50,147,148,149,150,,,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25',
457
+ '26,31,32,33,34,35,36,37,,,128,,38,,,123,124,126,127,129,130,131,132',
458
+ '208,,120,,,,,,,,,,,412,,120,,,,,,,,,,50,147,148,149,150,,,,,,,,,,,,128',
459
+ ',,,,123,124,126,127,129,130,131,132,128,,,,120,123,124,126,127,129,130',
460
+ '131,132,,,,,120,,,,,,,,50,147,148,149,150,,,,,,,,,50,147,148,149,150',
461
+ '128,,,,,123,124,126,127,129,130,131,132,128,,,,120,123,124,126,127,129',
462
+ '130,131,132,,,,,120,,,,,,,,50,147,148,149,150,,,,,,,,,50,147,148,149',
463
+ '150,128,,,,,123,124,126,127,129,130,131,132,128,,,,,123,124,126,127',
464
+ '129,130,131,132,,,120,,,,,,,,,,50,147,148,149,150,160,120,444,,,,,,50',
465
+ '147,148,149,150,,,,,,34,35,36,,,159,161,,,,,123,124,126,127,129,130',
466
+ '131,132,,,,128,,,,,123,124,126,127,129,130,131,132,120,436,,,,,,,,50',
467
+ '147,148,149,150,120,432,,,,,,,,,,50,147,148,149,150,,,,,,,,,,128,,,',
468
+ ',123,124,126,127,129,130,131,132,,128,,,,,123,124,126,127,129,130,131',
469
+ '132,120,430,,,,,,,,,,50,147,148,149,150,120,,,,,,,,,50,147,148,149,150',
470
+ ',,,,,,,,,128,,,,,123,124,126,127,129,130,131,132,,,,128,,,,120,123,124',
471
+ '126,127,129,130,131,132,,,,,,,,,,50,147,148,149,150,,,,,,,,,,,,50,147',
472
+ '148,149,150,128,,,,,123,124,126,127,129,130,131,132,,,,,,,,,,,,,120',
473
+ ',,,,,,,,,,,,50,147,148,149,150,15,16,17,18,19,20,21,22,23,24,25,26,31',
474
+ '32,33,34,35,36,,,,128,,38,,,123,124,126,127,129,130,131,132,120,418',
475
+ ',,,,,,,,,,,120,415,,,,,,,,,,,50,147,148,149,150,,,,,,,,,,128,,,,,123',
476
+ '124,126,127,129,130,131,132,128,,,,120,123,124,126,127,129,130,131,132',
477
+ ',,,,,,,,,,,,50,147,148,149,150,,,,,,,,,50,147,148,149,150,128,,,,,123',
478
+ '124,126,127,129,130,131,132,120,,,,,,,,,,,,,120,,266,,,,,,,,,,50,147',
479
+ '148,149,150,,,,34,35,36,,,265,267,,,,,123,124,126,127,129,130,131,132',
480
+ '128,,,,,123,124,126,127,129,130,131,132,120,,,,,,,,,,,,50,147,148,149',
481
+ '150,120,,,,,,,,50,147,148,149,150,,,,34,35,36,,,,128,,,,,123,124,126',
482
+ '127,129,130,131,132,,,,368,369,,,,,123,124,126,127,129,130,131,132,120',
483
+ ',,,,,,,50,147,148,149,150,120,,,,,,,,,,,,50,147,148,149,150,,,,34,35',
484
+ '36,,,,128,,,,,123,124,126,127,129,130,131,132,128,,,,120,123,124,126',
485
+ '127,129,130,131,132,,,,,120,,,,,,,,50,147,148,149,150,,,,,,,,,50,147',
486
+ '148,149,150,128,,,,,123,124,126,127,129,130,131,132,128,,,,120,123,124',
487
+ '126,127,129,130,131,132,,,,,120,,,,,,,,50,147,148,149,150,,,,,,,,,50',
488
+ '147,148,149,150,128,,,,,123,124,126,127,129,130,131,132,128,,,,120,123',
489
+ '124,126,127,129,130,131,132,,,,,120,,,,,,,,50,147,148,149,150,,,,,,',
490
+ ',,50,147,148,149,150,128,,,,,123,124,126,127,129,130,131,132,128,,,',
491
+ '120,123,124,126,127,129,130,131,132,,,,,120,,,,,,,,50,147,148,149,150',
492
+ ',,,,,,,,50,147,148,149,150,128,,,,,123,124,126,127,129,130,131,132,128',
493
+ ',,,120,123,124,126,127,129,130,131,132,,,,,120,,,,,,,,50,147,148,149',
494
+ '150,,,,,,,,,50,147,148,149,150,128,,,,,123,124,126,127,129,130,131,132',
495
+ '128,,,,120,123,124,126,127,129,130,131,132,,,,,120,,,,,,,,50,147,148',
496
+ '149,150,,,,,,,,,50,147,148,149,150,128,,,,,123,124,126,127,129,130,131',
497
+ '132,128,,,,120,123,124,126,127,129,130,131,132,,,,,120,,,,,,,,50,147',
498
+ '148,149,150,,,,,,,,,50,147,148,149,150,128,,,,,123,124,126,127,129,130',
499
+ '131,132,128,,,,120,123,124,126,127,129,130,131,132,,,,,,,,,,,,,50,147',
500
+ '148,149,150,,,,,,,,,50,147,148,149,150,128,,,,,123,124,126,127,129,130',
501
+ '131,132,,,,,,,,,,,,,120,318,,,,,,,,,,,,50,147,148,149,150,15,16,17,18',
502
+ '19,20,21,22,23,24,25,26,31,32,33,34,35,36,,,,128,,38,,120,123,124,126',
503
+ '127,129,130,131,132,,,,,120,,,,,,,,,,,,,,,,,,,,,50,147,148,149,150,128',
504
+ ',,,,123,124,126,127,129,130,131,132,128,,,,120,123,124,126,127,129,130',
505
+ '131,132,,,,,120,,,,,,,,50,147,148,149,150,,,,,,,,,50,147,148,149,150',
506
+ '128,,,,,123,124,126,127,129,130,131,132,128,,,,120,123,124,126,127,129',
507
+ '130,131,132,,,,,120,,,,,,,,50,147,148,149,150,,,,,,,,,50,147,148,149',
508
+ '150,128,,,,,123,124,126,127,129,130,131,132,128,,,,120,123,124,126,127',
509
+ '129,130,131,132,,,,,120,,,,,,,,50,147,148,149,150,,,,,,,,,50,147,148',
510
+ '149,150,128,,,,,123,124,126,127,129,130,131,132,128,,,,220,123,124,126',
511
+ '127,129,130,131,132,,,,,220,,,,,,,,50,147,148,149,150,,,,,,,,,50,147',
512
+ '148,149,150,128,,,,,123,124,126,127,129,130,131,132,128,,,,120,123,124',
513
+ '126,127,129,130,131,132,,,,,224,,,,,,,,50,147,148,149,150,,,,,,,,,50',
514
+ '147,148,149,150,128,,,,,123,124,126,127,129,130,131,132,128,,,,,123',
515
+ '124,126,127,129,130,131,132,120,,,,,,,,,,,,50,147,148,149,150,,,,,,',
516
+ ',,50,147,148,149,150,,,,,,,,,401,402,,,,,123,124,126,127,129,130,131',
517
+ '132,,,,,,,,,,,,,,,,,,277,364,,,,,,,50,147,148,149,150,10,11,12,13,14',
518
+ '15,16,17,18,19,20,21,22,23,24,25,26,31,32,33,34,35,36,37,281,164,49',
519
+ ',38,,,,,,,,,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,31,32',
520
+ '33,34,35,36,37,,,,50,38,,,,,,,,,,,,,,,39,,,,,,,,,,,,,,,,,,,,,50,10,11',
521
+ '12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,31,32,33,34,35,36,37,65',
522
+ ',,,38,,,,,,,,,,,,67,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25',
523
+ '26,31,32,33,34,35,36,37,65,,,,38,,,,,,,,,,,,,10,11,12,13,14,15,16,17',
524
+ '18,19,20,21,22,23,24,25,26,31,32,33,34,35,36,37,173,,,,38,,,,,,,,,,',
525
+ ',,,,,,15,16,17,18,19,20,21,22,23,24,25,26,31,32,33,34,35,36,282,,,,',
526
+ '38,,,,,,,,,,,,,,,,15,16,17,18,19,20,21,22,23,24,25,26,31,32,33,34,35',
527
+ '36,287,,,,,38,,,,,,,,,,,,,,,,15,16,17,18,19,20,21,22,23,24,25,26,31',
528
+ '32,33,34,35,36,312,364,,,,38,,,,,,,,10,11,12,13,14,15,16,17,18,19,20',
529
+ '21,22,23,24,25,26,31,32,33,34,35,36,37,281,404,49,,38,,,,,,,,,10,11',
530
+ '12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,31,32,33,34,35,36,37,,',
531
+ ',,38,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,31,32,33,34',
532
+ '35,36,37,,,,,38,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,31',
533
+ '32,33,34,35,36,37,,,,,38,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24',
534
+ '25,26,31,32,33,34,35,36,37,,,,,38,10,11,12,13,14,15,16,17,18,19,20,21',
535
+ '22,23,24,25,26,31,32,33,34,35,36,37,,,,,38,10,11,12,13,14,15,16,17,18',
536
+ '19,20,21,22,23,24,25,26,31,32,33,34,35,36,37,,,,,38,10,11,12,13,14,15',
537
+ '16,17,18,19,20,21,22,23,24,25,26,31,32,33,34,35,36,37,,,,359,38,15,16',
538
+ '17,18,19,20,21,22,23,24,25,26,31,32,33,34,35,36,,,,,,38,15,16,17,18',
539
+ '19,20,21,22,23,24,25,26,31,32,33,34,35,36,,,,,,38,15,16,17,18,19,20',
540
+ '21,22,23,24,25,26,31,32,33,34,35,36,,,,,,38,15,16,17,18,19,20,21,22',
541
+ '23,24,25,26,31,32,33,34,35,36,,,,,,38,15,16,17,18,19,20,21,22,23,24',
542
+ '25,26,31,32,33,34,35,36,,,,,,38' ]
543
+ racc_action_table = arr = ::Array.new(4308, nil)
544
+ idx = 0
545
+ clist.each do |str|
546
+ str.split(',', -1).each do |i|
547
+ arr[idx] = i.to_i unless i.empty?
548
+ idx += 1
549
+ end
550
+ end
551
+
552
+ clist = [
553
+ '112,112,112,167,112,112,112,114,294,112,112,112,112,112,112,112,112',
554
+ '445,445,445,45,445,445,445,210,402,445,445,445,445,445,445,445,445,66',
555
+ '186,66,403,316,280,167,46,167,114,30,112,407,112,33,186,112,112,112',
556
+ '112,112,112,112,112,311,184,289,210,445,210,445,316,382,445,445,445',
557
+ '445,445,445,445,445,66,280,207,46,382,167,345,85,112,112,112,112,112',
558
+ '294,30,207,48,87,33,84,311,85,45,427,345,445,445,445,445,445,444,444',
559
+ '444,276,444,444,444,361,66,444,444,444,444,444,444,444,444,377,377,377',
560
+ '30,377,377,377,33,48,377,377,377,377,377,377,377,377,184,289,69,340',
561
+ '340,70,276,136,136,73,361,444,135,444,380,60,444,444,444,444,444,444',
562
+ '444,444,59,135,135,380,377,48,377,260,58,377,377,377,377,377,377,377',
563
+ '377,69,70,57,419,182,276,107,257,444,444,444,444,444,429,5,260,5,419',
564
+ '182,107,260,257,55,429,411,377,377,377,377,377,376,376,376,216,376,376',
565
+ '376,411,69,376,376,376,376,376,376,376,376,375,375,375,217,375,375,375',
566
+ '330,5,375,375,375,375,375,375,375,375,133,331,213,330,330,138,138,138',
567
+ '138,336,336,376,175,376,331,331,376,376,376,376,376,376,376,376,212',
568
+ '175,335,335,375,5,375,304,42,375,375,375,375,375,375,375,375,49,49,49',
569
+ '304,42,204,49,203,376,376,376,376,376,201,133,133,133,133,133,133,133',
570
+ '133,133,133,200,375,375,375,375,375,437,437,437,188,437,437,437,334',
571
+ '334,437,437,437,437,437,437,437,437,436,436,436,263,436,436,436,431',
572
+ '301,436,436,436,436,436,436,436,436,431,301,317,264,211,163,338,338',
573
+ '338,338,267,437,317,437,211,163,437,437,437,437,437,437,437,437,339',
574
+ '339,339,339,436,177,436,443,417,436,436,436,436,436,436,436,436,443',
575
+ '417,270,410,435,302,414,300,437,437,437,437,437,410,435,302,414,300',
576
+ '74,74,74,333,333,274,74,436,436,436,436,436,433,433,433,39,433,433,433',
577
+ '332,332,433,433,433,433,433,433,433,433,187,187,187,165,187,187,187',
578
+ '137,137,187,187,187,187,187,187,187,187,139,139,337,337,144,144,162',
579
+ '161,158,151,143,433,303,433,142,141,433,433,433,433,433,433,433,433',
580
+ '140,324,325,341,187,342,187,343,344,187,187,187,187,187,187,187,187',
581
+ '351,354,356,362,363,119,367,369,433,433,433,433,433,116,115,113,111',
582
+ '110,109,101,100,389,390,98,89,187,187,187,187,187,65,65,65,65,65,65',
583
+ '65,400,,65,65,65,65,65,65,65,65,,,65,65,65,65,65,65,65,65,65,65,65,65',
584
+ '65,65,65,65,65,65,65,65,65,65,65,65,,,65,,65,,,65,65,65,65,65,65,65',
585
+ '65,296,296,296,,296,296,296,,,296,296,296,296,296,296,296,296,,,,,,',
586
+ ',,65,65,65,65,65,,,,,,80,,,,,,,80,,,296,,296,,,296,296,296,296,296,296',
587
+ '296,296,432,432,432,,432,432,432,,,432,432,432,432,432,432,432,432,',
588
+ ',,,,,80,,296,296,296,296,296,,,,,,284,,,,,,,284,,,432,,432,,,432,432',
589
+ '432,432,432,432,432,432,430,430,430,80,430,430,430,,,430,430,430,430',
590
+ '430,430,430,430,,,,,,,284,,432,432,432,432,432,,,,,,,,,,,,,,,,430,,430',
591
+ ',,430,430,430,430,430,430,430,430,426,426,426,284,426,426,426,,,426',
592
+ '426,426,426,426,426,426,426,,,,,,,,,430,430,430,430,430,,,,,,,,,,,,',
593
+ ',,,426,,426,,,426,426,426,426,426,426,426,426,418,418,418,,418,418,418',
594
+ ',,418,418,418,418,418,418,418,418,,,,,,,,,426,426,426,426,426,,,,,,',
595
+ ',,,,,,,,,418,,418,,,418,418,418,418,418,418,418,418,454,454,454,,454',
596
+ '454,454,,,454,454,454,454,454,454,454,454,,,,,,,,,418,418,418,418,418',
597
+ ',,,,,,,,,,,,,,,454,,454,,,454,454,454,454,454,454,454,454,415,415,415',
598
+ ',415,415,415,,,415,415,415,415,415,415,415,415,,,,,,,,,454,454,454,454',
599
+ '454,,,,,,,,,,,,,,,,415,,415,,,415,415,415,415,415,415,415,415,450,450',
600
+ '450,,450,450,450,,,450,450,450,450,450,450,450,450,,,,,,,,,415,415,415',
601
+ '415,415,,,,,,,,,,,,,,,,450,,450,,,450,450,450,450,450,450,450,450,192',
602
+ '192,192,,192,192,192,,,192,192,192,192,192,192,192,192,,,,,,,,,450,450',
603
+ '450,450,450,,,,,,,,,,,,,,,,192,,192,,262,192,192,192,192,192,192,192',
604
+ '192,191,191,191,,191,191,191,,,191,191,191,191,191,191,191,191,,,,,122',
605
+ ',,,192,192,192,192,192,262,,,,,262,262,262,262,262,262,262,262,,,191',
606
+ ',191,,,191,191,191,191,191,191,191,191,122,,,,,122,122,122,122,,262',
607
+ '262,262,262,262,,,,,,,,,,,191,191,191,191,191,102,102,102,102,102,102',
608
+ '102,,,102,102,102,102,102,102,102,102,,,102,102,102,102,102,102,102',
609
+ '102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102',
610
+ ',,102,,102,,,102,102,102,102,102,102,102,102,447,447,447,,447,447,447',
611
+ ',,447,447,447,447,447,447,447,447,439,439,,,439,,,,102,102,102,102,102',
612
+ ',,,,,,,,,,,,,,,447,,447,,,447,447,447,447,447,447,447,447,439,,439,',
613
+ ',439,,439,439,439,439,439,439,439,439,,,,,,,,,,,447,447,447,447,447',
614
+ '224,,,,224,,,,,,439,439,439,439,439,393,,,,393,,,224,224,224,224,224',
615
+ '224,224,224,224,224,224,224,224,224,224,224,224,224,,,,224,,224,,,224',
616
+ '224,224,224,224,224,224,224,,,393,,,,,393,393,393,393,393,393,393,393',
617
+ '67,,,,67,,,,,,224,224,224,224,224,315,,,,315,,,,,,393,393,393,393,393',
618
+ ',,,,,,,,,,,,,67,,,,,67,67,67,67,67,67,67,67,,,315,,,,,315,315,315,315',
619
+ '315,315,315,315,154,,,,154,,,,,,67,67,67,67,67,347,347,,,347,,,,,,315',
620
+ '315,315,315,315,,,,,,,,,,,,154,,154,,,154,,154,154,154,154,154,154,154',
621
+ '154,347,,347,,,347,,347,347,347,347,347,347,347,347,,,,,,,,,,,154,154',
622
+ '154,154,154,120,,,,120,,,,,,347,347,347,347,347,258,,,,258,,,120,120',
623
+ '120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,,,,120',
624
+ ',120,,,120,120,120,120,120,120,120,120,,,258,,,,,258,258,258,258,258',
625
+ '258,258,258,384,,,,384,,,,,,120,120,120,120,120,,,,,,,,,,,258,258,258',
626
+ '258,258,,,,,,,,,,,,384,,384,,,384,,384,384,384,384,384,384,384,384,',
627
+ ',,,,,,,220,,,,220,,,,,,,,,,,,,384,384,384,384,384,220,220,220,220,220',
628
+ '220,220,220,220,220,220,220,220,220,220,220,220,220,,,,220,,220,,,220',
629
+ '220,220,220,220,220,220,220,305,,305,,,,,,,,,,,306,,306,,,,,,,,,,220',
630
+ '220,220,220,220,,,,,,,,,,,,305,,,,,305,305,305,305,305,305,305,305,306',
631
+ ',,,,306,306,306,306,306,306,306,306,,,,,,,,,,,,,305,305,305,305,305',
632
+ '202,,202,,,,,,306,306,306,306,306,,,202,202,202,202,202,202,202,202',
633
+ '202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,,,202',
634
+ ',202,,,202,202,202,202,202,202,202,202,117,,117,,,,,,,,,,,379,,379,',
635
+ ',,,,,,,,202,202,202,202,202,,,,,,,,,,,,117,,,,,117,117,117,117,117,117',
636
+ '117,117,379,,,,244,379,379,379,379,379,379,379,379,,,,,245,,,,,,,,117',
637
+ '117,117,117,117,,,,,,,,,379,379,379,379,379,244,,,,,244,244,244,244',
638
+ '244,244,244,244,245,,,,246,245,245,245,245,245,245,245,245,,,,,247,',
639
+ ',,,,,,244,244,244,244,244,,,,,,,,,245,245,245,245,245,246,,,,,246,246',
640
+ '246,246,246,246,246,246,247,,,,,247,247,247,247,247,247,247,247,,,71',
641
+ ',,,,,,,,,246,246,246,246,246,71,428,428,,,,,,247,247,247,247,247,,,',
642
+ ',,71,71,71,,,71,71,,,,,71,71,71,71,71,71,71,71,,,,428,,,,,428,428,428',
643
+ '428,428,428,428,428,416,416,,,,,,,,71,71,71,71,71,413,413,,,,,,,,,,428',
644
+ '428,428,428,428,,,,,,,,,,416,,,,,416,416,416,416,416,416,416,416,,413',
645
+ ',,,,413,413,413,413,413,413,413,413,412,412,,,,,,,,,,416,416,416,416',
646
+ '416,391,,,,,,,,,413,413,413,413,413,,,,,,,,,,412,,,,,412,412,412,412',
647
+ '412,412,412,412,,,,391,,,,99,391,391,391,391,391,391,391,391,,,,,,,',
648
+ ',,412,412,412,412,412,,,,,,,,,,,,391,391,391,391,391,99,,,,,99,99,99',
649
+ '99,99,99,99,99,,,,,,,,,,,,,388,,,,,,,,,,,,,99,99,99,99,99,388,388,388',
650
+ '388,388,388,388,388,388,388,388,388,388,388,388,388,388,388,,,,388,',
651
+ '388,,,388,388,388,388,388,388,388,388,383,383,,,,,,,,,,,,381,381,,,',
652
+ ',,,,,,,388,388,388,388,388,,,,,,,,,,383,,,,,383,383,383,383,383,383',
653
+ '383,383,381,,,,378,381,381,381,381,381,381,381,381,,,,,,,,,,,,,383,383',
654
+ '383,383,383,,,,,,,,,381,381,381,381,381,378,,,,,378,378,378,378,378',
655
+ '378,378,378,157,,,,,,,,,,,,,285,,157,,,,,,,,,,378,378,378,378,378,,',
656
+ ',157,157,157,,,157,157,,,,,157,157,157,157,157,157,157,157,285,,,,,285',
657
+ '285,285,285,285,285,285,285,160,,,,,,,,,,,,157,157,157,157,157,281,',
658
+ ',,,,,,285,285,285,285,285,,,,160,160,160,,,,160,,,,,160,160,160,160',
659
+ '160,160,160,160,,,,281,281,,,,,281,281,281,281,281,281,281,281,269,',
660
+ ',,,,,,160,160,160,160,160,178,,,,,,,,,,,,281,281,281,281,281,,,,269',
661
+ '269,269,,,,269,,,,,269,269,269,269,269,269,269,269,178,,,,266,178,178',
662
+ '178,178,178,178,178,178,,,,,185,,,,,,,,269,269,269,269,269,,,,,,,,,178',
663
+ '178,178,178,178,266,,,,,266,266,266,266,266,266,266,266,185,,,,243,185',
664
+ '185,185,185,185,185,185,185,,,,,196,,,,,,,,266,266,266,266,266,,,,,',
665
+ ',,,185,185,185,185,185,243,,,,,243,243,243,243,243,243,243,243,196,',
666
+ ',,197,196,196,196,196,196,196,196,196,,,,,198,,,,,,,,243,243,243,243',
667
+ '243,,,,,,,,,196,196,196,196,196,197,,,,,197,197,197,197,197,197,197',
668
+ '197,198,,,,199,198,198,198,198,198,198,198,198,,,,,256,,,,,,,,197,197',
669
+ '197,197,197,,,,,,,,,198,198,198,198,198,199,,,,,199,199,199,199,199',
670
+ '199,199,199,256,,,,255,256,256,256,256,256,256,256,256,,,,,254,,,,,',
671
+ ',,199,199,199,199,199,,,,,,,,,256,256,256,256,256,255,,,,,255,255,255',
672
+ '255,255,255,255,255,254,,,,253,254,254,254,254,254,254,254,254,,,,,252',
673
+ ',,,,,,,255,255,255,255,255,,,,,,,,,254,254,254,254,254,253,,,,,253,253',
674
+ '253,253,253,253,253,253,252,,,,251,252,252,252,252,252,252,252,252,',
675
+ ',,,250,,,,,,,,253,253,253,253,253,,,,,,,,,252,252,252,252,252,251,,',
676
+ ',,251,251,251,251,251,251,251,251,250,,,,214,250,250,250,250,250,250',
677
+ '250,250,,,,,,,,,,,,,251,251,251,251,251,,,,,,,,,250,250,250,250,250',
678
+ '214,,,,,214,214,214,214,214,214,214,214,,,,,,,,,,,,,215,215,,,,,,,,',
679
+ ',,,214,214,214,214,214,215,215,215,215,215,215,215,215,215,215,215,215',
680
+ '215,215,215,215,215,215,,,,215,,215,,249,215,215,215,215,215,215,215',
681
+ '215,,,,,248,,,,,,,,,,,,,,,,,,,,,215,215,215,215,215,249,,,,,249,249',
682
+ '249,249,249,249,249,249,248,,,,226,248,248,248,248,248,248,248,248,',
683
+ ',,,238,,,,,,,,249,249,249,249,249,,,,,,,,,248,248,248,248,248,226,,',
684
+ ',,226,226,226,226,226,226,226,226,238,,,,239,238,238,238,238,238,238',
685
+ '238,238,,,,,240,,,,,,,,226,226,226,226,226,,,,,,,,,238,238,238,238,238',
686
+ '239,,,,,239,239,239,239,239,239,239,239,240,,,,241,240,240,240,240,240',
687
+ '240,240,240,,,,,242,,,,,,,,239,239,239,239,239,,,,,,,,,240,240,240,240',
688
+ '240,241,,,,,241,241,241,241,241,241,241,241,242,,,,123,242,242,242,242',
689
+ '242,242,242,242,,,,,124,,,,,,,,241,241,241,241,241,,,,,,,,,242,242,242',
690
+ '242,242,123,,,,,123,123,123,123,123,123,123,123,124,,,,125,124,124,124',
691
+ '124,124,124,124,124,,,,,126,,,,,,,,123,123,123,123,123,,,,,,,,,124,124',
692
+ '124,124,124,125,,,,,125,125,125,125,125,125,125,125,126,,,,,126,126',
693
+ '126,126,126,126,126,126,365,,,,,,,,,,,,125,125,125,125,125,,,,,,,,,126',
694
+ '126,126,126,126,,,,,,,,,365,365,,,,,365,365,365,365,365,365,365,365',
695
+ ',,,,,,,,,,,,,,,,,277,277,,,,,,,365,365,365,365,365,277,277,277,277,277',
696
+ '277,277,277,277,277,277,277,277,277,277,277,277,277,277,277,277,277',
697
+ '277,277,277,72,277,,277,,,,,,,,,72,72,72,72,72,72,72,72,72,72,72,72',
698
+ '72,72,72,72,72,72,72,72,72,72,72,72,,,,277,72,,,,,,,,,,,,,,,1,,,,,,',
699
+ ',,,,,,,,,,,,,,72,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,41',
700
+ ',,,1,,,,,,,,,,,,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41',
701
+ '41,41,41,41,41,41,41,62,,,,41,,,,,,,,,,,,,62,62,62,62,62,62,62,62,62',
702
+ '62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,78,,,,62,,,,,,,,,,,,,,',
703
+ ',,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,172,,,,,78,',
704
+ ',,,,,,,,,,,,,,172,172,172,172,172,172,172,172,172,172,172,172,172,172',
705
+ '172,172,172,172,181,,,,,172,,,,,,,,,,,,,,,,181,181,181,181,181,181,181',
706
+ '181,181,181,181,181,181,181,181,181,181,181,312,312,,,,181,,,,,,,,312',
707
+ '312,312,312,312,312,312,312,312,312,312,312,312,312,312,312,312,312',
708
+ '312,312,312,312,312,312,312,366,312,,312,,,,,,,,,366,366,366,366,366',
709
+ '366,366,366,366,366,366,366,366,366,366,366,366,366,366,366,366,366',
710
+ '366,366,,,,,366,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,',
711
+ '0,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,,,,,6,7,7,7,7,7,7',
712
+ '7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,,,,,7,8,8,8,8,8,8,8,8,8,8,8,8,8',
713
+ '8,8,8,8,8,8,8,8,8,8,8,,,,,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9',
714
+ '9,9,9,9,,,,,9,275,275,275,275,275,275,275,275,275,275,275,275,275,275',
715
+ '275,275,275,275,275,275,275,275,275,275,,,,275,275,82,82,82,82,82,82',
716
+ '82,82,82,82,82,82,82,82,82,82,82,82,,,,,,82,77,77,77,77,77,77,77,77',
717
+ '77,77,77,77,77,77,77,77,77,77,,,,,,77,83,83,83,83,83,83,83,83,83,83',
718
+ '83,83,83,83,83,83,83,83,,,,,,83,56,56,56,56,56,56,56,56,56,56,56,56',
719
+ '56,56,56,56,56,56,,,,,,56,81,81,81,81,81,81,81,81,81,81,81,81,81,81',
720
+ '81,81,81,81,,,,,,81' ]
721
+ racc_action_check = arr = ::Array.new(4308, nil)
722
+ idx = 0
723
+ clist.each do |str|
724
+ str.split(',', -1).each do |i|
725
+ arr[idx] = i.to_i unless i.empty?
726
+ idx += 1
727
+ end
728
+ end
729
+
730
+ racc_action_pointer = [
731
+ 3992, 3690, nil, nil, nil, 187, 4021, 4050, 4079, 4108,
732
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
733
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
734
+ 39, nil, nil, 43, nil, nil, nil, nil, nil, 423,
735
+ nil, 3731, 269, nil, nil, 11, 32, nil, 82, 243,
736
+ nil, nil, nil, nil, nil, 197, 4233, 177, 166, 77,
737
+ 149, nil, 3772, nil, nil, 522, 27, 1405, nil, 132,
738
+ 135, 2068, 3625, 138, 366, nil, nil, 4185, 3812, nil,
739
+ 616, 4257, 4161, 4209, 8, 76, nil, 71, nil, 433,
740
+ nil, nil, nil, nil, nil, nil, nil, nil, 516, 2261,
741
+ 513, 512, 1190, nil, nil, nil, nil, 179, nil, 504,
742
+ 503, 502, -3, 501, -43, 502, 501, 1889, nil, 410,
743
+ 1562, nil, 1117, 3398, 3411, 3454, 3467, nil, nil, nil,
744
+ nil, nil, nil, 223, nil, 103, 89, 381, 184, 385,
745
+ 422, 398, 396, 391, 384, nil, nil, nil, nil, nil,
746
+ nil, 442, nil, nil, 1476, nil, nil, 2485, 415, nil,
747
+ 2550, 414, 450, 344, nil, 420, nil, -6, nil, nil,
748
+ nil, nil, 3851, nil, nil, 249, nil, 376, 2632, nil,
749
+ nil, 3890, 178, nil, 53, 2688, 29, 434, 316, nil,
750
+ nil, 1102, 1044, nil, nil, nil, 2744, 2787, 2800, 2843,
751
+ 307, 285, 1835, 285, 283, nil, nil, 70, nil, nil,
752
+ 15, 343, 258, 236, 3067, 3131, 127, 144, nil, nil,
753
+ 1697, nil, nil, nil, 1334, nil, 3230, nil, nil, nil,
754
+ nil, nil, nil, nil, nil, nil, nil, nil, 3243, 3286,
755
+ 3299, 3342, 3355, 2731, 1945, 1958, 2001, 2014, 3187, 3174,
756
+ 3024, 3011, 2968, 2955, 2912, 2899, 2856, 181, 1577, nil,
757
+ 149, nil, 1087, 249, 305, nil, 2675, 312, nil, 2619,
758
+ 345, nil, nil, nil, 327, 4137, 99, 3588, nil, nil,
759
+ 30, 2567, nil, nil, 674, 2498, nil, nil, nil, 54,
760
+ nil, nil, nil, nil, 2, nil, 580, nil, nil, nil,
761
+ 387, 330, 385, 457, 268, 1751, 1764, nil, nil, nil,
762
+ nil, 49, 3926, nil, nil, 1420, 18, 341, nil, nil,
763
+ nil, nil, nil, nil, 469, 470, nil, nil, nil, nil,
764
+ 186, 197, 370, 354, 259, 207, 190, 393, 290, 308,
765
+ 73, 425, 412, 413, 413, 79, nil, 1491, nil, nil,
766
+ nil, 448, nil, nil, 449, nil, 450, nil, nil, nil,
767
+ nil, 103, 488, 489, nil, 3519, 3963, 454, nil, 455,
768
+ nil, nil, nil, nil, nil, 224, 207, 119, 2433, 1902,
769
+ 146, 2390, 59, 2377, 1633, nil, nil, nil, 2325, 511,
770
+ 512, 2218, nil, 1349, nil, nil, nil, nil, nil, nil,
771
+ 485, nil, -22, 27, nil, nil, nil, 35, nil, nil,
772
+ 383, 197, 2202, 2150, 386, 928, 2136, 371, 812, 177,
773
+ nil, nil, nil, nil, nil, nil, 754, 91, 2084, 183,
774
+ 696, 329, 638, 417, nil, 384, 329, 312, nil, 1263,
775
+ nil, nil, nil, 370, 102, 14, nil, 1248, nil, nil,
776
+ 986, nil, nil, nil, 870, nil, nil, nil, nil, nil ]
777
+
778
+ racc_action_default = [
779
+ -265, -265, -1, -3, -4, -265, -53, -55, -57, -59,
780
+ -64, -65, -66, -67, -68, -69, -70, -71, -72, -73,
781
+ -74, -75, -76, -77, -78, -79, -80, -81, -82, -83,
782
+ -265, -89, -90, -265, -115, -116, -117, -118, -166, -265,
783
+ -2, -62, -265, -51, -60, -265, -120, -121, -265, -136,
784
+ -258, -52, -54, -56, -58, -86, -265, -88, -107, -265,
785
+ -110, 460, -265, -6, -7, -265, -265, -265, -50, -265,
786
+ -119, -265, -265, -265, -135, -138, -139, -265, -265, -91,
787
+ -265, -95, -97, -265, -265, -265, -111, -113, -262, -265,
788
+ -5, -8, -9, -10, -11, -12, -13, -14, -179, -265,
789
+ -265, -83, -265, -20, -21, -23, -24, -265, -26, -265,
790
+ -265, -265, -265, -265, -265, -265, -265, -265, -180, -181,
791
+ -265, -184, -198, -265, -265, -265, -265, -204, -205, -206,
792
+ -207, -208, -209, -210, -212, -216, -219, -222, -227, -230,
793
+ -232, -234, -236, -238, -240, -242, -255, -259, -260, -261,
794
+ -264, -62, -63, -167, -265, -179, -61, -265, -265, -126,
795
+ -265, -205, -265, -265, -134, -141, -143, -147, -148, -122,
796
+ -137, -140, -265, -85, -92, -265, -98, -100, -265, -94,
797
+ -96, -265, -265, -104, -265, -265, -265, -265, -265, -210,
798
+ -257, -265, -265, -19, -22, -25, -265, -265, -265, -265,
799
+ -265, -265, -265, -265, -265, -45, -46, -265, -48, -263,
800
+ -151, -265, -265, -265, -265, -265, -265, -265, -190, -191,
801
+ -265, -199, -200, -201, -265, -202, -265, -244, -245, -246,
802
+ -247, -248, -249, -250, -251, -252, -253, -254, -265, -265,
803
+ -265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
804
+ -265, -265, -265, -265, -265, -265, -265, -265, -265, -171,
805
+ -265, -175, -265, -265, -265, -124, -265, -205, -125, -265,
806
+ -265, -131, -132, -133, -265, -265, -152, -265, -145, -146,
807
+ -154, -265, -84, -93, -265, -265, -102, -87, -103, -265,
808
+ -106, -112, -114, -108, -265, -15, -265, -17, -18, -256,
809
+ -265, -265, -265, -265, -265, -265, -265, -44, -49, -47,
810
+ -150, -152, -265, -182, -183, -265, -265, -265, -187, -194,
811
+ -196, -197, -188, -189, -265, -265, -243, -213, -214, -215,
812
+ -217, -218, -220, -221, -223, -224, -225, -226, -228, -229,
813
+ -231, -233, -235, -237, -239, -265, -168, -265, -170, -174,
814
+ -176, -265, -178, -123, -265, -130, -265, -128, -149, -142,
815
+ -144, -153, -265, -265, -165, -265, -265, -265, -159, -205,
816
+ -99, -101, -105, -109, -16, -265, -265, -265, -265, -265,
817
+ -265, -265, -265, -265, -265, -211, -185, -186, -265, -265,
818
+ -203, -265, -169, -265, -173, -177, -129, -127, -155, -164,
819
+ -265, -157, -205, -265, -163, -158, -161, -27, -29, -30,
820
+ -265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
821
+ -195, -241, -172, -156, -160, -162, -265, -265, -265, -265,
822
+ -265, -265, -265, -265, -39, -265, -265, -265, -43, -265,
823
+ -192, -28, -31, -265, -265, -265, -35, -265, -37, -38,
824
+ -265, -41, -42, -193, -265, -33, -34, -36, -40, -32 ]
825
+
826
+ racc_goto_table = [
827
+ 47, 162, 57, 152, 70, 60, 153, 5, 5, 176,
828
+ 158, 75, 257, 51, 52, 53, 54, 76, 319, 41,
829
+ 393, 62, 104, 279, 82, 55, 291, 340, 58, 330,
830
+ 331, 81, 179, 180, 341, 207, 170, 101, 211, 76,
831
+ 47, 64, 171, 47, 190, 82, 82, 188, 63, 82,
832
+ 82, 82, 81, 81, 223, 342, 81, 81, 81, 194,
833
+ 98, 47, 91, 361, 47, 105, 310, 168, 74, 90,
834
+ 343, 210, 344, 213, 101, 47, 85, 338, 339, 167,
835
+ 151, 163, 174, 151, 200, 226, 204, 78, 82, 360,
836
+ 157, 332, 333, 153, 177, 81, 264, 98, 361, 270,
837
+ 175, 182, 105, 2, 40, 156, 186, 98, 172, 203,
838
+ 350, 317, 393, 1, 181, 300, 301, 302, 102, nil,
839
+ 304, nil, nil, 190, nil, 171, 286, 212, 76, 276,
840
+ 190, 291, 316, 292, nil, 299, 291, nil, 211, nil,
841
+ 82, nil, 211, 334, 335, 336, 337, 81, nil, 82,
842
+ nil, nil, nil, nil, 320, nil, 81, nil, nil, 200,
843
+ nil, nil, 47, 200, 200, 326, 210, 327, 328, 329,
844
+ 201, 210, 311, 324, 345, 210, 174, 325, nil, 269,
845
+ nil, 278, 98, 82, nil, 174, 98, 98, 82, nil,
846
+ 81, 420, 82, nil, 348, 81, nil, 153, nil, 81,
847
+ nil, nil, 306, nil, nil, 354, nil, 190, 356, nil,
848
+ 351, 322, 323, 370, nil, nil, nil, nil, nil, nil,
849
+ 367, nil, nil, 380, 382, nil, nil, 212, nil, nil,
850
+ 190, 212, nil, 371, nil, 70, nil, 171, nil, 276,
851
+ nil, nil, 419, nil, 385, 295, nil, nil, nil, 297,
852
+ 298, nil, nil, nil, nil, nil, nil, nil, 352, nil,
853
+ nil, nil, nil, nil, nil, nil, nil, nil, 200, 358,
854
+ nil, 47, 47, nil, 311, nil, nil, nil, nil, 47,
855
+ nil, nil, 167, 394, 167, nil, 153, nil, nil, nil,
856
+ nil, 98, nil, nil, nil, 403, 410, 411, 177, 414,
857
+ nil, 417, nil, nil, 400, nil, nil, nil, nil, nil,
858
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 167,
859
+ nil, nil, nil, 153, nil, nil, nil, 320, nil, 422,
860
+ 429, 431, 153, nil, 435, nil, 421, nil, nil, 210,
861
+ nil, nil, nil, nil, nil, nil, 443, 200, 200, 200,
862
+ nil, nil, nil, nil, 374, nil, 82, nil, nil, nil,
863
+ nil, nil, nil, 81, nil, nil, nil, nil, nil, nil,
864
+ 98, 98, 98, 167, nil, 394, nil, nil, 153, nil,
865
+ nil, nil, nil, nil, nil, nil, nil, 200, nil, nil,
866
+ 200, nil, nil, nil, nil, nil, nil, nil, 200, nil,
867
+ nil, nil, 200, nil, 200, 200, nil, nil, 200, 200,
868
+ 98, nil, nil, 98, nil, nil, 200, 200, nil, 200,
869
+ nil, 98, 200, nil, nil, 98, 200, 98, 98, nil,
870
+ 189, 98, 98, 407, 408, 409, nil, nil, nil, 98,
871
+ 98, nil, 98, nil, nil, 98, nil, nil, nil, 98,
872
+ nil, nil, nil, nil, 221, 222, 189, 225, nil, nil,
873
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
874
+ nil, nil, nil, 434, nil, nil, 438, nil, nil, nil,
875
+ nil, nil, nil, nil, 441, nil, nil, nil, 446, nil,
876
+ 448, 449, nil, nil, 451, 452, nil, nil, nil, nil,
877
+ nil, nil, 455, 456, nil, 457, nil, nil, 458, 189,
878
+ nil, nil, 459, nil, nil, nil, 189, nil, nil, nil,
879
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
880
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
881
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
882
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
883
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 189,
884
+ 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
885
+ 189, 189, 189, 189, 189, 189, 189, nil, nil, nil,
886
+ nil, nil, nil, 189, nil, nil, nil, nil, nil, nil,
887
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
888
+ nil, nil, nil, nil, nil, nil, 189, nil, nil, nil,
889
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
890
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
891
+ nil, nil, nil, nil, nil, nil, 189, nil, nil, nil,
892
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
893
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
894
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
895
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
896
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
897
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
898
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
899
+ nil, nil, 189 ]
900
+
901
+ racc_goto_check = [
902
+ 15, 43, 17, 27, 40, 17, 42, 5, 5, 35,
903
+ 42, 39, 50, 5, 5, 5, 5, 24, 59, 6,
904
+ 51, 7, 19, 47, 24, 15, 37, 67, 15, 63,
905
+ 63, 23, 33, 33, 68, 20, 39, 17, 20, 24,
906
+ 15, 4, 24, 15, 73, 24, 24, 16, 8, 24,
907
+ 24, 24, 23, 23, 62, 69, 23, 23, 23, 19,
908
+ 15, 15, 4, 49, 15, 4, 47, 15, 41, 8,
909
+ 70, 33, 71, 48, 17, 15, 36, 66, 66, 5,
910
+ 6, 44, 32, 6, 17, 74, 17, 31, 24, 46,
911
+ 41, 64, 64, 42, 6, 23, 42, 15, 49, 42,
912
+ 34, 36, 4, 2, 2, 26, 36, 15, 31, 15,
913
+ 53, 58, 51, 1, 31, 20, 20, 20, 18, nil,
914
+ 20, nil, nil, 73, nil, 24, 16, 8, 24, 39,
915
+ 73, 37, 20, 16, nil, 42, 37, nil, 20, nil,
916
+ 24, nil, 20, 65, 65, 65, 65, 23, nil, 24,
917
+ nil, nil, nil, nil, 42, nil, 23, nil, nil, 17,
918
+ nil, nil, 15, 17, 17, 42, 33, 62, 62, 62,
919
+ 9, 33, 39, 48, 20, 33, 32, 48, nil, 41,
920
+ nil, 6, 15, 24, nil, 32, 15, 15, 24, nil,
921
+ 23, 59, 24, nil, 27, 23, nil, 42, nil, 23,
922
+ nil, nil, 4, nil, nil, 42, nil, 73, 42, nil,
923
+ 16, 15, 15, 35, nil, nil, nil, nil, nil, nil,
924
+ 42, nil, nil, 20, 20, nil, nil, 8, nil, nil,
925
+ 73, 8, nil, 16, nil, 40, nil, 24, nil, 39,
926
+ nil, nil, 50, nil, 62, 9, nil, nil, nil, 9,
927
+ 9, nil, nil, nil, nil, nil, nil, nil, 15, nil,
928
+ nil, nil, nil, nil, nil, nil, nil, nil, 17, 15,
929
+ nil, 15, 15, nil, 39, nil, nil, nil, nil, 15,
930
+ nil, nil, 5, 27, 5, nil, 42, nil, nil, nil,
931
+ nil, 15, nil, nil, nil, 43, 20, 20, 6, 20,
932
+ nil, 20, nil, nil, 42, nil, nil, nil, nil, nil,
933
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 5,
934
+ nil, nil, nil, 42, nil, nil, nil, 42, nil, 27,
935
+ 20, 20, 42, nil, 20, nil, 73, nil, nil, 33,
936
+ nil, nil, nil, nil, nil, nil, 20, 17, 17, 17,
937
+ nil, nil, nil, nil, 9, nil, 24, nil, nil, nil,
938
+ nil, nil, nil, 23, nil, nil, nil, nil, nil, nil,
939
+ 15, 15, 15, 5, nil, 27, nil, nil, 42, nil,
940
+ nil, nil, nil, nil, nil, nil, nil, 17, nil, nil,
941
+ 17, nil, nil, nil, nil, nil, nil, nil, 17, nil,
942
+ nil, nil, 17, nil, 17, 17, nil, nil, 17, 17,
943
+ 15, nil, nil, 15, nil, nil, 17, 17, nil, 17,
944
+ nil, 15, 17, nil, nil, 15, 17, 15, 15, nil,
945
+ 60, 15, 15, 9, 9, 9, nil, nil, nil, 15,
946
+ 15, nil, 15, nil, nil, 15, nil, nil, nil, 15,
947
+ nil, nil, nil, nil, 60, 60, 60, 60, nil, nil,
948
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
949
+ nil, nil, nil, 9, nil, nil, 9, nil, nil, nil,
950
+ nil, nil, nil, nil, 9, nil, nil, nil, 9, nil,
951
+ 9, 9, nil, nil, 9, 9, nil, nil, nil, nil,
952
+ nil, nil, 9, 9, nil, 9, nil, nil, 9, 60,
953
+ nil, nil, 9, nil, nil, nil, 60, nil, nil, nil,
954
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
955
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
956
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
957
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
958
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 60,
959
+ 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
960
+ 60, 60, 60, 60, 60, 60, 60, nil, nil, nil,
961
+ nil, nil, nil, 60, nil, nil, nil, nil, nil, nil,
962
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
963
+ nil, nil, nil, nil, nil, nil, 60, nil, nil, nil,
964
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
965
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
966
+ nil, nil, nil, nil, nil, nil, 60, nil, nil, nil,
967
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
968
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
969
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
970
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
971
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
972
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
973
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
974
+ nil, nil, 60 ]
975
+
976
+ racc_goto_pointer = [
977
+ nil, 113, 103, nil, 0, 7, 14, -20, 7, 58,
978
+ nil, nil, nil, nil, nil, -5, -52, -28, 53, -43,
979
+ -82, nil, nil, -25, -32, nil, 36, -64, nil, nil,
980
+ nil, 31, 4, -49, 20, -71, 17, -158, nil, -38,
981
+ -41, 19, -61, -71, 9, nil, -186, -144, -47, -213,
982
+ -142, -327, nil, -150, nil, nil, nil, nil, -104, -197,
983
+ 331, nil, -71, -212, -152, -102, -172, -224, -218, -198,
984
+ -184, -183, nil, -55, -48 ]
985
+
986
+ racc_goto_default = [
987
+ nil, nil, nil, 3, 4, 66, 73, nil, 93, 106,
988
+ 92, 94, 95, 96, 97, 155, nil, 29, nil, nil,
989
+ 107, 42, 6, 7, 8, 9, 44, 259, 27, 28,
990
+ 30, nil, 79, 80, nil, nil, nil, 86, 87, 45,
991
+ 46, nil, 146, 363, nil, 165, 166, 362, 321, 280,
992
+ nil, 258, 260, 261, 121, 118, 119, 122, nil, nil,
993
+ 133, 125, 134, 135, 136, 137, 138, 139, 140, 141,
994
+ 142, 143, 144, 145, nil ]
995
+
996
+ racc_reduce_table = [
997
+ 0, 0, :racc_error,
998
+ 1, 92, :_reduce_1,
999
+ 2, 92, :_reduce_2,
1000
+ 1, 93, :_reduce_3,
1001
+ 1, 93, :_reduce_4,
1002
+ 4, 94, :_reduce_5,
1003
+ 3, 94, :_reduce_6,
1004
+ 1, 98, :_reduce_7,
1005
+ 2, 98, :_reduce_8,
1006
+ 1, 100, :_reduce_9,
1007
+ 1, 100, :_reduce_10,
1008
+ 1, 100, :_reduce_11,
1009
+ 1, 100, :_reduce_12,
1010
+ 1, 100, :_reduce_13,
1011
+ 1, 100, :_reduce_14,
1012
+ 3, 101, :_reduce_15,
1013
+ 4, 101, :_reduce_16,
1014
+ 3, 101, :_reduce_17,
1015
+ 3, 101, :_reduce_18,
1016
+ 3, 99, :_reduce_19,
1017
+ 2, 99, :_reduce_20,
1018
+ 1, 109, :_reduce_21,
1019
+ 2, 109, :_reduce_22,
1020
+ 1, 110, :_reduce_23,
1021
+ 1, 110, :_reduce_24,
1022
+ 2, 102, :_reduce_25,
1023
+ 1, 102, :_reduce_26,
1024
+ 5, 103, :_reduce_27,
1025
+ 7, 103, :_reduce_28,
1026
+ 5, 103, :_reduce_29,
1027
+ 5, 104, :_reduce_30,
1028
+ 7, 104, :_reduce_31,
1029
+ 9, 104, :_reduce_32,
1030
+ 8, 104, :_reduce_33,
1031
+ 8, 104, :_reduce_34,
1032
+ 7, 104, :_reduce_35,
1033
+ 8, 104, :_reduce_36,
1034
+ 7, 104, :_reduce_37,
1035
+ 7, 104, :_reduce_38,
1036
+ 6, 104, :_reduce_39,
1037
+ 8, 104, :_reduce_40,
1038
+ 7, 104, :_reduce_41,
1039
+ 7, 104, :_reduce_42,
1040
+ 6, 104, :_reduce_43,
1041
+ 3, 105, :_reduce_44,
1042
+ 2, 105, :_reduce_45,
1043
+ 2, 105, :_reduce_46,
1044
+ 3, 105, :_reduce_47,
1045
+ 2, 105, :_reduce_48,
1046
+ 3, 105, :_reduce_49,
1047
+ 3, 95, :_reduce_50,
1048
+ 2, 95, :_reduce_51,
1049
+ 2, 96, :_reduce_52,
1050
+ 1, 96, :_reduce_53,
1051
+ 2, 96, :_reduce_54,
1052
+ 1, 96, :_reduce_55,
1053
+ 2, 96, :_reduce_56,
1054
+ 1, 96, :_reduce_57,
1055
+ 2, 96, :_reduce_58,
1056
+ 1, 96, :_reduce_59,
1057
+ 1, 112, :_reduce_60,
1058
+ 3, 112, :_reduce_61,
1059
+ 1, 117, :_reduce_62,
1060
+ 3, 117, :_reduce_63,
1061
+ 1, 113, :_reduce_64,
1062
+ 1, 113, :_reduce_65,
1063
+ 1, 113, :_reduce_66,
1064
+ 1, 113, :_reduce_67,
1065
+ 1, 113, :_reduce_68,
1066
+ 1, 114, :_reduce_69,
1067
+ 1, 114, :_reduce_70,
1068
+ 1, 114, :_reduce_71,
1069
+ 1, 114, :_reduce_72,
1070
+ 1, 114, :_reduce_73,
1071
+ 1, 114, :_reduce_74,
1072
+ 1, 114, :_reduce_75,
1073
+ 1, 114, :_reduce_76,
1074
+ 1, 114, :_reduce_77,
1075
+ 1, 114, :_reduce_78,
1076
+ 1, 114, :_reduce_79,
1077
+ 1, 114, :_reduce_80,
1078
+ 1, 114, :_reduce_81,
1079
+ 1, 114, :_reduce_82,
1080
+ 1, 114, :_reduce_83,
1081
+ 5, 119, :_reduce_84,
1082
+ 4, 119, :_reduce_85,
1083
+ 2, 119, :_reduce_86,
1084
+ 5, 119, :_reduce_87,
1085
+ 2, 119, :_reduce_88,
1086
+ 1, 121, :_reduce_89,
1087
+ 1, 121, :_reduce_90,
1088
+ 1, 122, :_reduce_91,
1089
+ 2, 122, :_reduce_92,
1090
+ 3, 123, :_reduce_93,
1091
+ 2, 124, :_reduce_94,
1092
+ 1, 124, :_reduce_95,
1093
+ 2, 124, :_reduce_96,
1094
+ 1, 124, :_reduce_97,
1095
+ 1, 125, :_reduce_98,
1096
+ 3, 125, :_reduce_99,
1097
+ 1, 126, :_reduce_100,
1098
+ 3, 126, :_reduce_101,
1099
+ 2, 126, :_reduce_102,
1100
+ 5, 120, :_reduce_103,
1101
+ 4, 120, :_reduce_104,
1102
+ 6, 120, :_reduce_105,
1103
+ 5, 120, :_reduce_106,
1104
+ 2, 120, :_reduce_107,
1105
+ 5, 120, :_reduce_108,
1106
+ 6, 120, :_reduce_109,
1107
+ 2, 120, :_reduce_110,
1108
+ 1, 127, :_reduce_111,
1109
+ 3, 127, :_reduce_112,
1110
+ 1, 128, :_reduce_113,
1111
+ 3, 128, :_reduce_114,
1112
+ 1, 115, :_reduce_115,
1113
+ 1, 115, :_reduce_116,
1114
+ 1, 115, :_reduce_117,
1115
+ 1, 116, :_reduce_118,
1116
+ 2, 97, :_reduce_119,
1117
+ 1, 97, :_reduce_120,
1118
+ 1, 131, :_reduce_121,
1119
+ 3, 131, :_reduce_122,
1120
+ 5, 131, :_reduce_123,
1121
+ 4, 131, :_reduce_124,
1122
+ 4, 131, :_reduce_125,
1123
+ 3, 131, :_reduce_126,
1124
+ 6, 131, :_reduce_127,
1125
+ 5, 131, :_reduce_128,
1126
+ 6, 131, :_reduce_129,
1127
+ 5, 131, :_reduce_130,
1128
+ 4, 131, :_reduce_131,
1129
+ 4, 131, :_reduce_132,
1130
+ 4, 131, :_reduce_133,
1131
+ 3, 131, :_reduce_134,
1132
+ 2, 130, :_reduce_135,
1133
+ 1, 130, :_reduce_136,
1134
+ 3, 130, :_reduce_137,
1135
+ 2, 130, :_reduce_138,
1136
+ 1, 132, :_reduce_139,
1137
+ 2, 132, :_reduce_140,
1138
+ 1, 134, :_reduce_141,
1139
+ 3, 134, :_reduce_142,
1140
+ 1, 136, :_reduce_143,
1141
+ 3, 136, :_reduce_144,
1142
+ 2, 137, :_reduce_145,
1143
+ 2, 137, :_reduce_146,
1144
+ 1, 137, :_reduce_147,
1145
+ 1, 135, :_reduce_148,
1146
+ 3, 135, :_reduce_149,
1147
+ 2, 139, :_reduce_150,
1148
+ 1, 139, :_reduce_151,
1149
+ 1, 138, :_reduce_152,
1150
+ 2, 138, :_reduce_153,
1151
+ 1, 138, :_reduce_154,
1152
+ 3, 140, :_reduce_155,
1153
+ 4, 140, :_reduce_156,
1154
+ 3, 140, :_reduce_157,
1155
+ 3, 140, :_reduce_158,
1156
+ 2, 140, :_reduce_159,
1157
+ 4, 140, :_reduce_160,
1158
+ 3, 140, :_reduce_161,
1159
+ 4, 140, :_reduce_162,
1160
+ 3, 140, :_reduce_163,
1161
+ 3, 140, :_reduce_164,
1162
+ 2, 140, :_reduce_165,
1163
+ 1, 108, :_reduce_166,
1164
+ 1, 118, :_reduce_167,
1165
+ 3, 118, :_reduce_168,
1166
+ 4, 118, :_reduce_169,
1167
+ 2, 141, :_reduce_170,
1168
+ 1, 141, :_reduce_171,
1169
+ 4, 141, :_reduce_172,
1170
+ 3, 141, :_reduce_173,
1171
+ 2, 142, :_reduce_174,
1172
+ 1, 143, :_reduce_175,
1173
+ 2, 143, :_reduce_176,
1174
+ 3, 144, :_reduce_177,
1175
+ 2, 144, :_reduce_178,
1176
+ 1, 145, :_reduce_179,
1177
+ 1, 145, :_reduce_180,
1178
+ 1, 145, :_reduce_181,
1179
+ 3, 145, :_reduce_182,
1180
+ 3, 145, :_reduce_183,
1181
+ 1, 148, :_reduce_184,
1182
+ 4, 148, :_reduce_185,
1183
+ 4, 148, :_reduce_186,
1184
+ 3, 148, :_reduce_187,
1185
+ 3, 148, :_reduce_188,
1186
+ 3, 148, :_reduce_189,
1187
+ 2, 148, :_reduce_190,
1188
+ 2, 148, :_reduce_191,
1189
+ 6, 148, :_reduce_192,
1190
+ 7, 148, :_reduce_193,
1191
+ 1, 149, :_reduce_194,
1192
+ 3, 149, :_reduce_195,
1193
+ 1, 150, :_reduce_196,
1194
+ 1, 150, :_reduce_197,
1195
+ 1, 151, :_reduce_198,
1196
+ 2, 151, :_reduce_199,
1197
+ 2, 151, :_reduce_200,
1198
+ 2, 151, :_reduce_201,
1199
+ 2, 151, :_reduce_202,
1200
+ 4, 151, :_reduce_203,
1201
+ 1, 152, :_reduce_204,
1202
+ 1, 152, :_reduce_205,
1203
+ 1, 152, :_reduce_206,
1204
+ 1, 152, :_reduce_207,
1205
+ 1, 152, :_reduce_208,
1206
+ 1, 152, :_reduce_209,
1207
+ 1, 153, :_reduce_210,
1208
+ 4, 153, :_reduce_211,
1209
+ 1, 154, :_reduce_212,
1210
+ 3, 154, :_reduce_213,
1211
+ 3, 154, :_reduce_214,
1212
+ 3, 154, :_reduce_215,
1213
+ 1, 155, :_reduce_216,
1214
+ 3, 155, :_reduce_217,
1215
+ 3, 155, :_reduce_218,
1216
+ 1, 156, :_reduce_219,
1217
+ 3, 156, :_reduce_220,
1218
+ 3, 156, :_reduce_221,
1219
+ 1, 157, :_reduce_222,
1220
+ 3, 157, :_reduce_223,
1221
+ 3, 157, :_reduce_224,
1222
+ 3, 157, :_reduce_225,
1223
+ 3, 157, :_reduce_226,
1224
+ 1, 158, :_reduce_227,
1225
+ 3, 158, :_reduce_228,
1226
+ 3, 158, :_reduce_229,
1227
+ 1, 159, :_reduce_230,
1228
+ 3, 159, :_reduce_231,
1229
+ 1, 160, :_reduce_232,
1230
+ 3, 160, :_reduce_233,
1231
+ 1, 161, :_reduce_234,
1232
+ 3, 161, :_reduce_235,
1233
+ 1, 162, :_reduce_236,
1234
+ 3, 162, :_reduce_237,
1235
+ 1, 163, :_reduce_238,
1236
+ 3, 163, :_reduce_239,
1237
+ 1, 164, :_reduce_240,
1238
+ 5, 164, :_reduce_241,
1239
+ 1, 133, :_reduce_242,
1240
+ 3, 133, :_reduce_243,
1241
+ 1, 165, :_reduce_244,
1242
+ 1, 165, :_reduce_245,
1243
+ 1, 165, :_reduce_246,
1244
+ 1, 165, :_reduce_247,
1245
+ 1, 165, :_reduce_248,
1246
+ 1, 165, :_reduce_249,
1247
+ 1, 165, :_reduce_250,
1248
+ 1, 165, :_reduce_251,
1249
+ 1, 165, :_reduce_252,
1250
+ 1, 165, :_reduce_253,
1251
+ 1, 165, :_reduce_254,
1252
+ 1, 111, :_reduce_255,
1253
+ 3, 111, :_reduce_256,
1254
+ 1, 107, :_reduce_257,
1255
+ 1, 106, :_reduce_258,
1256
+ 1, 146, :_reduce_259,
1257
+ 1, 146, :_reduce_260,
1258
+ 1, 146, :_reduce_261,
1259
+ 1, 129, :_reduce_262,
1260
+ 2, 147, :_reduce_263,
1261
+ 1, 147, :_reduce_264 ]
1262
+
1263
+ racc_reduce_n = 265
1264
+
1265
+ racc_shift_n = 460
1266
+
1267
+ racc_token_table = {
1268
+ false => 0,
1269
+ :error => 1,
1270
+ :COLON => 2,
1271
+ :CASE => 3,
1272
+ :DEFAULT => 4,
1273
+ :LBRACE => 5,
1274
+ :RBRACE => 6,
1275
+ :SEMICOLON => 7,
1276
+ :IF => 8,
1277
+ :LPAREN => 9,
1278
+ :RPAREN => 10,
1279
+ :ELSE => 11,
1280
+ :SWITCH => 12,
1281
+ :WHILE => 13,
1282
+ :DO => 14,
1283
+ :FOR => 15,
1284
+ :GOTO => 16,
1285
+ :CONTINUE => 17,
1286
+ :BREAK => 18,
1287
+ :RETURN => 19,
1288
+ :COMMA => 20,
1289
+ :EQ => 21,
1290
+ :TYPEDEF => 22,
1291
+ :EXTERN => 23,
1292
+ :STATIC => 24,
1293
+ :AUTO => 25,
1294
+ :REGISTER => 26,
1295
+ :VOID => 27,
1296
+ :CHAR => 28,
1297
+ :SHORT => 29,
1298
+ :INT => 30,
1299
+ :LONG => 31,
1300
+ :FLOAT => 32,
1301
+ :DOUBLE => 33,
1302
+ :SIGNED => 34,
1303
+ :UNSIGNED => 35,
1304
+ :BOOL => 36,
1305
+ :COMPLEX => 37,
1306
+ :IMAGINARY => 38,
1307
+ :STRUCT => 39,
1308
+ :UNION => 40,
1309
+ :ENUM => 41,
1310
+ :CONST => 42,
1311
+ :RESTRICT => 43,
1312
+ :VOLATILE => 44,
1313
+ :INLINE => 45,
1314
+ :LBRACKET => 46,
1315
+ :RBRACKET => 47,
1316
+ :MUL => 48,
1317
+ :ELLIPSIS => 49,
1318
+ :TYPENAME => 50,
1319
+ :DOT => 51,
1320
+ :ARROW => 52,
1321
+ :INC => 53,
1322
+ :DEC => 54,
1323
+ :SIZEOF => 55,
1324
+ :AND => 56,
1325
+ :ADD => 57,
1326
+ :SUB => 58,
1327
+ :NOT => 59,
1328
+ :BANG => 60,
1329
+ :DIV => 61,
1330
+ :MOD => 62,
1331
+ :LSHIFT => 63,
1332
+ :RSHIFT => 64,
1333
+ :LT => 65,
1334
+ :GT => 66,
1335
+ :LEQ => 67,
1336
+ :GEQ => 68,
1337
+ :EQEQ => 69,
1338
+ :NEQ => 70,
1339
+ :XOR => 71,
1340
+ :OR => 72,
1341
+ :ANDAND => 73,
1342
+ :OROR => 74,
1343
+ :QUESTION => 75,
1344
+ :MULEQ => 76,
1345
+ :DIVEQ => 77,
1346
+ :MODEQ => 78,
1347
+ :ADDEQ => 79,
1348
+ :SUBEQ => 80,
1349
+ :LSHIFTEQ => 81,
1350
+ :RSHIFTEQ => 82,
1351
+ :ANDEQ => 83,
1352
+ :XOREQ => 84,
1353
+ :OREQ => 85,
1354
+ :ID => 86,
1355
+ :ICON => 87,
1356
+ :FCON => 88,
1357
+ :CCON => 89,
1358
+ :SCON => 90 }
1359
+
1360
+ racc_nt_base = 91
1361
+
1362
+ racc_use_result_var = true
1363
+
1364
+ Racc_arg = [
1365
+ racc_action_table,
1366
+ racc_action_check,
1367
+ racc_action_default,
1368
+ racc_action_pointer,
1369
+ racc_goto_table,
1370
+ racc_goto_check,
1371
+ racc_goto_default,
1372
+ racc_goto_pointer,
1373
+ racc_nt_base,
1374
+ racc_reduce_table,
1375
+ racc_token_table,
1376
+ racc_shift_n,
1377
+ racc_reduce_n,
1378
+ racc_use_result_var ]
1379
+
1380
+ Racc_token_to_s_table = [
1381
+ "$end",
1382
+ "error",
1383
+ "COLON",
1384
+ "CASE",
1385
+ "DEFAULT",
1386
+ "LBRACE",
1387
+ "RBRACE",
1388
+ "SEMICOLON",
1389
+ "IF",
1390
+ "LPAREN",
1391
+ "RPAREN",
1392
+ "ELSE",
1393
+ "SWITCH",
1394
+ "WHILE",
1395
+ "DO",
1396
+ "FOR",
1397
+ "GOTO",
1398
+ "CONTINUE",
1399
+ "BREAK",
1400
+ "RETURN",
1401
+ "COMMA",
1402
+ "EQ",
1403
+ "TYPEDEF",
1404
+ "EXTERN",
1405
+ "STATIC",
1406
+ "AUTO",
1407
+ "REGISTER",
1408
+ "VOID",
1409
+ "CHAR",
1410
+ "SHORT",
1411
+ "INT",
1412
+ "LONG",
1413
+ "FLOAT",
1414
+ "DOUBLE",
1415
+ "SIGNED",
1416
+ "UNSIGNED",
1417
+ "BOOL",
1418
+ "COMPLEX",
1419
+ "IMAGINARY",
1420
+ "STRUCT",
1421
+ "UNION",
1422
+ "ENUM",
1423
+ "CONST",
1424
+ "RESTRICT",
1425
+ "VOLATILE",
1426
+ "INLINE",
1427
+ "LBRACKET",
1428
+ "RBRACKET",
1429
+ "MUL",
1430
+ "ELLIPSIS",
1431
+ "TYPENAME",
1432
+ "DOT",
1433
+ "ARROW",
1434
+ "INC",
1435
+ "DEC",
1436
+ "SIZEOF",
1437
+ "AND",
1438
+ "ADD",
1439
+ "SUB",
1440
+ "NOT",
1441
+ "BANG",
1442
+ "DIV",
1443
+ "MOD",
1444
+ "LSHIFT",
1445
+ "RSHIFT",
1446
+ "LT",
1447
+ "GT",
1448
+ "LEQ",
1449
+ "GEQ",
1450
+ "EQEQ",
1451
+ "NEQ",
1452
+ "XOR",
1453
+ "OR",
1454
+ "ANDAND",
1455
+ "OROR",
1456
+ "QUESTION",
1457
+ "MULEQ",
1458
+ "DIVEQ",
1459
+ "MODEQ",
1460
+ "ADDEQ",
1461
+ "SUBEQ",
1462
+ "LSHIFTEQ",
1463
+ "RSHIFTEQ",
1464
+ "ANDEQ",
1465
+ "XOREQ",
1466
+ "OREQ",
1467
+ "ID",
1468
+ "ICON",
1469
+ "FCON",
1470
+ "CCON",
1471
+ "SCON",
1472
+ "$start",
1473
+ "translation_unit",
1474
+ "external_declaration",
1475
+ "function_definition",
1476
+ "declaration",
1477
+ "declaration_specifiers",
1478
+ "declarator",
1479
+ "declaration_list",
1480
+ "compound_statement",
1481
+ "statement",
1482
+ "labeled_statement",
1483
+ "expression_statement",
1484
+ "selection_statement",
1485
+ "iteration_statement",
1486
+ "jump_statement",
1487
+ "identifier",
1488
+ "constant_expression",
1489
+ "typedef_name",
1490
+ "block_item_list",
1491
+ "block_item",
1492
+ "expression",
1493
+ "init_declarator_list",
1494
+ "storage_class_specifier",
1495
+ "type_specifier",
1496
+ "type_qualifier",
1497
+ "function_specifier",
1498
+ "init_declarator",
1499
+ "initializer",
1500
+ "struct_or_union_specifier",
1501
+ "enum_specifier",
1502
+ "struct_or_union",
1503
+ "struct_declaration_list",
1504
+ "struct_declaration",
1505
+ "specifier_qualifier_list",
1506
+ "struct_declarator_list",
1507
+ "struct_declarator",
1508
+ "enumerator_list",
1509
+ "enumerator",
1510
+ "enumeration_constant",
1511
+ "pointer",
1512
+ "direct_declarator",
1513
+ "type_qualifier_list",
1514
+ "assignment_expression",
1515
+ "parameter_type_list",
1516
+ "identifier_list",
1517
+ "parameter_list",
1518
+ "parameter_declaration",
1519
+ "abstract_declarator",
1520
+ "type_name",
1521
+ "direct_abstract_declarator",
1522
+ "initializer_list",
1523
+ "designation",
1524
+ "designator_list",
1525
+ "designator",
1526
+ "primary_expression",
1527
+ "constant",
1528
+ "string_literal",
1529
+ "postfix_expression",
1530
+ "argument_expression_list",
1531
+ "argument_expression",
1532
+ "unary_expression",
1533
+ "unary_operator",
1534
+ "cast_expression",
1535
+ "multiplicative_expression",
1536
+ "additive_expression",
1537
+ "shift_expression",
1538
+ "relational_expression",
1539
+ "equality_expression",
1540
+ "and_expression",
1541
+ "exclusive_or_expression",
1542
+ "inclusive_or_expression",
1543
+ "logical_and_expression",
1544
+ "logical_or_expression",
1545
+ "conditional_expression",
1546
+ "assignment_operator" ]
1547
+
1548
+ Racc_debug_parser = false
1549
+
1550
+ ##### State transition tables end #####
1551
+
1552
+ # reduce 0 omitted
1553
+
1554
+ module_eval(<<'.,.,', 'cast.y', 32)
1555
+ def _reduce_1(val, _values, result)
1556
+ result = TranslationUnit.new_at(val[0].pos, NodeChain[val[0]])
1557
+ result
1558
+ end
1559
+ .,.,
1560
+
1561
+ module_eval(<<'.,.,', 'cast.y', 33)
1562
+ def _reduce_2(val, _values, result)
1563
+ result = val[0]; result.entities << val[1]
1564
+ result
1565
+ end
1566
+ .,.,
1567
+
1568
+ module_eval(<<'.,.,', 'cast.y', 37)
1569
+ def _reduce_3(val, _values, result)
1570
+ result = val[0]
1571
+ result
1572
+ end
1573
+ .,.,
1574
+
1575
+ module_eval(<<'.,.,', 'cast.y', 38)
1576
+ def _reduce_4(val, _values, result)
1577
+ result = val[0]
1578
+ result
1579
+ end
1580
+ .,.,
1581
+
1582
+ module_eval(<<'.,.,', 'cast.y', 42)
1583
+ def _reduce_5(val, _values, result)
1584
+ result = make_function_def(val[0][0], val[0][1], val[1], val[2], val[3])
1585
+ result
1586
+ end
1587
+ .,.,
1588
+
1589
+ module_eval(<<'.,.,', 'cast.y', 43)
1590
+ def _reduce_6(val, _values, result)
1591
+ result = make_function_def(val[0][0], val[0][1], val[1], nil , val[2])
1592
+ result
1593
+ end
1594
+ .,.,
1595
+
1596
+ module_eval(<<'.,.,', 'cast.y', 47)
1597
+ def _reduce_7(val, _values, result)
1598
+ result = [val[0]]
1599
+ result
1600
+ end
1601
+ .,.,
1602
+
1603
+ module_eval(<<'.,.,', 'cast.y', 48)
1604
+ def _reduce_8(val, _values, result)
1605
+ result = val[0] << val[1]
1606
+ result
1607
+ end
1608
+ .,.,
1609
+
1610
+ module_eval(<<'.,.,', 'cast.y', 54)
1611
+ def _reduce_9(val, _values, result)
1612
+ result = val[0]
1613
+ result
1614
+ end
1615
+ .,.,
1616
+
1617
+ module_eval(<<'.,.,', 'cast.y', 55)
1618
+ def _reduce_10(val, _values, result)
1619
+ result = val[0]
1620
+ result
1621
+ end
1622
+ .,.,
1623
+
1624
+ module_eval(<<'.,.,', 'cast.y', 56)
1625
+ def _reduce_11(val, _values, result)
1626
+ result = val[0]
1627
+ result
1628
+ end
1629
+ .,.,
1630
+
1631
+ module_eval(<<'.,.,', 'cast.y', 57)
1632
+ def _reduce_12(val, _values, result)
1633
+ result = val[0]
1634
+ result
1635
+ end
1636
+ .,.,
1637
+
1638
+ module_eval(<<'.,.,', 'cast.y', 58)
1639
+ def _reduce_13(val, _values, result)
1640
+ result = val[0]
1641
+ result
1642
+ end
1643
+ .,.,
1644
+
1645
+ module_eval(<<'.,.,', 'cast.y', 59)
1646
+ def _reduce_14(val, _values, result)
1647
+ result = val[0]
1648
+ result
1649
+ end
1650
+ .,.,
1651
+
1652
+ module_eval(<<'.,.,', 'cast.y', 63)
1653
+ def _reduce_15(val, _values, result)
1654
+ val[2].labels.unshift(PlainLabel.new_at(val[0].pos, val[0].val)); result = val[2]
1655
+ result
1656
+ end
1657
+ .,.,
1658
+
1659
+ module_eval(<<'.,.,', 'cast.y', 64)
1660
+ def _reduce_16(val, _values, result)
1661
+ val[3].labels.unshift(Case .new_at(val[0].pos, val[1] )); result = val[3]
1662
+ result
1663
+ end
1664
+ .,.,
1665
+
1666
+ module_eval(<<'.,.,', 'cast.y', 65)
1667
+ def _reduce_17(val, _values, result)
1668
+ val[2].labels.unshift(Default .new_at(val[0].pos )); result = val[2]
1669
+ result
1670
+ end
1671
+ .,.,
1672
+
1673
+ module_eval(<<'.,.,', 'cast.y', 67)
1674
+ def _reduce_18(val, _values, result)
1675
+ val[2].labels.unshift(PlainLabel.new_at(val[0].pos, val[0].name)); result = val[2]
1676
+ result
1677
+ end
1678
+ .,.,
1679
+
1680
+ module_eval(<<'.,.,', 'cast.y', 71)
1681
+ def _reduce_19(val, _values, result)
1682
+ result = Block.new_at(val[0].pos, val[1])
1683
+ result
1684
+ end
1685
+ .,.,
1686
+
1687
+ module_eval(<<'.,.,', 'cast.y', 72)
1688
+ def _reduce_20(val, _values, result)
1689
+ result = Block.new_at(val[0].pos )
1690
+ result
1691
+ end
1692
+ .,.,
1693
+
1694
+ module_eval(<<'.,.,', 'cast.y', 76)
1695
+ def _reduce_21(val, _values, result)
1696
+ result = NodeChain[val[0]]
1697
+ result
1698
+ end
1699
+ .,.,
1700
+
1701
+ module_eval(<<'.,.,', 'cast.y', 77)
1702
+ def _reduce_22(val, _values, result)
1703
+ result = val[0] << val[1]
1704
+ result
1705
+ end
1706
+ .,.,
1707
+
1708
+ module_eval(<<'.,.,', 'cast.y', 81)
1709
+ def _reduce_23(val, _values, result)
1710
+ result = val[0]
1711
+ result
1712
+ end
1713
+ .,.,
1714
+
1715
+ module_eval(<<'.,.,', 'cast.y', 82)
1716
+ def _reduce_24(val, _values, result)
1717
+ result = val[0]
1718
+ result
1719
+ end
1720
+ .,.,
1721
+
1722
+ module_eval(<<'.,.,', 'cast.y', 86)
1723
+ def _reduce_25(val, _values, result)
1724
+ result = ExpressionStatement.new_at(val[0].pos, val[0])
1725
+ result
1726
+ end
1727
+ .,.,
1728
+
1729
+ module_eval(<<'.,.,', 'cast.y', 87)
1730
+ def _reduce_26(val, _values, result)
1731
+ result = ExpressionStatement.new_at(val[0].pos )
1732
+ result
1733
+ end
1734
+ .,.,
1735
+
1736
+ module_eval(<<'.,.,', 'cast.y', 91)
1737
+ def _reduce_27(val, _values, result)
1738
+ result = If .new_at(val[0].pos, val[2], val[4] )
1739
+ result
1740
+ end
1741
+ .,.,
1742
+
1743
+ module_eval(<<'.,.,', 'cast.y', 92)
1744
+ def _reduce_28(val, _values, result)
1745
+ result = If .new_at(val[0].pos, val[2], val[4], val[6])
1746
+ result
1747
+ end
1748
+ .,.,
1749
+
1750
+ module_eval(<<'.,.,', 'cast.y', 93)
1751
+ def _reduce_29(val, _values, result)
1752
+ result = Switch.new_at(val[0].pos, val[2], val[4] )
1753
+ result
1754
+ end
1755
+ .,.,
1756
+
1757
+ module_eval(<<'.,.,', 'cast.y', 97)
1758
+ def _reduce_30(val, _values, result)
1759
+ result = While.new_at(val[0].pos, val[2], val[4] )
1760
+ result
1761
+ end
1762
+ .,.,
1763
+
1764
+ module_eval(<<'.,.,', 'cast.y', 98)
1765
+ def _reduce_31(val, _values, result)
1766
+ result = While.new_at(val[0].pos, val[4], val[1], :do => true )
1767
+ result
1768
+ end
1769
+ .,.,
1770
+
1771
+ module_eval(<<'.,.,', 'cast.y', 99)
1772
+ def _reduce_32(val, _values, result)
1773
+ result = For.new_at(val[0].pos, val[2], val[4], val[6], val[8])
1774
+ result
1775
+ end
1776
+ .,.,
1777
+
1778
+ module_eval(<<'.,.,', 'cast.y', 100)
1779
+ def _reduce_33(val, _values, result)
1780
+ result = For.new_at(val[0].pos, val[2], val[4], nil , val[7])
1781
+ result
1782
+ end
1783
+ .,.,
1784
+
1785
+ module_eval(<<'.,.,', 'cast.y', 101)
1786
+ def _reduce_34(val, _values, result)
1787
+ result = For.new_at(val[0].pos, val[2], nil , val[5], val[7])
1788
+ result
1789
+ end
1790
+ .,.,
1791
+
1792
+ module_eval(<<'.,.,', 'cast.y', 102)
1793
+ def _reduce_35(val, _values, result)
1794
+ result = For.new_at(val[0].pos, val[2], nil , nil , val[6])
1795
+ result
1796
+ end
1797
+ .,.,
1798
+
1799
+ module_eval(<<'.,.,', 'cast.y', 103)
1800
+ def _reduce_36(val, _values, result)
1801
+ result = For.new_at(val[0].pos, nil , val[3], val[5], val[7])
1802
+ result
1803
+ end
1804
+ .,.,
1805
+
1806
+ module_eval(<<'.,.,', 'cast.y', 104)
1807
+ def _reduce_37(val, _values, result)
1808
+ result = For.new_at(val[0].pos, nil , val[3], nil , val[6])
1809
+ result
1810
+ end
1811
+ .,.,
1812
+
1813
+ module_eval(<<'.,.,', 'cast.y', 105)
1814
+ def _reduce_38(val, _values, result)
1815
+ result = For.new_at(val[0].pos, nil , nil , val[4], val[6])
1816
+ result
1817
+ end
1818
+ .,.,
1819
+
1820
+ module_eval(<<'.,.,', 'cast.y', 106)
1821
+ def _reduce_39(val, _values, result)
1822
+ result = For.new_at(val[0].pos, nil , nil , nil , val[5])
1823
+ result
1824
+ end
1825
+ .,.,
1826
+
1827
+ module_eval(<<'.,.,', 'cast.y', 107)
1828
+ def _reduce_40(val, _values, result)
1829
+ result = For.new_at(val[0].pos, val[2], val[3], val[5], val[7])
1830
+ result
1831
+ end
1832
+ .,.,
1833
+
1834
+ module_eval(<<'.,.,', 'cast.y', 108)
1835
+ def _reduce_41(val, _values, result)
1836
+ result = For.new_at(val[0].pos, val[2], val[3], nil , val[6])
1837
+ result
1838
+ end
1839
+ .,.,
1840
+
1841
+ module_eval(<<'.,.,', 'cast.y', 109)
1842
+ def _reduce_42(val, _values, result)
1843
+ result = For.new_at(val[0].pos, val[2], nil , val[4], val[6])
1844
+ result
1845
+ end
1846
+ .,.,
1847
+
1848
+ module_eval(<<'.,.,', 'cast.y', 110)
1849
+ def _reduce_43(val, _values, result)
1850
+ result = For.new_at(val[0].pos, val[2], nil , nil , val[5])
1851
+ result
1852
+ end
1853
+ .,.,
1854
+
1855
+ module_eval(<<'.,.,', 'cast.y', 114)
1856
+ def _reduce_44(val, _values, result)
1857
+ result = Goto .new_at(val[0].pos, val[1].val)
1858
+ result
1859
+ end
1860
+ .,.,
1861
+
1862
+ module_eval(<<'.,.,', 'cast.y', 115)
1863
+ def _reduce_45(val, _values, result)
1864
+ result = Continue.new_at(val[0].pos )
1865
+ result
1866
+ end
1867
+ .,.,
1868
+
1869
+ module_eval(<<'.,.,', 'cast.y', 116)
1870
+ def _reduce_46(val, _values, result)
1871
+ result = Break .new_at(val[0].pos )
1872
+ result
1873
+ end
1874
+ .,.,
1875
+
1876
+ module_eval(<<'.,.,', 'cast.y', 117)
1877
+ def _reduce_47(val, _values, result)
1878
+ result = Return .new_at(val[0].pos, val[1] )
1879
+ result
1880
+ end
1881
+ .,.,
1882
+
1883
+ module_eval(<<'.,.,', 'cast.y', 118)
1884
+ def _reduce_48(val, _values, result)
1885
+ result = Return .new_at(val[0].pos )
1886
+ result
1887
+ end
1888
+ .,.,
1889
+
1890
+ module_eval(<<'.,.,', 'cast.y', 120)
1891
+ def _reduce_49(val, _values, result)
1892
+ result = Goto .new_at(val[0].pos, val[1].name)
1893
+ result
1894
+ end
1895
+ .,.,
1896
+
1897
+ module_eval(<<'.,.,', 'cast.y', 126)
1898
+ def _reduce_50(val, _values, result)
1899
+ result = make_declaration(val[0][0], val[0][1], val[1])
1900
+ result
1901
+ end
1902
+ .,.,
1903
+
1904
+ module_eval(<<'.,.,', 'cast.y', 127)
1905
+ def _reduce_51(val, _values, result)
1906
+ result = make_declaration(val[0][0], val[0][1], NodeArray[])
1907
+ result
1908
+ end
1909
+ .,.,
1910
+
1911
+ module_eval(<<'.,.,', 'cast.y', 131)
1912
+ def _reduce_52(val, _values, result)
1913
+ val[1][1] << val[0][1]; result = val[1]
1914
+ result
1915
+ end
1916
+ .,.,
1917
+
1918
+ module_eval(<<'.,.,', 'cast.y', 132)
1919
+ def _reduce_53(val, _values, result)
1920
+ result = [val[0][0], [val[0][1]]]
1921
+ result
1922
+ end
1923
+ .,.,
1924
+
1925
+ module_eval(<<'.,.,', 'cast.y', 133)
1926
+ def _reduce_54(val, _values, result)
1927
+ val[1][1] << val[0][1]; result = val[1]
1928
+ result
1929
+ end
1930
+ .,.,
1931
+
1932
+ module_eval(<<'.,.,', 'cast.y', 134)
1933
+ def _reduce_55(val, _values, result)
1934
+ result = [val[0][0], [val[0][1]]]
1935
+ result
1936
+ end
1937
+ .,.,
1938
+
1939
+ module_eval(<<'.,.,', 'cast.y', 135)
1940
+ def _reduce_56(val, _values, result)
1941
+ val[1][1] << val[0][1]; result = val[1]
1942
+ result
1943
+ end
1944
+ .,.,
1945
+
1946
+ module_eval(<<'.,.,', 'cast.y', 136)
1947
+ def _reduce_57(val, _values, result)
1948
+ result = [val[0][0], [val[0][1]]]
1949
+ result
1950
+ end
1951
+ .,.,
1952
+
1953
+ module_eval(<<'.,.,', 'cast.y', 137)
1954
+ def _reduce_58(val, _values, result)
1955
+ val[1][1] << val[0][1]; result = val[1]
1956
+ result
1957
+ end
1958
+ .,.,
1959
+
1960
+ module_eval(<<'.,.,', 'cast.y', 138)
1961
+ def _reduce_59(val, _values, result)
1962
+ result = [val[0][0], [val[0][1]]]
1963
+ result
1964
+ end
1965
+ .,.,
1966
+
1967
+ module_eval(<<'.,.,', 'cast.y', 142)
1968
+ def _reduce_60(val, _values, result)
1969
+ result = NodeArray[val[0]]
1970
+ result
1971
+ end
1972
+ .,.,
1973
+
1974
+ module_eval(<<'.,.,', 'cast.y', 143)
1975
+ def _reduce_61(val, _values, result)
1976
+ result = val[0] << val[2]
1977
+ result
1978
+ end
1979
+ .,.,
1980
+
1981
+ module_eval(<<'.,.,', 'cast.y', 147)
1982
+ def _reduce_62(val, _values, result)
1983
+ result = val[0]
1984
+ result
1985
+ end
1986
+ .,.,
1987
+
1988
+ module_eval(<<'.,.,', 'cast.y', 148)
1989
+ def _reduce_63(val, _values, result)
1990
+ val[0].init = val[2]; result = val[0]
1991
+ result
1992
+ end
1993
+ .,.,
1994
+
1995
+ module_eval(<<'.,.,', 'cast.y', 152)
1996
+ def _reduce_64(val, _values, result)
1997
+ result = [val[0].pos, :typedef ]
1998
+ result
1999
+ end
2000
+ .,.,
2001
+
2002
+ module_eval(<<'.,.,', 'cast.y', 153)
2003
+ def _reduce_65(val, _values, result)
2004
+ result = [val[0].pos, :extern ]
2005
+ result
2006
+ end
2007
+ .,.,
2008
+
2009
+ module_eval(<<'.,.,', 'cast.y', 154)
2010
+ def _reduce_66(val, _values, result)
2011
+ result = [val[0].pos, :static ]
2012
+ result
2013
+ end
2014
+ .,.,
2015
+
2016
+ module_eval(<<'.,.,', 'cast.y', 155)
2017
+ def _reduce_67(val, _values, result)
2018
+ result = [val[0].pos, :auto ]
2019
+ result
2020
+ end
2021
+ .,.,
2022
+
2023
+ module_eval(<<'.,.,', 'cast.y', 156)
2024
+ def _reduce_68(val, _values, result)
2025
+ result = [val[0].pos, :register]
2026
+ result
2027
+ end
2028
+ .,.,
2029
+
2030
+ module_eval(<<'.,.,', 'cast.y', 160)
2031
+ def _reduce_69(val, _values, result)
2032
+ result = [val[0].pos, :void ]
2033
+ result
2034
+ end
2035
+ .,.,
2036
+
2037
+ module_eval(<<'.,.,', 'cast.y', 161)
2038
+ def _reduce_70(val, _values, result)
2039
+ result = [val[0].pos, :char ]
2040
+ result
2041
+ end
2042
+ .,.,
2043
+
2044
+ module_eval(<<'.,.,', 'cast.y', 162)
2045
+ def _reduce_71(val, _values, result)
2046
+ result = [val[0].pos, :short ]
2047
+ result
2048
+ end
2049
+ .,.,
2050
+
2051
+ module_eval(<<'.,.,', 'cast.y', 163)
2052
+ def _reduce_72(val, _values, result)
2053
+ result = [val[0].pos, :int ]
2054
+ result
2055
+ end
2056
+ .,.,
2057
+
2058
+ module_eval(<<'.,.,', 'cast.y', 164)
2059
+ def _reduce_73(val, _values, result)
2060
+ result = [val[0].pos, :long ]
2061
+ result
2062
+ end
2063
+ .,.,
2064
+
2065
+ module_eval(<<'.,.,', 'cast.y', 165)
2066
+ def _reduce_74(val, _values, result)
2067
+ result = [val[0].pos, :float ]
2068
+ result
2069
+ end
2070
+ .,.,
2071
+
2072
+ module_eval(<<'.,.,', 'cast.y', 166)
2073
+ def _reduce_75(val, _values, result)
2074
+ result = [val[0].pos, :double ]
2075
+ result
2076
+ end
2077
+ .,.,
2078
+
2079
+ module_eval(<<'.,.,', 'cast.y', 167)
2080
+ def _reduce_76(val, _values, result)
2081
+ result = [val[0].pos, :signed ]
2082
+ result
2083
+ end
2084
+ .,.,
2085
+
2086
+ module_eval(<<'.,.,', 'cast.y', 168)
2087
+ def _reduce_77(val, _values, result)
2088
+ result = [val[0].pos, :unsigned ]
2089
+ result
2090
+ end
2091
+ .,.,
2092
+
2093
+ module_eval(<<'.,.,', 'cast.y', 169)
2094
+ def _reduce_78(val, _values, result)
2095
+ result = [val[0].pos, :_Bool ]
2096
+ result
2097
+ end
2098
+ .,.,
2099
+
2100
+ module_eval(<<'.,.,', 'cast.y', 170)
2101
+ def _reduce_79(val, _values, result)
2102
+ result = [val[0].pos, :_Complex ]
2103
+ result
2104
+ end
2105
+ .,.,
2106
+
2107
+ module_eval(<<'.,.,', 'cast.y', 171)
2108
+ def _reduce_80(val, _values, result)
2109
+ result = [val[0].pos, :_Imaginary]
2110
+ result
2111
+ end
2112
+ .,.,
2113
+
2114
+ module_eval(<<'.,.,', 'cast.y', 172)
2115
+ def _reduce_81(val, _values, result)
2116
+ result = [val[0].pos, val[0] ]
2117
+ result
2118
+ end
2119
+ .,.,
2120
+
2121
+ module_eval(<<'.,.,', 'cast.y', 173)
2122
+ def _reduce_82(val, _values, result)
2123
+ result = [val[0].pos, val[0] ]
2124
+ result
2125
+ end
2126
+ .,.,
2127
+
2128
+ module_eval(<<'.,.,', 'cast.y', 174)
2129
+ def _reduce_83(val, _values, result)
2130
+ result = [val[0].pos, val[0] ]
2131
+ result
2132
+ end
2133
+ .,.,
2134
+
2135
+ module_eval(<<'.,.,', 'cast.y', 178)
2136
+ def _reduce_84(val, _values, result)
2137
+ result = val[0][1].new_at(val[0][0], val[1].val, val[3])
2138
+ result
2139
+ end
2140
+ .,.,
2141
+
2142
+ module_eval(<<'.,.,', 'cast.y', 179)
2143
+ def _reduce_85(val, _values, result)
2144
+ result = val[0][1].new_at(val[0][0], nil , val[2])
2145
+ result
2146
+ end
2147
+ .,.,
2148
+
2149
+ module_eval(<<'.,.,', 'cast.y', 180)
2150
+ def _reduce_86(val, _values, result)
2151
+ result = val[0][1].new_at(val[0][0], val[1].val, nil )
2152
+ result
2153
+ end
2154
+ .,.,
2155
+
2156
+ module_eval(<<'.,.,', 'cast.y', 182)
2157
+ def _reduce_87(val, _values, result)
2158
+ result = val[0][1].new_at(val[0][0], val[1].name, val[3])
2159
+ result
2160
+ end
2161
+ .,.,
2162
+
2163
+ module_eval(<<'.,.,', 'cast.y', 183)
2164
+ def _reduce_88(val, _values, result)
2165
+ result = val[0][1].new_at(val[0][0], val[1].name, nil )
2166
+ result
2167
+ end
2168
+ .,.,
2169
+
2170
+ module_eval(<<'.,.,', 'cast.y', 187)
2171
+ def _reduce_89(val, _values, result)
2172
+ result = [val[0].pos, Struct]
2173
+ result
2174
+ end
2175
+ .,.,
2176
+
2177
+ module_eval(<<'.,.,', 'cast.y', 188)
2178
+ def _reduce_90(val, _values, result)
2179
+ result = [val[0].pos, Union ]
2180
+ result
2181
+ end
2182
+ .,.,
2183
+
2184
+ module_eval(<<'.,.,', 'cast.y', 192)
2185
+ def _reduce_91(val, _values, result)
2186
+ result = NodeArray[val[0]]
2187
+ result
2188
+ end
2189
+ .,.,
2190
+
2191
+ module_eval(<<'.,.,', 'cast.y', 193)
2192
+ def _reduce_92(val, _values, result)
2193
+ val[0] << val[1]; result = val[0]
2194
+ result
2195
+ end
2196
+ .,.,
2197
+
2198
+ module_eval(<<'.,.,', 'cast.y', 197)
2199
+ def _reduce_93(val, _values, result)
2200
+ result = make_declaration(val[0][0], val[0][1], val[1])
2201
+ result
2202
+ end
2203
+ .,.,
2204
+
2205
+ module_eval(<<'.,.,', 'cast.y', 201)
2206
+ def _reduce_94(val, _values, result)
2207
+ val[1][1] << val[0][1]; result = val[1]
2208
+ result
2209
+ end
2210
+ .,.,
2211
+
2212
+ module_eval(<<'.,.,', 'cast.y', 202)
2213
+ def _reduce_95(val, _values, result)
2214
+ result = [val[0][0], [val[0][1]]]
2215
+ result
2216
+ end
2217
+ .,.,
2218
+
2219
+ module_eval(<<'.,.,', 'cast.y', 203)
2220
+ def _reduce_96(val, _values, result)
2221
+ val[1][1] << val[0][1]; result = val[1]
2222
+ result
2223
+ end
2224
+ .,.,
2225
+
2226
+ module_eval(<<'.,.,', 'cast.y', 204)
2227
+ def _reduce_97(val, _values, result)
2228
+ result = [val[0][0], [val[0][1]]]
2229
+ result
2230
+ end
2231
+ .,.,
2232
+
2233
+ module_eval(<<'.,.,', 'cast.y', 208)
2234
+ def _reduce_98(val, _values, result)
2235
+ result = NodeArray[val[0]]
2236
+ result
2237
+ end
2238
+ .,.,
2239
+
2240
+ module_eval(<<'.,.,', 'cast.y', 209)
2241
+ def _reduce_99(val, _values, result)
2242
+ result = val[0] << val[2]
2243
+ result
2244
+ end
2245
+ .,.,
2246
+
2247
+ module_eval(<<'.,.,', 'cast.y', 213)
2248
+ def _reduce_100(val, _values, result)
2249
+ result = val[0]
2250
+ result
2251
+ end
2252
+ .,.,
2253
+
2254
+ module_eval(<<'.,.,', 'cast.y', 214)
2255
+ def _reduce_101(val, _values, result)
2256
+ result = val[0]; val[0].num_bits = val[2]
2257
+ result
2258
+ end
2259
+ .,.,
2260
+
2261
+ module_eval(<<'.,.,', 'cast.y', 215)
2262
+ def _reduce_102(val, _values, result)
2263
+ result = Declarator.new_at(val[0].pos, :num_bits => val[1])
2264
+ result
2265
+ end
2266
+ .,.,
2267
+
2268
+ module_eval(<<'.,.,', 'cast.y', 219)
2269
+ def _reduce_103(val, _values, result)
2270
+ result = Enum.new_at(val[0].pos, val[1].val, val[3])
2271
+ result
2272
+ end
2273
+ .,.,
2274
+
2275
+ module_eval(<<'.,.,', 'cast.y', 220)
2276
+ def _reduce_104(val, _values, result)
2277
+ result = Enum.new_at(val[0].pos, nil , val[2])
2278
+ result
2279
+ end
2280
+ .,.,
2281
+
2282
+ module_eval(<<'.,.,', 'cast.y', 221)
2283
+ def _reduce_105(val, _values, result)
2284
+ result = Enum.new_at(val[0].pos, val[1].val, val[3])
2285
+ result
2286
+ end
2287
+ .,.,
2288
+
2289
+ module_eval(<<'.,.,', 'cast.y', 222)
2290
+ def _reduce_106(val, _values, result)
2291
+ result = Enum.new_at(val[0].pos, nil , val[2])
2292
+ result
2293
+ end
2294
+ .,.,
2295
+
2296
+ module_eval(<<'.,.,', 'cast.y', 223)
2297
+ def _reduce_107(val, _values, result)
2298
+ result = Enum.new_at(val[0].pos, val[1].val, nil )
2299
+ result
2300
+ end
2301
+ .,.,
2302
+
2303
+ module_eval(<<'.,.,', 'cast.y', 225)
2304
+ def _reduce_108(val, _values, result)
2305
+ result = Enum.new_at(val[0].pos, val[1].name, val[3])
2306
+ result
2307
+ end
2308
+ .,.,
2309
+
2310
+ module_eval(<<'.,.,', 'cast.y', 226)
2311
+ def _reduce_109(val, _values, result)
2312
+ result = Enum.new_at(val[0].pos, val[1].name, val[3])
2313
+ result
2314
+ end
2315
+ .,.,
2316
+
2317
+ module_eval(<<'.,.,', 'cast.y', 227)
2318
+ def _reduce_110(val, _values, result)
2319
+ result = Enum.new_at(val[0].pos, val[1].name, nil )
2320
+ result
2321
+ end
2322
+ .,.,
2323
+
2324
+ module_eval(<<'.,.,', 'cast.y', 231)
2325
+ def _reduce_111(val, _values, result)
2326
+ result = NodeArray[val[0]]
2327
+ result
2328
+ end
2329
+ .,.,
2330
+
2331
+ module_eval(<<'.,.,', 'cast.y', 232)
2332
+ def _reduce_112(val, _values, result)
2333
+ result = val[0] << val[2]
2334
+ result
2335
+ end
2336
+ .,.,
2337
+
2338
+ module_eval(<<'.,.,', 'cast.y', 236)
2339
+ def _reduce_113(val, _values, result)
2340
+ result = Enumerator.new_at(val[0].pos, val[0].val, nil )
2341
+ result
2342
+ end
2343
+ .,.,
2344
+
2345
+ module_eval(<<'.,.,', 'cast.y', 237)
2346
+ def _reduce_114(val, _values, result)
2347
+ result = Enumerator.new_at(val[0].pos, val[0].val, val[2])
2348
+ result
2349
+ end
2350
+ .,.,
2351
+
2352
+ module_eval(<<'.,.,', 'cast.y', 241)
2353
+ def _reduce_115(val, _values, result)
2354
+ result = [val[0].pos, :const ]
2355
+ result
2356
+ end
2357
+ .,.,
2358
+
2359
+ module_eval(<<'.,.,', 'cast.y', 242)
2360
+ def _reduce_116(val, _values, result)
2361
+ result = [val[0].pos, :restrict]
2362
+ result
2363
+ end
2364
+ .,.,
2365
+
2366
+ module_eval(<<'.,.,', 'cast.y', 243)
2367
+ def _reduce_117(val, _values, result)
2368
+ result = [val[0].pos, :volatile]
2369
+ result
2370
+ end
2371
+ .,.,
2372
+
2373
+ module_eval(<<'.,.,', 'cast.y', 247)
2374
+ def _reduce_118(val, _values, result)
2375
+ result = [val[0].pos, :inline]
2376
+ result
2377
+ end
2378
+ .,.,
2379
+
2380
+ module_eval(<<'.,.,', 'cast.y', 251)
2381
+ def _reduce_119(val, _values, result)
2382
+ result = add_decl_type(val[1], val[0])
2383
+ result
2384
+ end
2385
+ .,.,
2386
+
2387
+ module_eval(<<'.,.,', 'cast.y', 252)
2388
+ def _reduce_120(val, _values, result)
2389
+ result = val[0]
2390
+ result
2391
+ end
2392
+ .,.,
2393
+
2394
+ module_eval(<<'.,.,', 'cast.y', 256)
2395
+ def _reduce_121(val, _values, result)
2396
+ result = Declarator.new_at(val[0].pos, nil, val[0].val)
2397
+ result
2398
+ end
2399
+ .,.,
2400
+
2401
+ module_eval(<<'.,.,', 'cast.y', 257)
2402
+ def _reduce_122(val, _values, result)
2403
+ result = val[1]
2404
+ result
2405
+ end
2406
+ .,.,
2407
+
2408
+ module_eval(<<'.,.,', 'cast.y', 258)
2409
+ def _reduce_123(val, _values, result)
2410
+ result = add_decl_type(val[0], Array.new_at(val[0].pos ))
2411
+ result
2412
+ end
2413
+ .,.,
2414
+
2415
+ module_eval(<<'.,.,', 'cast.y', 259)
2416
+ def _reduce_124(val, _values, result)
2417
+ result = add_decl_type(val[0], Array.new_at(val[0].pos ))
2418
+ result
2419
+ end
2420
+ .,.,
2421
+
2422
+ module_eval(<<'.,.,', 'cast.y', 260)
2423
+ def _reduce_125(val, _values, result)
2424
+ result = add_decl_type(val[0], Array.new_at(val[0].pos, nil, val[2]))
2425
+ result
2426
+ end
2427
+ .,.,
2428
+
2429
+ module_eval(<<'.,.,', 'cast.y', 261)
2430
+ def _reduce_126(val, _values, result)
2431
+ result = add_decl_type(val[0], Array.new_at(val[0].pos ))
2432
+ result
2433
+ end
2434
+ .,.,
2435
+
2436
+ module_eval(<<'.,.,', 'cast.y', 262)
2437
+ def _reduce_127(val, _values, result)
2438
+ result = add_decl_type(val[0], Array.new_at(val[0].pos ))
2439
+ result
2440
+ end
2441
+ .,.,
2442
+
2443
+ module_eval(<<'.,.,', 'cast.y', 263)
2444
+ def _reduce_128(val, _values, result)
2445
+ result = add_decl_type(val[0], Array.new_at(val[0].pos ))
2446
+ result
2447
+ end
2448
+ .,.,
2449
+
2450
+ module_eval(<<'.,.,', 'cast.y', 264)
2451
+ def _reduce_129(val, _values, result)
2452
+ result = add_decl_type(val[0], Array.new_at(val[0].pos ))
2453
+ result
2454
+ end
2455
+ .,.,
2456
+
2457
+ module_eval(<<'.,.,', 'cast.y', 265)
2458
+ def _reduce_130(val, _values, result)
2459
+ result = add_decl_type(val[0], Array.new_at(val[0].pos ))
2460
+ result
2461
+ end
2462
+ .,.,
2463
+
2464
+ module_eval(<<'.,.,', 'cast.y', 266)
2465
+ def _reduce_131(val, _values, result)
2466
+ result = add_decl_type(val[0], Array.new_at(val[0].pos ))
2467
+ result
2468
+ end
2469
+ .,.,
2470
+
2471
+ module_eval(<<'.,.,', 'cast.y', 267)
2472
+ def _reduce_132(val, _values, result)
2473
+ result = add_decl_type(val[0], Function.new_at(val[0].pos, nil, param_list(*val[2]), :var_args => val[2][1]))
2474
+ result
2475
+ end
2476
+ .,.,
2477
+
2478
+ module_eval(<<'.,.,', 'cast.y', 268)
2479
+ def _reduce_133(val, _values, result)
2480
+ result = add_decl_type(val[0], Function.new_at(val[0].pos, nil, val[2]))
2481
+ result
2482
+ end
2483
+ .,.,
2484
+
2485
+ module_eval(<<'.,.,', 'cast.y', 269)
2486
+ def _reduce_134(val, _values, result)
2487
+ result = add_decl_type(val[0], Function.new_at(val[0].pos ))
2488
+ result
2489
+ end
2490
+ .,.,
2491
+
2492
+ module_eval(<<'.,.,', 'cast.y', 273)
2493
+ def _reduce_135(val, _values, result)
2494
+ result = add_type_quals(Pointer.new_at(val[0].pos), val[1][1])
2495
+ result
2496
+ end
2497
+ .,.,
2498
+
2499
+ module_eval(<<'.,.,', 'cast.y', 274)
2500
+ def _reduce_136(val, _values, result)
2501
+ result = Pointer.new_at(val[0].pos)
2502
+ result
2503
+ end
2504
+ .,.,
2505
+
2506
+ module_eval(<<'.,.,', 'cast.y', 275)
2507
+ def _reduce_137(val, _values, result)
2508
+ p = add_type_quals(Pointer.new_at(val[0].pos), val[1][1]); val[2].direct_type = p; result = val[2]
2509
+ result
2510
+ end
2511
+ .,.,
2512
+
2513
+ module_eval(<<'.,.,', 'cast.y', 276)
2514
+ def _reduce_138(val, _values, result)
2515
+ p = Pointer.new_at(val[0].pos) ; val[1].direct_type = p; result = val[1]
2516
+ result
2517
+ end
2518
+ .,.,
2519
+
2520
+ module_eval(<<'.,.,', 'cast.y', 280)
2521
+ def _reduce_139(val, _values, result)
2522
+ result = [val[0][0], [val[0][1]]]
2523
+ result
2524
+ end
2525
+ .,.,
2526
+
2527
+ module_eval(<<'.,.,', 'cast.y', 281)
2528
+ def _reduce_140(val, _values, result)
2529
+ val[0][1] << val[1][1]; result = val[0]
2530
+ result
2531
+ end
2532
+ .,.,
2533
+
2534
+ module_eval(<<'.,.,', 'cast.y', 285)
2535
+ def _reduce_141(val, _values, result)
2536
+ result = [val[0], false]
2537
+ result
2538
+ end
2539
+ .,.,
2540
+
2541
+ module_eval(<<'.,.,', 'cast.y', 286)
2542
+ def _reduce_142(val, _values, result)
2543
+ result = [val[0], true ]
2544
+ result
2545
+ end
2546
+ .,.,
2547
+
2548
+ module_eval(<<'.,.,', 'cast.y', 290)
2549
+ def _reduce_143(val, _values, result)
2550
+ result = NodeArray[val[0]]
2551
+ result
2552
+ end
2553
+ .,.,
2554
+
2555
+ module_eval(<<'.,.,', 'cast.y', 291)
2556
+ def _reduce_144(val, _values, result)
2557
+ result = val[0] << val[2]
2558
+ result
2559
+ end
2560
+ .,.,
2561
+
2562
+ module_eval(<<'.,.,', 'cast.y', 295)
2563
+ def _reduce_145(val, _values, result)
2564
+ ind_type = val[1].indirect_type and ind_type.detach
2565
+ result = make_parameter(val[0][0], val[0][1], ind_type, val[1].name)
2566
+ result
2567
+ end
2568
+ .,.,
2569
+
2570
+ module_eval(<<'.,.,', 'cast.y', 297)
2571
+ def _reduce_146(val, _values, result)
2572
+ result = make_parameter(val[0][0], val[0][1], val[1] , nil )
2573
+ result
2574
+ end
2575
+ .,.,
2576
+
2577
+ module_eval(<<'.,.,', 'cast.y', 298)
2578
+ def _reduce_147(val, _values, result)
2579
+ result = make_parameter(val[0][0], val[0][1], nil , nil )
2580
+ result
2581
+ end
2582
+ .,.,
2583
+
2584
+ module_eval(<<'.,.,', 'cast.y', 302)
2585
+ def _reduce_148(val, _values, result)
2586
+ result = NodeArray[Parameter.new_at(val[0].pos, nil, val[0].val)]
2587
+ result
2588
+ end
2589
+ .,.,
2590
+
2591
+ module_eval(<<'.,.,', 'cast.y', 303)
2592
+ def _reduce_149(val, _values, result)
2593
+ result = val[0] << Parameter.new_at(val[2].pos, nil, val[2].val)
2594
+ result
2595
+ end
2596
+ .,.,
2597
+
2598
+ module_eval(<<'.,.,', 'cast.y', 307)
2599
+ def _reduce_150(val, _values, result)
2600
+ val[1].direct_type = make_direct_type(val[0][0], val[0][1]); result = val[1]
2601
+ result
2602
+ end
2603
+ .,.,
2604
+
2605
+ module_eval(<<'.,.,', 'cast.y', 308)
2606
+ def _reduce_151(val, _values, result)
2607
+ result = make_direct_type(val[0][0], val[0][1])
2608
+ result
2609
+ end
2610
+ .,.,
2611
+
2612
+ module_eval(<<'.,.,', 'cast.y', 312)
2613
+ def _reduce_152(val, _values, result)
2614
+ result = val[0]
2615
+ result
2616
+ end
2617
+ .,.,
2618
+
2619
+ module_eval(<<'.,.,', 'cast.y', 313)
2620
+ def _reduce_153(val, _values, result)
2621
+ val[1].direct_type = val[0]; result = val[1]
2622
+ result
2623
+ end
2624
+ .,.,
2625
+
2626
+ module_eval(<<'.,.,', 'cast.y', 314)
2627
+ def _reduce_154(val, _values, result)
2628
+ result = val[0]
2629
+ result
2630
+ end
2631
+ .,.,
2632
+
2633
+ module_eval(<<'.,.,', 'cast.y', 318)
2634
+ def _reduce_155(val, _values, result)
2635
+ result = val[1]
2636
+ result
2637
+ end
2638
+ .,.,
2639
+
2640
+ module_eval(<<'.,.,', 'cast.y', 319)
2641
+ def _reduce_156(val, _values, result)
2642
+ val[0].direct_type = Array.new_at(val[0].pos, nil, val[2]); result = val[0]
2643
+ result
2644
+ end
2645
+ .,.,
2646
+
2647
+ module_eval(<<'.,.,', 'cast.y', 320)
2648
+ def _reduce_157(val, _values, result)
2649
+ val[0].direct_type = Array.new_at(val[0].pos, nil, nil ); result = val[0]
2650
+ result
2651
+ end
2652
+ .,.,
2653
+
2654
+ module_eval(<<'.,.,', 'cast.y', 321)
2655
+ def _reduce_158(val, _values, result)
2656
+ result = Array.new_at(val[0].pos, nil, val[1])
2657
+ result
2658
+ end
2659
+ .,.,
2660
+
2661
+ module_eval(<<'.,.,', 'cast.y', 322)
2662
+ def _reduce_159(val, _values, result)
2663
+ result = Array.new_at(val[0].pos )
2664
+ result
2665
+ end
2666
+ .,.,
2667
+
2668
+ module_eval(<<'.,.,', 'cast.y', 323)
2669
+ def _reduce_160(val, _values, result)
2670
+ val[0].direct_type = Array.new_at(val[0].pos); result = val[0]
2671
+ result
2672
+ end
2673
+ .,.,
2674
+
2675
+ module_eval(<<'.,.,', 'cast.y', 324)
2676
+ def _reduce_161(val, _values, result)
2677
+ result = Array.new_at(val[0].pos)
2678
+ result
2679
+ end
2680
+ .,.,
2681
+
2682
+ module_eval(<<'.,.,', 'cast.y', 325)
2683
+ def _reduce_162(val, _values, result)
2684
+ val[0].direct_type = Function.new_at(val[0].pos, nil, param_list(*val[2]), val[2][1]); result = val[0]
2685
+ result
2686
+ end
2687
+ .,.,
2688
+
2689
+ module_eval(<<'.,.,', 'cast.y', 326)
2690
+ def _reduce_163(val, _values, result)
2691
+ val[0].direct_type = Function.new_at(val[0].pos ); result = val[0]
2692
+ result
2693
+ end
2694
+ .,.,
2695
+
2696
+ module_eval(<<'.,.,', 'cast.y', 327)
2697
+ def _reduce_164(val, _values, result)
2698
+ result = Function.new_at(val[0].pos, nil, param_list(*val[1]), val[1][1])
2699
+ result
2700
+ end
2701
+ .,.,
2702
+
2703
+ module_eval(<<'.,.,', 'cast.y', 328)
2704
+ def _reduce_165(val, _values, result)
2705
+ result = Function.new_at(val[0].pos )
2706
+ result
2707
+ end
2708
+ .,.,
2709
+
2710
+ module_eval(<<'.,.,', 'cast.y', 334)
2711
+ def _reduce_166(val, _values, result)
2712
+ result = CustomType.new_at(val[0].pos, val[0].val)
2713
+ result
2714
+ end
2715
+ .,.,
2716
+
2717
+ module_eval(<<'.,.,', 'cast.y', 338)
2718
+ def _reduce_167(val, _values, result)
2719
+ result = val[0]
2720
+ result
2721
+ end
2722
+ .,.,
2723
+
2724
+ module_eval(<<'.,.,', 'cast.y', 339)
2725
+ def _reduce_168(val, _values, result)
2726
+ result = CompoundLiteral.new_at(val[0].pos, nil, val[1])
2727
+ result
2728
+ end
2729
+ .,.,
2730
+
2731
+ module_eval(<<'.,.,', 'cast.y', 340)
2732
+ def _reduce_169(val, _values, result)
2733
+ result = CompoundLiteral.new_at(val[0].pos, nil, val[1])
2734
+ result
2735
+ end
2736
+ .,.,
2737
+
2738
+ module_eval(<<'.,.,', 'cast.y', 344)
2739
+ def _reduce_170(val, _values, result)
2740
+ result = NodeArray[MemberInit.new_at(val[0][0] , val[0][1], val[1])]
2741
+ result
2742
+ end
2743
+ .,.,
2744
+
2745
+ module_eval(<<'.,.,', 'cast.y', 345)
2746
+ def _reduce_171(val, _values, result)
2747
+ result = NodeArray[MemberInit.new_at(val[0].pos, nil , val[0])]
2748
+ result
2749
+ end
2750
+ .,.,
2751
+
2752
+ module_eval(<<'.,.,', 'cast.y', 346)
2753
+ def _reduce_172(val, _values, result)
2754
+ result = val[0] << MemberInit.new_at(val[2][0] , val[2][1], val[3])
2755
+ result
2756
+ end
2757
+ .,.,
2758
+
2759
+ module_eval(<<'.,.,', 'cast.y', 347)
2760
+ def _reduce_173(val, _values, result)
2761
+ result = val[0] << MemberInit.new_at(val[2].pos, nil , val[2])
2762
+ result
2763
+ end
2764
+ .,.,
2765
+
2766
+ module_eval(<<'.,.,', 'cast.y', 351)
2767
+ def _reduce_174(val, _values, result)
2768
+ result = val[0]
2769
+ result
2770
+ end
2771
+ .,.,
2772
+
2773
+ module_eval(<<'.,.,', 'cast.y', 355)
2774
+ def _reduce_175(val, _values, result)
2775
+ result = val[0]; val[0][1] = NodeArray[val[0][1]]
2776
+ result
2777
+ end
2778
+ .,.,
2779
+
2780
+ module_eval(<<'.,.,', 'cast.y', 356)
2781
+ def _reduce_176(val, _values, result)
2782
+ result = val[0]; val[0][1] << val[1][1]
2783
+ result
2784
+ end
2785
+ .,.,
2786
+
2787
+ module_eval(<<'.,.,', 'cast.y', 360)
2788
+ def _reduce_177(val, _values, result)
2789
+ result = [val[1].pos, val[1] ]
2790
+ result
2791
+ end
2792
+ .,.,
2793
+
2794
+ module_eval(<<'.,.,', 'cast.y', 361)
2795
+ def _reduce_178(val, _values, result)
2796
+ result = [val[1].pos, Member.new_at(val[1].pos, val[1].val)]
2797
+ result
2798
+ end
2799
+ .,.,
2800
+
2801
+ module_eval(<<'.,.,', 'cast.y', 367)
2802
+ def _reduce_179(val, _values, result)
2803
+ result = Variable.new_at(val[0].pos, val[0].val)
2804
+ result
2805
+ end
2806
+ .,.,
2807
+
2808
+ module_eval(<<'.,.,', 'cast.y', 368)
2809
+ def _reduce_180(val, _values, result)
2810
+ result = val[0]
2811
+ result
2812
+ end
2813
+ .,.,
2814
+
2815
+ module_eval(<<'.,.,', 'cast.y', 369)
2816
+ def _reduce_181(val, _values, result)
2817
+ result = val[0]
2818
+ result
2819
+ end
2820
+ .,.,
2821
+
2822
+ module_eval(<<'.,.,', 'cast.y', 371)
2823
+ def _reduce_182(val, _values, result)
2824
+ result = val[1]
2825
+ result
2826
+ end
2827
+ .,.,
2828
+
2829
+ module_eval(<<'.,.,', 'cast.y', 372)
2830
+ def _reduce_183(val, _values, result)
2831
+ block_expressions_enabled? or parse_error val[0].pos, "compound statement found where expression expected"
2832
+ result = BlockExpression.new(val[1]); result.pos = val[0].pos
2833
+ result
2834
+ end
2835
+ .,.,
2836
+
2837
+ module_eval(<<'.,.,', 'cast.y', 377)
2838
+ def _reduce_184(val, _values, result)
2839
+ result = val[0]
2840
+ result
2841
+ end
2842
+ .,.,
2843
+
2844
+ module_eval(<<'.,.,', 'cast.y', 378)
2845
+ def _reduce_185(val, _values, result)
2846
+ result = Index .new_at(val[0].pos, val[0], val[2])
2847
+ result
2848
+ end
2849
+ .,.,
2850
+
2851
+ module_eval(<<'.,.,', 'cast.y', 379)
2852
+ def _reduce_186(val, _values, result)
2853
+ result = Call .new_at(val[0].pos, val[0], val[2] )
2854
+ result
2855
+ end
2856
+ .,.,
2857
+
2858
+ module_eval(<<'.,.,', 'cast.y', 380)
2859
+ def _reduce_187(val, _values, result)
2860
+ result = Call .new_at(val[0].pos, val[0], NodeArray[])
2861
+ result
2862
+ end
2863
+ .,.,
2864
+
2865
+ module_eval(<<'.,.,', 'cast.y', 381)
2866
+ def _reduce_188(val, _values, result)
2867
+ result = Dot .new_at(val[0].pos, val[0], Member.new(val[2].val))
2868
+ result
2869
+ end
2870
+ .,.,
2871
+
2872
+ module_eval(<<'.,.,', 'cast.y', 382)
2873
+ def _reduce_189(val, _values, result)
2874
+ result = Arrow .new_at(val[0].pos, val[0], Member.new(val[2].val))
2875
+ result
2876
+ end
2877
+ .,.,
2878
+
2879
+ module_eval(<<'.,.,', 'cast.y', 383)
2880
+ def _reduce_190(val, _values, result)
2881
+ result = PostInc .new_at(val[0].pos, val[0] )
2882
+ result
2883
+ end
2884
+ .,.,
2885
+
2886
+ module_eval(<<'.,.,', 'cast.y', 384)
2887
+ def _reduce_191(val, _values, result)
2888
+ result = PostDec .new_at(val[0].pos, val[0] )
2889
+ result
2890
+ end
2891
+ .,.,
2892
+
2893
+ module_eval(<<'.,.,', 'cast.y', 385)
2894
+ def _reduce_192(val, _values, result)
2895
+ result = CompoundLiteral.new_at(val[0].pos, val[1], val[4])
2896
+ result
2897
+ end
2898
+ .,.,
2899
+
2900
+ module_eval(<<'.,.,', 'cast.y', 386)
2901
+ def _reduce_193(val, _values, result)
2902
+ result = CompoundLiteral.new_at(val[0].pos, val[1], val[4])
2903
+ result
2904
+ end
2905
+ .,.,
2906
+
2907
+ module_eval(<<'.,.,', 'cast.y', 390)
2908
+ def _reduce_194(val, _values, result)
2909
+ result = NodeArray[val[0]]
2910
+ result
2911
+ end
2912
+ .,.,
2913
+
2914
+ module_eval(<<'.,.,', 'cast.y', 391)
2915
+ def _reduce_195(val, _values, result)
2916
+ result = val[0] << val[2]
2917
+ result
2918
+ end
2919
+ .,.,
2920
+
2921
+ module_eval(<<'.,.,', 'cast.y', 395)
2922
+ def _reduce_196(val, _values, result)
2923
+ result = val[0]
2924
+ result
2925
+ end
2926
+ .,.,
2927
+
2928
+ module_eval(<<'.,.,', 'cast.y', 396)
2929
+ def _reduce_197(val, _values, result)
2930
+ result = val[0]
2931
+ result
2932
+ end
2933
+ .,.,
2934
+
2935
+ module_eval(<<'.,.,', 'cast.y', 400)
2936
+ def _reduce_198(val, _values, result)
2937
+ result = val[0]
2938
+ result
2939
+ end
2940
+ .,.,
2941
+
2942
+ module_eval(<<'.,.,', 'cast.y', 401)
2943
+ def _reduce_199(val, _values, result)
2944
+ result = PreInc.new_at(val[0].pos, val[1])
2945
+ result
2946
+ end
2947
+ .,.,
2948
+
2949
+ module_eval(<<'.,.,', 'cast.y', 402)
2950
+ def _reduce_200(val, _values, result)
2951
+ result = PreDec.new_at(val[0].pos, val[1])
2952
+ result
2953
+ end
2954
+ .,.,
2955
+
2956
+ module_eval(<<'.,.,', 'cast.y', 403)
2957
+ def _reduce_201(val, _values, result)
2958
+ result = val[0][0].new_at(val[0][1], val[1])
2959
+ result
2960
+ end
2961
+ .,.,
2962
+
2963
+ module_eval(<<'.,.,', 'cast.y', 404)
2964
+ def _reduce_202(val, _values, result)
2965
+ result = Sizeof.new_at(val[0].pos, val[1])
2966
+ result
2967
+ end
2968
+ .,.,
2969
+
2970
+ module_eval(<<'.,.,', 'cast.y', 405)
2971
+ def _reduce_203(val, _values, result)
2972
+ result = Sizeof.new_at(val[0].pos, val[2])
2973
+ result
2974
+ end
2975
+ .,.,
2976
+
2977
+ module_eval(<<'.,.,', 'cast.y', 409)
2978
+ def _reduce_204(val, _values, result)
2979
+ result = [Address , val[0].pos]
2980
+ result
2981
+ end
2982
+ .,.,
2983
+
2984
+ module_eval(<<'.,.,', 'cast.y', 410)
2985
+ def _reduce_205(val, _values, result)
2986
+ result = [Dereference, val[0].pos]
2987
+ result
2988
+ end
2989
+ .,.,
2990
+
2991
+ module_eval(<<'.,.,', 'cast.y', 411)
2992
+ def _reduce_206(val, _values, result)
2993
+ result = [Positive , val[0].pos]
2994
+ result
2995
+ end
2996
+ .,.,
2997
+
2998
+ module_eval(<<'.,.,', 'cast.y', 412)
2999
+ def _reduce_207(val, _values, result)
3000
+ result = [Negative , val[0].pos]
3001
+ result
3002
+ end
3003
+ .,.,
3004
+
3005
+ module_eval(<<'.,.,', 'cast.y', 413)
3006
+ def _reduce_208(val, _values, result)
3007
+ result = [BitNot , val[0].pos]
3008
+ result
3009
+ end
3010
+ .,.,
3011
+
3012
+ module_eval(<<'.,.,', 'cast.y', 414)
3013
+ def _reduce_209(val, _values, result)
3014
+ result = [Not , val[0].pos]
3015
+ result
3016
+ end
3017
+ .,.,
3018
+
3019
+ module_eval(<<'.,.,', 'cast.y', 418)
3020
+ def _reduce_210(val, _values, result)
3021
+ result = val[0]
3022
+ result
3023
+ end
3024
+ .,.,
3025
+
3026
+ module_eval(<<'.,.,', 'cast.y', 419)
3027
+ def _reduce_211(val, _values, result)
3028
+ result = Cast.new_at(val[0].pos, val[1], val[3])
3029
+ result
3030
+ end
3031
+ .,.,
3032
+
3033
+ module_eval(<<'.,.,', 'cast.y', 423)
3034
+ def _reduce_212(val, _values, result)
3035
+ result = val[0]
3036
+ result
3037
+ end
3038
+ .,.,
3039
+
3040
+ module_eval(<<'.,.,', 'cast.y', 424)
3041
+ def _reduce_213(val, _values, result)
3042
+ result = Multiply.new_at(val[0].pos, val[0], val[2])
3043
+ result
3044
+ end
3045
+ .,.,
3046
+
3047
+ module_eval(<<'.,.,', 'cast.y', 425)
3048
+ def _reduce_214(val, _values, result)
3049
+ result = Divide .new_at(val[0].pos, val[0], val[2])
3050
+ result
3051
+ end
3052
+ .,.,
3053
+
3054
+ module_eval(<<'.,.,', 'cast.y', 426)
3055
+ def _reduce_215(val, _values, result)
3056
+ result = Mod .new_at(val[0].pos, val[0], val[2])
3057
+ result
3058
+ end
3059
+ .,.,
3060
+
3061
+ module_eval(<<'.,.,', 'cast.y', 430)
3062
+ def _reduce_216(val, _values, result)
3063
+ result = val[0]
3064
+ result
3065
+ end
3066
+ .,.,
3067
+
3068
+ module_eval(<<'.,.,', 'cast.y', 431)
3069
+ def _reduce_217(val, _values, result)
3070
+ result = Add .new_at(val[0].pos, val[0], val[2])
3071
+ result
3072
+ end
3073
+ .,.,
3074
+
3075
+ module_eval(<<'.,.,', 'cast.y', 432)
3076
+ def _reduce_218(val, _values, result)
3077
+ result = Subtract.new_at(val[0].pos, val[0], val[2])
3078
+ result
3079
+ end
3080
+ .,.,
3081
+
3082
+ module_eval(<<'.,.,', 'cast.y', 436)
3083
+ def _reduce_219(val, _values, result)
3084
+ result = val[0]
3085
+ result
3086
+ end
3087
+ .,.,
3088
+
3089
+ module_eval(<<'.,.,', 'cast.y', 437)
3090
+ def _reduce_220(val, _values, result)
3091
+ result = ShiftLeft .new_at(val[0].pos, val[0], val[2])
3092
+ result
3093
+ end
3094
+ .,.,
3095
+
3096
+ module_eval(<<'.,.,', 'cast.y', 438)
3097
+ def _reduce_221(val, _values, result)
3098
+ result = ShiftRight.new_at(val[0].pos, val[0], val[2])
3099
+ result
3100
+ end
3101
+ .,.,
3102
+
3103
+ module_eval(<<'.,.,', 'cast.y', 442)
3104
+ def _reduce_222(val, _values, result)
3105
+ result = val[0]
3106
+ result
3107
+ end
3108
+ .,.,
3109
+
3110
+ module_eval(<<'.,.,', 'cast.y', 443)
3111
+ def _reduce_223(val, _values, result)
3112
+ result = Less.new_at(val[0].pos, val[0], val[2])
3113
+ result
3114
+ end
3115
+ .,.,
3116
+
3117
+ module_eval(<<'.,.,', 'cast.y', 444)
3118
+ def _reduce_224(val, _values, result)
3119
+ result = More.new_at(val[0].pos, val[0], val[2])
3120
+ result
3121
+ end
3122
+ .,.,
3123
+
3124
+ module_eval(<<'.,.,', 'cast.y', 445)
3125
+ def _reduce_225(val, _values, result)
3126
+ result = LessOrEqual.new_at(val[0].pos, val[0], val[2])
3127
+ result
3128
+ end
3129
+ .,.,
3130
+
3131
+ module_eval(<<'.,.,', 'cast.y', 446)
3132
+ def _reduce_226(val, _values, result)
3133
+ result = MoreOrEqual.new_at(val[0].pos, val[0], val[2])
3134
+ result
3135
+ end
3136
+ .,.,
3137
+
3138
+ module_eval(<<'.,.,', 'cast.y', 450)
3139
+ def _reduce_227(val, _values, result)
3140
+ result = val[0]
3141
+ result
3142
+ end
3143
+ .,.,
3144
+
3145
+ module_eval(<<'.,.,', 'cast.y', 451)
3146
+ def _reduce_228(val, _values, result)
3147
+ result = Equal .new_at(val[0].pos, val[0], val[2])
3148
+ result
3149
+ end
3150
+ .,.,
3151
+
3152
+ module_eval(<<'.,.,', 'cast.y', 452)
3153
+ def _reduce_229(val, _values, result)
3154
+ result = NotEqual.new_at(val[0].pos, val[0], val[2])
3155
+ result
3156
+ end
3157
+ .,.,
3158
+
3159
+ module_eval(<<'.,.,', 'cast.y', 456)
3160
+ def _reduce_230(val, _values, result)
3161
+ result = val[0]
3162
+ result
3163
+ end
3164
+ .,.,
3165
+
3166
+ module_eval(<<'.,.,', 'cast.y', 457)
3167
+ def _reduce_231(val, _values, result)
3168
+ result = BitAnd.new_at(val[0].pos, val[0], val[2])
3169
+ result
3170
+ end
3171
+ .,.,
3172
+
3173
+ module_eval(<<'.,.,', 'cast.y', 461)
3174
+ def _reduce_232(val, _values, result)
3175
+ result = val[0]
3176
+ result
3177
+ end
3178
+ .,.,
3179
+
3180
+ module_eval(<<'.,.,', 'cast.y', 462)
3181
+ def _reduce_233(val, _values, result)
3182
+ result = BitXor.new_at(val[0].pos, val[0], val[2])
3183
+ result
3184
+ end
3185
+ .,.,
3186
+
3187
+ module_eval(<<'.,.,', 'cast.y', 466)
3188
+ def _reduce_234(val, _values, result)
3189
+ result = val[0]
3190
+ result
3191
+ end
3192
+ .,.,
3193
+
3194
+ module_eval(<<'.,.,', 'cast.y', 467)
3195
+ def _reduce_235(val, _values, result)
3196
+ result = BitOr.new_at(val[0].pos, val[0], val[2])
3197
+ result
3198
+ end
3199
+ .,.,
3200
+
3201
+ module_eval(<<'.,.,', 'cast.y', 471)
3202
+ def _reduce_236(val, _values, result)
3203
+ result = val[0]
3204
+ result
3205
+ end
3206
+ .,.,
3207
+
3208
+ module_eval(<<'.,.,', 'cast.y', 472)
3209
+ def _reduce_237(val, _values, result)
3210
+ result = And.new_at(val[0].pos, val[0], val[2])
3211
+ result
3212
+ end
3213
+ .,.,
3214
+
3215
+ module_eval(<<'.,.,', 'cast.y', 476)
3216
+ def _reduce_238(val, _values, result)
3217
+ result = val[0]
3218
+ result
3219
+ end
3220
+ .,.,
3221
+
3222
+ module_eval(<<'.,.,', 'cast.y', 477)
3223
+ def _reduce_239(val, _values, result)
3224
+ result = Or.new_at(val[0].pos, val[0], val[2])
3225
+ result
3226
+ end
3227
+ .,.,
3228
+
3229
+ module_eval(<<'.,.,', 'cast.y', 481)
3230
+ def _reduce_240(val, _values, result)
3231
+ result = val[0]
3232
+ result
3233
+ end
3234
+ .,.,
3235
+
3236
+ module_eval(<<'.,.,', 'cast.y', 482)
3237
+ def _reduce_241(val, _values, result)
3238
+ result = Conditional.new_at(val[0].pos, val[0], val[2], val[4])
3239
+ result
3240
+ end
3241
+ .,.,
3242
+
3243
+ module_eval(<<'.,.,', 'cast.y', 486)
3244
+ def _reduce_242(val, _values, result)
3245
+ result = val[0]
3246
+ result
3247
+ end
3248
+ .,.,
3249
+
3250
+ module_eval(<<'.,.,', 'cast.y', 487)
3251
+ def _reduce_243(val, _values, result)
3252
+ result = val[1].new_at(val[0].pos, val[0], val[2])
3253
+ result
3254
+ end
3255
+ .,.,
3256
+
3257
+ module_eval(<<'.,.,', 'cast.y', 491)
3258
+ def _reduce_244(val, _values, result)
3259
+ result = Assign
3260
+ result
3261
+ end
3262
+ .,.,
3263
+
3264
+ module_eval(<<'.,.,', 'cast.y', 492)
3265
+ def _reduce_245(val, _values, result)
3266
+ result = MultiplyAssign
3267
+ result
3268
+ end
3269
+ .,.,
3270
+
3271
+ module_eval(<<'.,.,', 'cast.y', 493)
3272
+ def _reduce_246(val, _values, result)
3273
+ result = DivideAssign
3274
+ result
3275
+ end
3276
+ .,.,
3277
+
3278
+ module_eval(<<'.,.,', 'cast.y', 494)
3279
+ def _reduce_247(val, _values, result)
3280
+ result = ModAssign
3281
+ result
3282
+ end
3283
+ .,.,
3284
+
3285
+ module_eval(<<'.,.,', 'cast.y', 495)
3286
+ def _reduce_248(val, _values, result)
3287
+ result = AddAssign
3288
+ result
3289
+ end
3290
+ .,.,
3291
+
3292
+ module_eval(<<'.,.,', 'cast.y', 496)
3293
+ def _reduce_249(val, _values, result)
3294
+ result = SubtractAssign
3295
+ result
3296
+ end
3297
+ .,.,
3298
+
3299
+ module_eval(<<'.,.,', 'cast.y', 497)
3300
+ def _reduce_250(val, _values, result)
3301
+ result = ShiftLeftAssign
3302
+ result
3303
+ end
3304
+ .,.,
3305
+
3306
+ module_eval(<<'.,.,', 'cast.y', 498)
3307
+ def _reduce_251(val, _values, result)
3308
+ result = ShiftRightAssign
3309
+ result
3310
+ end
3311
+ .,.,
3312
+
3313
+ module_eval(<<'.,.,', 'cast.y', 499)
3314
+ def _reduce_252(val, _values, result)
3315
+ result = BitAndAssign
3316
+ result
3317
+ end
3318
+ .,.,
3319
+
3320
+ module_eval(<<'.,.,', 'cast.y', 500)
3321
+ def _reduce_253(val, _values, result)
3322
+ result = BitXorAssign
3323
+ result
3324
+ end
3325
+ .,.,
3326
+
3327
+ module_eval(<<'.,.,', 'cast.y', 501)
3328
+ def _reduce_254(val, _values, result)
3329
+ result = BitOrAssign
3330
+ result
3331
+ end
3332
+ .,.,
3333
+
3334
+ module_eval(<<'.,.,', 'cast.y', 505)
3335
+ def _reduce_255(val, _values, result)
3336
+ result = val[0]
3337
+ result
3338
+ end
3339
+ .,.,
3340
+
3341
+ module_eval(<<'.,.,', 'cast.y', 507)
3342
+ def _reduce_256(val, _values, result)
3343
+ if val[0].is_a? Comma
3344
+ if val[2].is_a? Comma
3345
+ val[0].exprs.push(*val[2].exprs)
3346
+ else
3347
+ val[0].exprs << val[2]
3348
+ end
3349
+ result = val[0]
3350
+ else
3351
+ if val[2].is_a? Comma
3352
+ val[2].exprs.unshift(val[0])
3353
+ val[2].pos = val[0].pos
3354
+ result = val[2]
3355
+ else
3356
+ result = Comma.new_at(val[0].pos, NodeArray[val[0], val[2]])
3357
+ end
3358
+ end
3359
+
3360
+ result
3361
+ end
3362
+ .,.,
3363
+
3364
+ module_eval(<<'.,.,', 'cast.y', 527)
3365
+ def _reduce_257(val, _values, result)
3366
+ result = val[0]
3367
+ result
3368
+ end
3369
+ .,.,
3370
+
3371
+ module_eval(<<'.,.,', 'cast.y', 542)
3372
+ def _reduce_258(val, _values, result)
3373
+ result = val[0]
3374
+ result
3375
+ end
3376
+ .,.,
3377
+
3378
+ module_eval(<<'.,.,', 'cast.y', 546)
3379
+ def _reduce_259(val, _values, result)
3380
+ result = val[0].val; result.pos = val[0].pos
3381
+ result
3382
+ end
3383
+ .,.,
3384
+
3385
+ module_eval(<<'.,.,', 'cast.y', 547)
3386
+ def _reduce_260(val, _values, result)
3387
+ result = val[0].val; result.pos = val[0].pos
3388
+ result
3389
+ end
3390
+ .,.,
3391
+
3392
+ module_eval(<<'.,.,', 'cast.y', 550)
3393
+ def _reduce_261(val, _values, result)
3394
+ result = val[0].val; result.pos = val[0].pos
3395
+ result
3396
+ end
3397
+ .,.,
3398
+
3399
+ module_eval(<<'.,.,', 'cast.y', 554)
3400
+ def _reduce_262(val, _values, result)
3401
+ result = val[0]
3402
+ result
3403
+ end
3404
+ .,.,
3405
+
3406
+ module_eval(<<'.,.,', 'cast.y', 559)
3407
+ def _reduce_263(val, _values, result)
3408
+ val[0].val << val[1].val.val; result = val[0]
3409
+ result
3410
+ end
3411
+ .,.,
3412
+
3413
+ module_eval(<<'.,.,', 'cast.y', 560)
3414
+ def _reduce_264(val, _values, result)
3415
+ result = val[0].val; result.pos = val[0].pos
3416
+ result
3417
+ end
3418
+ .,.,
3419
+
3420
+ def _reduce_none(val, _values, result)
3421
+ val[0]
3422
+ end
3423
+
3424
+ end # class Parser
3425
+ end # module C