racc 1.4.13 → 1.5.1

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