cast 0.0.1

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