cast 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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