racc 1.4.14 → 1.4.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) 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/info.rb +2 -2
  7. data/test/assets/bibtex.y +141 -0
  8. data/test/assets/cadenza.y +170 -0
  9. data/test/assets/cast.y +926 -0
  10. data/test/assets/csspool.y +729 -0
  11. data/test/assets/edtf.y +583 -0
  12. data/test/assets/huia.y +318 -0
  13. data/test/assets/journey.y +47 -0
  14. data/test/assets/liquor.y +313 -0
  15. data/test/assets/machete.y +423 -0
  16. data/test/assets/macruby.y +2197 -0
  17. data/test/assets/mediacloth.y +599 -0
  18. data/test/assets/mof.y +649 -0
  19. data/test/assets/namae.y +302 -0
  20. data/test/assets/nasl.y +626 -0
  21. data/test/assets/nokogiri-css.y +255 -0
  22. data/test/assets/opal.y +1807 -0
  23. data/test/assets/php_serialization.y +98 -0
  24. data/test/assets/rdblockparser.y +576 -0
  25. data/test/assets/rdinlineparser.y +561 -0
  26. data/test/assets/riml.y +665 -0
  27. data/test/assets/ruby18.y +1943 -0
  28. data/test/assets/ruby19.y +2174 -0
  29. data/test/assets/ruby20.y +2350 -0
  30. data/test/assets/ruby21.y +2359 -0
  31. data/test/assets/ruby22.y +2381 -0
  32. data/test/assets/tp_plus.y +622 -0
  33. data/test/assets/twowaysql.y +278 -0
  34. data/test/helper.rb +31 -15
  35. data/test/regress/bibtex +474 -0
  36. data/test/regress/cadenza +796 -0
  37. data/test/regress/cast +3425 -0
  38. data/test/regress/csspool +2318 -0
  39. data/test/regress/edtf +1794 -0
  40. data/test/regress/huia +1392 -0
  41. data/test/regress/journey +222 -0
  42. data/test/regress/liquor +885 -0
  43. data/test/regress/machete +833 -0
  44. data/test/regress/mediacloth +1463 -0
  45. data/test/regress/mof +1368 -0
  46. data/test/regress/namae +634 -0
  47. data/test/regress/nasl +2058 -0
  48. data/test/regress/nokogiri-css +836 -0
  49. data/test/regress/opal +6429 -0
  50. data/test/regress/php_serialization +336 -0
  51. data/test/regress/rdblockparser +1061 -0
  52. data/test/regress/rdinlineparser +1243 -0
  53. data/test/regress/riml +3297 -0
  54. data/test/regress/ruby18 +6351 -0
  55. data/test/regress/ruby22 +7456 -0
  56. data/test/regress/tp_plus +1933 -0
  57. data/test/regress/twowaysql +556 -0
  58. data/test/test_racc_command.rb +177 -0
  59. metadata +75 -20
@@ -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