adlint 3.0.8 → 3.0.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. data/ChangeLog +295 -0
  2. data/MANIFEST +9 -0
  3. data/NEWS +25 -4
  4. data/etc/mesg.d/c_builtin/en_US/messages.yml +1 -1
  5. data/etc/mesg.d/c_builtin/ja_JP/messages.yml +1 -1
  6. data/etc/mesg.d/core/en_US/messages.yml +1 -1
  7. data/etc/mesg.d/core/ja_JP/messages.yml +1 -1
  8. data/features/code_check/E0008.feature +20 -0
  9. data/features/code_check/W0093.feature +1 -1
  10. data/features/code_check/W0097.feature +30 -0
  11. data/features/code_check/W0100.feature +66 -0
  12. data/features/code_check/W0422.feature +157 -0
  13. data/features/code_check/W0459.feature +118 -0
  14. data/features/code_check/W0461.feature +115 -0
  15. data/features/code_check/W0610.feature +59 -0
  16. data/features/code_check/W0612.feature +29 -0
  17. data/features/code_check/W0613.feature +33 -0
  18. data/features/code_check/W0704.feature +25 -0
  19. data/features/code_check/W0705.feature +33 -0
  20. data/features/code_check/W1050.feature +43 -0
  21. data/features/code_check/W1071.feature +30 -0
  22. data/features/code_check/W9001.feature +24 -0
  23. data/lib/adlint/cc1/branch.rb +32 -9
  24. data/lib/adlint/cc1/builtin.rb +2 -2
  25. data/lib/adlint/cc1/conv.rb +33 -33
  26. data/lib/adlint/cc1/ctrlexpr.rb +30 -30
  27. data/lib/adlint/cc1/domain.rb +12 -4
  28. data/lib/adlint/cc1/environ.rb +2 -1
  29. data/lib/adlint/cc1/expr.rb +135 -125
  30. data/lib/adlint/cc1/format.rb +3 -3
  31. data/lib/adlint/cc1/interp.rb +123 -109
  32. data/lib/adlint/cc1/lexer.rb +44 -40
  33. data/lib/adlint/cc1/mediator.rb +2 -2
  34. data/lib/adlint/cc1/object.rb +121 -36
  35. data/lib/adlint/cc1/option.rb +1 -0
  36. data/lib/adlint/cc1/parser.rb +874 -845
  37. data/lib/adlint/cc1/parser.y +22 -2
  38. data/lib/adlint/cc1/syntax.rb +37 -18
  39. data/lib/adlint/cc1/type.rb +3 -3
  40. data/lib/adlint/cc1/value.rb +58 -50
  41. data/lib/adlint/cpp/lexer.rb +5 -1
  42. data/lib/adlint/cpp/macro.rb +30 -30
  43. data/lib/adlint/cpp/subst.rb +4 -4
  44. data/lib/adlint/exam/c_builtin/cc1_check.rb +172 -172
  45. data/lib/adlint/exam/c_builtin/cc1_check_shima.rb +11 -11
  46. data/lib/adlint/exam/c_builtin/cpp_check.rb +2 -2
  47. data/lib/adlint/memo.rb +13 -13
  48. data/lib/adlint/prelude.rb +2 -2
  49. data/lib/adlint/version.rb +2 -2
  50. data/share/doc/developers_guide_ja.html +7 -5
  51. data/share/doc/developers_guide_ja.texi +5 -3
  52. data/share/doc/users_guide_en.html +3 -3
  53. data/share/doc/users_guide_en.texi +1 -1
  54. data/share/doc/users_guide_ja.html +3 -3
  55. data/share/doc/users_guide_ja.texi +1 -1
  56. metadata +11 -2
@@ -42,8 +42,7 @@ module Cc1 #:nodoc:
42
42
  super(pp_src.pp_tokens)
43
43
  @lst_tok = nil
44
44
  @nxt_tok = nil
45
- @typedef_names = ScopedNameSet.new
46
- @object_names = ScopedNameSet.new
45
+ @ordinary_identifiers = OrdinaryIdentifiers.new
47
46
  @identifier_translation = true
48
47
  end
49
48
 
@@ -51,23 +50,13 @@ module Cc1 #:nodoc:
51
50
 
52
51
  def_plugin :on_string_literals_concatenated
53
52
 
54
- def add_typedef_name(tok)
55
- @typedef_names.add(tok.value)
56
- end
53
+ extend Forwardable
57
54
 
58
- def add_object_name(tok)
59
- @object_names.add(tok.value)
60
- end
61
-
62
- def enter_scope
63
- @typedef_names.enter_scope
64
- @object_names.enter_scope
65
- end
66
-
67
- def leave_scope
68
- @typedef_names.leave_scope
69
- @object_names.leave_scope
70
- end
55
+ def_delegator :@ordinary_identifiers, :add_typedef_name
56
+ def_delegator :@ordinary_identifiers, :add_object_name
57
+ def_delegator :@ordinary_identifiers, :add_enumerator_name
58
+ def_delegator :@ordinary_identifiers, :enter_scope
59
+ def_delegator :@ordinary_identifiers, :leave_scope
71
60
 
72
61
  def enable_identifier_translation
73
62
  @identifier_translation = true
@@ -142,12 +131,12 @@ module Cc1 #:nodoc:
142
131
 
143
132
  if @identifier_translation
144
133
  if tok.type == :IDENTIFIER
145
- return tok if @object_names.include?(tok.value)
146
- if @typedef_names.include?(tok.value)
134
+ id_type = @ordinary_identifiers.find(tok.value)
135
+ if id_type == :typedef
147
136
  unless @lst_tok and
148
137
  @lst_tok.type == :STRUCT || @lst_tok.type == :UNION ||
149
- @lst_tok.type == :ENUM ||
150
- @lst_tok.type == "->" || @lst_tok.type == "."
138
+ @lst_tok.type == :ENUM ||
139
+ @lst_tok.type == "->" || @lst_tok.type == "."
151
140
  tok = tok.class.new(:TYPEDEF_NAME, tok.value, tok.location)
152
141
  end
153
142
  end
@@ -160,11 +149,11 @@ module Cc1 #:nodoc:
160
149
  until lexer_ctxt.content.empty?
161
150
  nxt_tok = tokenize(lexer_ctxt)
162
151
  if nxt_tok.type == :STRING_LITERAL
163
- res_tok = tok.class.new(tok.type, tok.value.sub(/"\z/, "") +
164
- nxt_tok.value.sub(/\AL?"/, ""),
165
- tok.location)
166
- notify_string_literals_concatenated(tok, nxt_tok, res_tok)
167
- return res_tok
152
+ rslt_tok = tok.class.new(tok.type, tok.value.sub(/"\z/, "") +
153
+ nxt_tok.value.sub(/\AL?"/, ""),
154
+ tok.location)
155
+ notify_string_literals_concatenated(tok, nxt_tok, rslt_tok)
156
+ return rslt_tok
168
157
  else
169
158
  @nxt_tok = nxt_tok
170
159
  break
@@ -233,33 +222,48 @@ module Cc1 #:nodoc:
233
222
  end
234
223
  end
235
224
 
236
- def notify_string_literals_concatenated(former, latter, res_tok)
237
- on_string_literals_concatenated.invoke(former, latter, res_tok)
225
+ def notify_string_literals_concatenated(former, latter, rslt_tok)
226
+ on_string_literals_concatenated.invoke(former, latter, rslt_tok)
238
227
  end
239
228
  end
240
229
 
241
- class ScopedNameSet
230
+ class OrdinaryIdentifiers
242
231
  def initialize
243
- @name_stack = [Set.new]
244
- @scope_stack = [GlobalScope.new]
232
+ @id_stack = [[]]
245
233
  end
246
234
 
247
235
  def enter_scope
248
- @name_stack.push(Set.new)
249
- @scope_stack.push(Scope.new(@scope_stack.size))
236
+ @id_stack.unshift([])
250
237
  end
251
238
 
252
239
  def leave_scope
253
- @name_stack.pop
254
- @scope_stack.pop
240
+ @id_stack.shift
255
241
  end
256
242
 
257
- def add(name)
258
- @name_stack.last.add(name)
243
+ def add_typedef_name(tok)
244
+ add(tok.value, :typedef)
259
245
  end
260
246
 
261
- def include?(name)
262
- @name_stack.any? { |set| set.include?(name) }
247
+ def add_object_name(tok)
248
+ add(tok.value, :object)
249
+ end
250
+
251
+ def add_enumerator_name(tok)
252
+ add(tok.value, :enumerator)
253
+ end
254
+
255
+ def find(id_str)
256
+ @id_stack.each do |id_ary|
257
+ if pair = id_ary.assoc(id_str)
258
+ return pair.last
259
+ end
260
+ end
261
+ nil
262
+ end
263
+
264
+ private
265
+ def add(id_str, tag)
266
+ @id_stack.first.unshift([id_str, tag])
263
267
  end
264
268
  end
265
269
 
@@ -75,8 +75,8 @@ module Cc1 #:nodoc:
75
75
  # mem = memory_at(addr) ? mem.binding.object : nil
76
76
  # }.compact
77
77
 
78
- ptr.value.to_enum.each do |addr|
79
- if mem = memory_at(addr)
78
+ if ptr.value.definite?
79
+ if addr = ptr.value.to_enum.first and mem = memory_at(addr)
80
80
  obj = mem.binding.object
81
81
  if obj.variable? or
82
82
  obj.function? && ptr.type.unqualify.base_type.function?
@@ -257,13 +257,23 @@ module Cc1 #:nodoc:
257
257
 
258
258
  def narrow_value_domain!(op, val)
259
259
  assign!(type.arbitrary_value) unless self.value
260
+
260
261
  self.value.narrow_domain!(op, val.coerce_to(type))
262
+ # NOTE: Write via memory to correctly propagate inner variable's
263
+ # mutation to its outer variable.
264
+ binding.memory._cascade_update
265
+
261
266
  self.value.exist?
262
267
  end
263
268
 
264
269
  def widen_value_domain!(op, val)
265
270
  assign!(type.nil_value) unless self.value
271
+
266
272
  self.value.widen_domain!(op, val.coerce_to(type))
273
+ # NOTE: Write via memory to correctly propagate inner variable's
274
+ # mutation to its outer variable.
275
+ binding.memory._cascade_update
276
+
267
277
  self.value.exist?
268
278
  end
269
279
 
@@ -328,60 +338,93 @@ module Cc1 #:nodoc:
328
338
  super(mem, dcl_or_def, type, scope)
329
339
  # TODO: If too slow, make an index of inner variables.
330
340
  @inner_variables = create_inner_variables(type.unqualify, scope)
341
+ @representative_element = create_representative_element(type.unqualify)
331
342
  end
332
343
 
333
- def enter_value_versioning_group
344
+ attr_reader :representative_element
345
+
346
+ def assign!(val)
334
347
  super
348
+ if @representative_element
349
+ repr_type = @representative_element.type
350
+ if val.undefined?
351
+ @representative_element.assign!(repr_type.undefined_value)
352
+ else
353
+ @representative_element.assign!(repr_type.arbitrary_value)
354
+ end
355
+ end
356
+ end
357
+
358
+ def enter_value_versioning_group
335
359
  if @inner_variables
336
360
  @inner_variables.each do |inner|
337
361
  inner.enter_value_versioning_group
338
362
  end
339
363
  end
364
+ super
365
+ if @representative_element
366
+ @representative_element.enter_value_versioning_group
367
+ end
340
368
  end
341
369
 
342
370
  def leave_value_versioning_group(raise_complement)
343
- super
344
371
  if @inner_variables
345
372
  @inner_variables.each do |inner|
346
373
  inner.leave_value_versioning_group(raise_complement)
347
374
  end
348
375
  end
376
+ super
377
+ if @representative_element
378
+ @representative_element.leave_value_versioning_group(raise_complement)
379
+ end
349
380
  end
350
381
 
351
382
  def begin_value_versioning
352
- super
353
383
  if @inner_variables
354
384
  @inner_variables.each do |inner|
355
385
  inner.begin_value_versioning
356
386
  end
357
387
  end
388
+ super
389
+ if @representative_element
390
+ @representative_element.begin_value_versioning
391
+ end
358
392
  end
359
393
 
360
394
  def end_value_versioning
361
- super
362
395
  if @inner_variables
363
396
  @inner_variables.each do |inner|
364
397
  inner.end_value_versioning
365
398
  end
366
399
  end
400
+ super
401
+ if @representative_element
402
+ @representative_element.end_value_versioning
403
+ end
367
404
  end
368
405
 
369
- def rollback_latest_value_version!
370
- super
406
+ def thin_latest_value_version!(with_rollback)
371
407
  if @inner_variables
372
408
  @inner_variables.each do |inner|
373
- inner.rollback_latest_value_version!
409
+ inner.thin_latest_value_version!(with_rollback)
374
410
  end
375
411
  end
412
+ super
413
+ if @representative_element
414
+ @representative_element.thin_latest_value_version!(with_rollback)
415
+ end
376
416
  end
377
417
 
378
418
  def rollback_all_value_versions!
379
- super
380
419
  if @inner_variables
381
420
  @inner_variables.each do |inner|
382
421
  inner.rollback_all_value_versions!
383
422
  end
384
423
  end
424
+ super
425
+ if @representative_element
426
+ @representative_element.rollback_all_value_versions!
427
+ end
385
428
  end
386
429
 
387
430
  def inner?
@@ -439,6 +482,17 @@ module Cc1 #:nodoc:
439
482
  CompositeMemberVariable.new(win, self, memb.type, memb.name)
440
483
  end
441
484
  end
485
+
486
+ def create_representative_element(type)
487
+ if type.array?
488
+ mem = binding.memory.create_unmapped_window
489
+ ArrayElementVariable.new(mem, self, type.base_type, 0).tap do |var|
490
+ var.assign!(type.base_type.undefined_value)
491
+ end
492
+ else
493
+ nil
494
+ end
495
+ end
442
496
  end
443
497
 
444
498
  module Nameable
@@ -644,9 +698,9 @@ module Cc1 #:nodoc:
644
698
  end
645
699
 
646
700
  def define(dcl_or_def, init_val = nil)
647
- if storage_duration_of(dcl_or_def) == :static
648
- # NOTE: Value of the static duration object should be arbitrary because
649
- # execution of its accessors are out of order.
701
+ if storage_duration_of(dcl_or_def) == :static && !dcl_or_def.type.const?
702
+ # NOTE: Value of the inconstant static duration variable should be
703
+ # arbitrary because execution of its accessors are out of order.
650
704
  # So, a value of the initializer should be ignored.
651
705
  init_val = dcl_or_def.type.arbitrary_value
652
706
  else
@@ -656,7 +710,10 @@ module Cc1 #:nodoc:
656
710
  if var = lookup(dcl_or_def.identifier.value)
657
711
  if var.scope == current_scope
658
712
  var.declarations_and_definitions.push(dcl_or_def)
659
- var.assign!(init_val)
713
+ var.value.force_overwrite!(init_val.coerce_to(var.type))
714
+ if repr_elem = var.representative_element
715
+ repr_elem.value.force_overwrite!(repr_elem.type.arbitrary_value)
716
+ end
660
717
  return var
661
718
  end
662
719
  end
@@ -813,6 +870,8 @@ module Cc1 #:nodoc:
813
870
 
814
871
  def rollback_all_global_variables_value!
815
872
  @named_variables.first.each_value do |var|
873
+ # NOTE: Rollback effects recorded to global variables because execution
874
+ # of its accessors are out of order.
816
875
  var.rollback_all_value_versions!
817
876
  end
818
877
  end
@@ -1121,6 +1180,12 @@ module Cc1 #:nodoc:
1121
1180
  @value = VersionedValue.new(val)
1122
1181
  end
1123
1182
  end
1183
+
1184
+ def _cascade_update
1185
+ # NOTE: This method will be called only from # #narrow_value_domain! and
1186
+ # #widen_value_domain! of Variable to propagate memory mutation to
1187
+ # the upper MemoryBlock from MemoryWindow.
1188
+ end
1124
1189
  end
1125
1190
 
1126
1191
  class MemoryBlock < Memory
@@ -1132,19 +1197,24 @@ module Cc1 #:nodoc:
1132
1197
  attr_reader :windows
1133
1198
 
1134
1199
  def create_window(offset, byte_size)
1135
- win = MemoryWindow.new(self, @address + offset, byte_size)
1136
- win.on_written += method(:handle_written_through_window)
1137
- @windows.push(win)
1138
- win
1200
+ MemoryWindow.new(self, @address + offset, byte_size).tap do |win|
1201
+ win.on_written += method(:handle_written_through_window)
1202
+ @windows.push(win)
1203
+ end
1139
1204
  end
1140
1205
 
1206
+ def create_unmapped_window
1207
+ UnmappedMemoryWindow.new(self).tap do |win|
1208
+ win.on_written += method(:handle_written_through_window)
1209
+ end
1210
+ end
1211
+
1212
+ alias :_orig_write :write
1141
1213
  def write(val)
1142
1214
  super
1143
1215
  if !@windows.empty? and
1144
- @value.array? && val.array? or
1145
- @value.composite? && val.composite?
1146
- single_val = val.to_single_value
1147
- @windows.zip(single_val.values).each do |win, inner_val|
1216
+ @value.array? && val.array? or @value.composite? && val.composite?
1217
+ @windows.zip(val.to_single_value.values).each do |win, inner_val|
1148
1218
  win.write(inner_val, false)
1149
1219
  end
1150
1220
  end
@@ -1152,24 +1222,29 @@ module Cc1 #:nodoc:
1152
1222
 
1153
1223
  protected
1154
1224
  def create_value_from_windows
1155
- case
1156
- when @value.scalar?
1157
- @value
1158
- when @value.array?
1159
- ArrayValue.new(@windows.map { |w| w.create_value_from_windows })
1160
- when @value.composite?
1161
- CompositeValue.new(@windows.map { |w| w.create_value_from_windows })
1225
+ if @value
1226
+ case
1227
+ when @value.scalar?
1228
+ @value
1229
+ when @value.array?
1230
+ ArrayValue.new(@windows.map { |w| w.create_value_from_windows })
1231
+ when @value.composite?
1232
+ CompositeValue.new(@windows.map { |w| w.create_value_from_windows })
1233
+ else
1234
+ __NOTREACHED__
1235
+ end
1236
+ else
1237
+ nil
1162
1238
  end
1163
1239
  end
1164
1240
 
1165
1241
  private
1166
- def handle_written_through_window(*)
1167
- val = create_value_from_windows
1168
-
1169
- if @value
1170
- @value.overwrite!(val)
1171
- else
1172
- @value = VersionedValue.new(val)
1242
+ def handle_written_through_window(win)
1243
+ if val = create_value_from_windows
1244
+ unless win.read.must_be_undefined?
1245
+ val = val.to_defined_value
1246
+ end
1247
+ _orig_write(val)
1173
1248
  end
1174
1249
  end
1175
1250
  end
@@ -1194,13 +1269,23 @@ module Cc1 #:nodoc:
1194
1269
 
1195
1270
  def write(val, cascade = true)
1196
1271
  super(val)
1197
- on_written.invoke(self) if cascade
1272
+ _cascade_update if cascade
1273
+ end
1274
+
1275
+ def _cascade_update
1276
+ on_written.invoke(self)
1198
1277
  end
1199
1278
 
1200
1279
  private
1201
1280
  def handle_written_through_window(*)
1202
1281
  super
1203
- on_written.invoke(self)
1282
+ _cascade_update
1283
+ end
1284
+ end
1285
+
1286
+ class UnmappedMemoryWindow < MemoryWindow
1287
+ def initialize(owner)
1288
+ super(owner, owner.address, owner.byte_size)
1204
1289
  end
1205
1290
  end
1206
1291
 
@@ -49,6 +49,7 @@ module Cc1 #:nodoc:
49
49
 
50
50
  module BranchGroupOptions
51
51
  COMPLETE = :complete
52
+ ITERATION = :iteration
52
53
  end
53
54
 
54
55
  end
@@ -18,7 +18,7 @@ module AdLint
18
18
  module Cc1
19
19
  class Parser < Racc::Parser
20
20
 
21
- module_eval(<<'...end parser.y/module_eval...', 'parser.y', 1827)
21
+ module_eval(<<'...end parser.y/module_eval...', 'parser.y', 1847)
22
22
 
23
23
  include ReportUtil
24
24
  include MonitorUtil
@@ -102,159 +102,159 @@ private :monitor
102
102
  ##### State transition tables begin ###
103
103
 
104
104
  clist = [
105
- '214,333,84,85,95,42,38,345,149,344,378,281,57,336,333,36,37,139,139',
106
- '379,354,65,67,42,42,70,192,193,42,225,226,233,42,234,235,236,237,238',
107
- '239,240,241,86,435,96,87,323,78,281,57,43,90,91,60,148,353,92,93,97',
108
- '98,99,100,101,214,333,84,85,95,43,43,338,414,358,43,66,68,281,368,69',
109
- '250,44,44,402,56,83,44,84,85,95,232,281,391,225,226,233,387,234,235',
110
- '236,237,238,239,240,241,86,259,96,87,450,377,431,397,383,90,91,60,281',
111
- '281,92,93,97,98,99,100,101,86,382,96,87,278,400,345,42,344,90,91,59',
112
- '280,279,92,93,97,98,99,100,101,281,42,29,192,193,232,12,13,14,15,16',
113
- '39,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,368,347,250',
114
- '381,187,214,333,84,85,95,188,189,44,32,380,43,212,201,213,249,347,250',
115
- '249,38,250,406,83,44,84,85,95,44,36,37,225,226,233,408,234,235,236,237',
116
- '238,239,240,241,86,319,96,87,194,195,196,197,202,90,91,60,373,49,92',
117
- '93,97,98,99,100,101,86,44,96,87,452,194,195,196,197,90,91,411,427,281',
118
- '92,93,97,98,99,100,101,281,73,29,72,150,232,12,13,14,15,16,39,38,18',
119
- '19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,198,199,449,425,316',
120
- '317,214,333,84,85,95,281,281,32,38,159,426,158,372,160,161,162,163,36',
121
- '37,281,187,194,195,196,197,371,188,189,415,225,226,233,416,234,235,236',
122
- '237,238,239,240,241,86,187,96,87,288,203,289,188,189,90,91,60,44,417',
123
- '92,93,97,98,99,100,101,214,333,84,85,95,175,177,178,179,180,181,182',
124
- '183,184,185,186,73,290,72,291,263,264,436,437,361,362,232,192,193,225',
125
- '226,233,200,234,235,236,237,238,239,240,241,86,140,96,87,204,205,190',
126
- '191,139,90,91,60,198,199,92,93,97,98,99,100,101,192,193,190,191,192',
127
- '193,190,191,364,375,242,375,83,134,84,85,95,203,243,129,355,340,42,29',
128
- '339,428,232,12,13,14,15,16,39,38,18,19,20,21,24,25,22,23,36,37,17,26',
129
- '27,28,33,34,35,335,118,86,332,96,87,331,433,330,393,202,90,91,32,327',
130
- '43,92,93,97,98,99,100,101,201,325,-230,265,44,-229,446,322,448,139,272',
131
- '200,282,64,283,455,48,375,,,,,,,,,342,,,,,,,,,,49,214,217,84,85,95,12',
132
- '13,14,15,16,39,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35',
133
- '225,226,233,,234,235,236,237,238,239,240,241,86,32,96,87,,,,,,90,91',
134
- '60,,,92,93,97,98,99,100,101,214,333,84,85,95,,,,,,,,,,,,,,,,,,,,,,232',
135
- ',,225,226,233,,234,235,236,237,238,239,240,241,86,,96,87,,,,,,90,91',
136
- '60,42,29,92,93,97,98,99,100,101,,,38,18,19,20,21,24,25,22,23,36,37,17',
137
- '26,27,28,33,34,35,,,,,,,232,,,,,,,32,,43,,,,,,,,,,,,44,,,,214,333,84',
138
- '85,95,,,,,,,,,,,,259,,,,,,,,,,,,255,225,226,233,,234,235,236,237,238',
139
- '239,240,241,86,,96,87,,,,,,90,91,60,,,92,93,97,98,99,100,101,214,333',
140
- '84,85,95,,,,,,,,,,,,,,,,,,,,,,232,,,225,226,233,,234,235,236,237,238',
141
- '239,240,241,86,,96,87,,,,,,90,91,60,,,92,93,97,98,99,100,101,214,333',
142
- '84,85,95,,,,,,,,,,,,,,,,,83,,84,85,95,232,,,225,226,233,,234,235,236',
143
- '237,238,239,240,241,86,,96,87,,,,,,90,91,60,,,92,93,97,98,99,100,101',
144
- '86,,96,87,,212,,213,,90,91,117,,,92,93,97,98,99,100,101,,,,,,232,83',
145
- '29,84,85,95,12,13,14,15,16,39,38,18,19,20,21,24,25,22,23,36,37,17,26',
146
- '27,28,33,34,35,,,,,,,,,,,,,86,32,96,87,,,,,,90,91,,,,92,93,97,98,99',
147
- '100,101,,,,,,,,,,,,,83,,84,85,95,,,,,,42,29,,,232,12,13,14,15,16,39',
148
- '38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,,,86,,96,87,,',
149
- ',,,90,91,32,,43,92,93,97,98,99,100,101,,,,,44,,,,,,,,,,,,,,,,,,,,,,232',
150
- ',,,,,,,,,49,214,217,84,85,95,12,13,14,15,16,39,38,18,19,20,21,24,25',
151
- '22,23,36,37,17,26,27,28,33,34,35,225,226,233,,234,235,236,237,238,239',
152
- '240,241,86,32,96,87,,,,,,90,91,60,,,92,93,97,98,99,100,101,83,,84,85',
153
- '95,,,,,,,,,,,,,,,,,,,,,,232,,,,,,,,214,333,84,85,95,,,86,,96,87,,,,',
154
- ',90,91,,,,92,93,97,98,99,100,101,,225,226,233,,234,235,236,237,238,239',
155
- '240,241,86,,96,87,,,,,,90,91,60,,232,92,93,97,98,99,100,101,214,333',
156
- '84,85,95,,,,,,,,,,,,,,,,,,,,,,232,,,225,226,233,,234,235,236,237,238',
157
- '239,240,241,86,,96,87,,,,,,90,91,60,,,92,93,97,98,99,100,101,214,333',
158
- '84,85,95,,,,,,,,,,,,,,,,,83,,84,85,95,232,,,225,226,233,,234,235,236',
159
- '237,238,239,240,241,86,,96,87,,,,,,90,91,60,,,92,93,97,98,99,100,101',
160
- '86,,96,87,,,410,,,90,91,,,,92,93,97,98,99,100,101,,,29,,,232,12,13,14',
161
- '15,16,39,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,,,,,',
162
- ',,,,,,,,32,,,,,,,29,,,60,12,13,14,15,16,39,38,18,19,20,21,24,25,22,23',
163
- '36,37,17,26,27,28,33,34,35,59,,,,,,,,,,,,,32,,,,,,,29,,,60,12,13,14',
164
- '15,16,39,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,59,,',
165
- ',,,,,83,,84,85,95,32,,144,,,,38,,,,60,,,,,36,37,83,,84,85,95,,,,,,,',
166
- ',,,,,,59,86,,96,87,,,145,,,90,91,,,,92,141,97,98,99,100,101,,86,,96',
167
- '87,,,404,,,90,91,,,,92,403,97,98,99,100,101,83,29,84,85,95,,,,,,,38',
168
- '18,19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,,,,,,,,,,,,,86,32',
169
- '96,87,,,,,,90,91,,357,,92,93,97,98,99,100,101,83,29,84,85,95,,,,,,,38',
170
- '18,19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,83,,84,85,95,,,,',
171
- ',,,86,32,96,87,,,,,,90,91,60,,,92,93,97,98,99,100,101,83,,84,85,95,',
172
- ',,86,,96,87,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,',
173
- ',86,,96,164,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,86',
174
- ',96,164,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,,,86',
175
- ',96,87,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,86,,96,87',
176
- ',,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,,,86,,96,87,',
177
- ',,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,86,,96,170,,,,,',
178
- '90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,,,86,,96,172,,,,,',
179
- '90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,86,,96,164,,,,,,90,91',
180
- ',,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,,,86,,96,87,,,,,,90,91,',
181
- ',,92,93,97,98,99,100,101,83,,84,85,95,,,,86,,96,87,,,,,,90,91,,,,92',
182
- '93,97,98,99,100,101,83,,84,85,95,,,,,,,,86,,96,87,,,,,,90,91,,,,92,93',
183
- '97,98,99,100,101,83,,84,85,95,,,,86,,96,87,,,,,,90,91,,,,92,93,97,98',
184
- '99,100,101,,,,,,,,,,,,,86,,96,87,,,,,,90,91,117,,,92,93,97,98,99,100',
185
- '101,83,29,84,85,95,,,,,,,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28',
186
- '33,34,35,83,,84,85,95,,,,,,,,86,32,96,87,,,,,,90,91,,,,92,93,97,98,99',
187
- '100,101,83,,84,85,95,,,,86,,96,87,,212,,213,,90,91,117,384,,92,93,97',
188
- '98,99,100,101,83,,84,85,95,,,,,,,,86,,96,87,,,,,,90,91,375,,,92,93,97',
189
- '98,99,100,101,,83,,84,85,95,,,86,,96,87,,,,,,90,91,,,,92,93,97,98,99',
190
- '100,101,83,,84,85,95,,,,,,,38,,86,,96,87,,,,36,37,90,91,,,,92,93,97',
191
- '98,99,100,101,83,,84,85,95,,,86,,96,87,,,,,,90,91,,,,92,93,97,98,99',
192
- '100,101,83,,84,85,95,,,,,,,,,86,,96,87,,212,,213,,90,91,117,206,,92',
193
- '93,97,98,99,100,101,83,,84,85,95,,,86,,96,87,,,,,,90,91,117,,,92,93',
194
- '97,98,99,100,101,83,,84,85,95,,,,,,,,,86,,96,87,,,363,,,90,91,,,,92',
195
- '93,97,98,99,100,101,83,,84,85,95,,,86,,96,87,,,,,,90,91,,,,92,93,97',
196
- '98,99,100,101,83,,84,85,95,,,,,,,,,86,,96,87,,,,,,90,91,,,,92,93,97',
197
- '98,99,100,101,83,,84,85,95,,,86,,96,87,,,350,,,90,91,,,,92,349,97,98',
198
- '99,100,101,83,,84,85,95,,,,,,,,,86,,96,87,,,432,,,90,91,,,,92,93,97',
199
- '98,99,100,101,83,,84,85,95,,,86,,96,87,,,,,,90,91,,,,92,93,97,98,99',
200
- '100,101,83,,84,85,95,,,,,,,,,86,,96,87,443,,,,,90,91,,,,92,93,97,98',
201
- '99,100,101,83,,84,85,95,,,86,,96,87,445,,,,,90,91,,,,92,93,97,98,99',
202
- '100,101,83,,84,85,95,,,,,,,,,86,,96,87,,,,,,90,91,,,,92,93,97,98,99',
203
- '100,101,83,,84,85,95,,,86,,96,87,,212,,213,,90,91,117,447,,92,93,97',
204
- '98,99,100,101,83,,84,85,95,,,,,,,,,86,,96,87,,,,,,90,91,,,,92,93,97',
205
- '98,99,100,101,83,,84,85,95,,,86,,96,87,,,267,,,90,91,,,,92,93,97,98',
206
- '99,100,101,83,,84,85,95,,,271,,,,38,,86,,96,87,,,,36,37,90,91,117,,',
207
- '92,93,97,98,99,100,101,83,,84,85,95,,,86,,96,87,,,270,,,90,91,,,,92',
208
- '268,97,98,99,100,101,83,,84,85,95,,,,,,,,,86,,96,87,,,,,,90,91,,,,92',
209
- '93,97,98,99,100,101,83,,84,85,95,,,86,,96,87,,,,,,90,91,,,,92,93,97',
210
- '98,99,100,101,83,,84,85,95,,,,,,,,,86,,96,87,,,,,,90,91,,,,92,93,97',
211
- '98,99,100,101,83,,84,85,95,,,86,,96,87,,,,,,90,91,,,,92,93,97,98,99',
212
- '100,101,83,,84,85,95,,,,,,,,,86,,96,87,,,,,,90,91,,,,92,93,97,98,99',
213
- '100,101,83,,84,85,95,,,86,,96,87,,,,,,90,91,,,,92,93,97,98,99,100,101',
214
- '83,,84,85,95,,,,,,,,,86,,96,87,,,,,,90,91,,,,92,93,97,98,99,100,101',
215
- '83,,84,85,95,,,86,,96,87,285,,,,,90,91,,,,92,93,97,98,99,100,101,83',
216
- ',84,85,95,,,,,,,,,86,,96,87,,,,,,90,91,,,,92,93,97,98,99,100,101,,,',
217
- ',,,,86,,96,87,,,,,,90,91,,,,92,93,97,98,99,100,101,83,29,84,85,95,,',
218
- ',,,,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,,,,,,,,,,',
219
- ',,86,32,96,87,,,,,,90,91,60,,,92,93,97,98,99,100,101,83,29,84,85,95',
220
- ',,,,,,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,,,,,,,,',
221
- ',,,,86,32,96,87,,,,,,90,91,60,,,92,93,97,98,99,100,101,83,29,84,85,95',
222
- ',,,,,,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,83,,84,85',
223
- '95,,,,,,,,86,32,96,87,,,,,,90,91,60,,,92,93,97,98,99,100,101,83,,84',
105
+ '216,335,84,85,95,42,38,347,151,346,437,283,57,338,335,36,37,140,141',
106
+ '65,140,141,67,42,42,70,194,195,42,227,228,235,42,236,237,238,239,240',
107
+ '241,242,243,86,399,96,87,325,78,356,283,43,90,91,60,150,384,92,93,97',
108
+ '98,99,100,101,216,335,84,85,95,43,43,340,416,66,43,360,68,57,370,69',
109
+ '252,44,44,355,404,83,44,84,85,95,234,283,402,227,228,235,283,236,237',
110
+ '238,239,240,241,242,243,86,261,96,87,380,379,56,59,385,90,91,60,283',
111
+ '381,92,93,97,98,99,100,101,86,383,96,87,433,382,347,42,346,90,91,251',
112
+ '452,252,92,93,97,98,99,100,101,283,42,29,194,195,234,12,13,14,15,16',
113
+ '39,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,370,349,252',
114
+ '203,189,216,335,84,85,95,190,191,44,32,408,43,214,410,215,251,349,252',
115
+ '73,38,72,204,83,44,84,85,95,44,36,37,227,228,235,375,236,237,238,239',
116
+ '240,241,242,243,86,321,96,87,196,197,198,199,413,90,91,60,152,49,92',
117
+ '93,97,98,99,100,101,86,44,96,87,280,196,197,198,199,90,91,374,282,281',
118
+ '92,93,97,98,99,100,101,283,290,29,291,373,234,12,13,14,15,16,39,38,18',
119
+ '19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,200,201,454,429,318',
120
+ '319,216,335,84,85,95,283,283,32,38,189,451,427,428,140,141,190,191,36',
121
+ '37,283,283,283,196,197,198,199,73,417,72,227,228,235,418,236,237,238',
122
+ '239,240,241,242,243,86,189,96,87,292,205,293,190,191,90,91,60,44,419',
123
+ '92,93,97,98,99,100,101,216,335,84,85,95,177,179,180,181,182,183,184',
124
+ '185,186,187,188,161,393,160,142,162,163,164,165,265,266,234,438,439',
125
+ '227,228,235,389,236,237,238,239,240,241,242,243,86,366,96,87,194,195',
126
+ '363,364,377,90,91,60,140,141,92,93,97,98,99,100,101,200,201,194,195',
127
+ '206,207,194,195,192,193,192,193,83,244,84,85,95,192,193,377,134,202',
128
+ '42,29,245,129,234,12,13,14,15,16,39,38,18,19,20,21,24,25,22,23,36,37',
129
+ '17,26,27,28,33,34,35,357,342,86,341,96,87,430,337,118,334,333,90,91',
130
+ '32,435,43,92,93,97,98,99,100,101,332,395,205,329,44,204,327,-232,267',
131
+ '-231,448,324,450,203,274,202,284,64,285,457,48,377,,,,,344,,,,,,,,,',
132
+ '49,216,219,84,85,95,12,13,14,15,16,39,38,18,19,20,21,24,25,22,23,36',
133
+ '37,17,26,27,28,33,34,35,227,228,235,,236,237,238,239,240,241,242,243',
134
+ '86,32,96,87,,,,,,90,91,60,,,92,93,97,98,99,100,101,216,335,84,85,95',
135
+ ',,,,,,,,,,,,,,,,,,,,,234,,,227,228,235,,236,237,238,239,240,241,242',
136
+ '243,86,,96,87,,,,,,90,91,60,42,29,92,93,97,98,99,100,101,,,38,18,19',
137
+ '20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,,,,,,,234,,,,,,,32,,43',
138
+ ',,,,,,,,,,,44,,,,216,335,84,85,95,,,,,,,,,,,,261,,,,,,,,,,,,257,227',
139
+ '228,235,,236,237,238,239,240,241,242,243,86,,96,87,,,,,,90,91,60,,,92',
140
+ '93,97,98,99,100,101,216,335,84,85,95,,,,,,,,,,,,,,,,,,,,,,234,,,227',
141
+ '228,235,,236,237,238,239,240,241,242,243,86,,96,87,,,,,,90,91,60,,,92',
142
+ '93,97,98,99,100,101,216,335,84,85,95,,,,,,,,,,,,,,,,,83,,84,85,95,234',
143
+ ',,227,228,235,,236,237,238,239,240,241,242,243,86,,96,87,,,,,,90,91',
144
+ '60,,,92,93,97,98,99,100,101,86,,96,87,,214,,215,,90,91,117,,,92,93,97',
145
+ '98,99,100,101,,,,,,234,83,29,84,85,95,12,13,14,15,16,39,38,18,19,20',
146
+ '21,24,25,22,23,36,37,17,26,27,28,33,34,35,,,,,,,,,,,,,86,32,96,87,,',
147
+ ',,,90,91,,,,92,93,97,98,99,100,101,,,,,,,,,,,,,83,,84,85,95,,,,,,42',
148
+ '29,,,234,12,13,14,15,16,39,38,18,19,20,21,24,25,22,23,36,37,17,26,27',
149
+ '28,33,34,35,,,86,,96,87,,,,,,90,91,32,,43,92,93,97,98,99,100,101,,,',
150
+ ',44,,,,,,,,,,,,,,,,,,,,,,234,,,,,,,,,,49,216,219,84,85,95,12,13,14,15',
151
+ '16,39,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,227,228',
152
+ '235,,236,237,238,239,240,241,242,243,86,32,96,87,,,,,,90,91,60,,,92',
153
+ '93,97,98,99,100,101,83,,84,85,95,,,,,,,,,,,,,,,,,,,,,,234,,,,,,,,216',
154
+ '335,84,85,95,,,86,,96,87,,,,,,90,91,,,,92,93,97,98,99,100,101,,227,228',
155
+ '235,,236,237,238,239,240,241,242,243,86,,96,87,,,,,,90,91,60,,234,92',
156
+ '93,97,98,99,100,101,216,335,84,85,95,,,,,,,,,,,,,,,,,,,,,,234,,,227',
157
+ '228,235,,236,237,238,239,240,241,242,243,86,,96,87,,,,,,90,91,60,,,92',
158
+ '93,97,98,99,100,101,216,335,84,85,95,,,,,,,,,,,,,,,,,83,,84,85,95,234',
159
+ ',,227,228,235,,236,237,238,239,240,241,242,243,86,,96,87,,,,,,90,91',
160
+ '60,,,92,93,97,98,99,100,101,86,,96,87,,,412,,,90,91,,,,92,93,97,98,99',
161
+ '100,101,,,29,,,234,12,13,14,15,16,39,38,18,19,20,21,24,25,22,23,36,37',
162
+ '17,26,27,28,33,34,35,,,,,,,,,,,,,,32,,,,,,,29,,,60,12,13,14,15,16,39',
163
+ '38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,59,,,,,,,,,,,',
164
+ ',32,,,,,,,29,,,60,12,13,14,15,16,39,38,18,19,20,21,24,25,22,23,36,37',
165
+ '17,26,27,28,33,34,35,59,,,,,,,,83,,84,85,95,32,,146,,,,38,,,,60,,,,',
166
+ '36,37,83,,84,85,95,,,,,,,,,,,,,,59,86,,96,87,,,147,,,90,91,,,,92,143',
167
+ '97,98,99,100,101,,86,,96,87,,,406,,,90,91,,,,92,405,97,98,99,100,101',
168
+ '83,29,84,85,95,,,,,,,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33',
169
+ '34,35,,,,,,,,,,,,,86,32,96,87,,,,,,90,91,,359,,92,93,97,98,99,100,101',
170
+ '83,29,84,85,95,,,,,,,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33',
171
+ '34,35,83,,84,85,95,,,,,,,,86,32,96,87,,,,,,90,91,60,,,92,93,97,98,99',
172
+ '100,101,83,,84,85,95,,,,86,,96,87,,,,,,90,91,,,,92,93,97,98,99,100,101',
173
+ '83,,84,85,95,,,,,,,,86,,96,166,,,,,,90,91,,,,92,93,97,98,99,100,101',
174
+ '83,,84,85,95,,,,86,,96,166,,,,,,90,91,,,,92,93,97,98,99,100,101,83,',
175
+ '84,85,95,,,,,,,,86,,96,87,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84',
224
176
  '85,95,,,,86,,96,87,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95',
225
177
  ',,,,,,,86,,96,87,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,',
226
- ',,86,,96,87,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,',
227
- ',86,,96,87,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,86,',
228
- '96,87,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,,,86,,96',
229
- '87,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,86,,96,87,,',
230
- ',,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,,,86,,96,87,,,',
231
- ',,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,86,,96,87,,,,,,90',
232
- '91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,,,86,,96,87,,,,,,90,91',
233
- ',,,92,93,97,98,99,100,101,83,,84,85,95,,,,86,,96,87,,,,,,90,91,,,,92',
234
- '93,97,98,99,100,101,,,,,,,,,,,,,86,,96,87,,,,,,90,91,,,,92,93,97,98',
235
- '99,100,101,2,,42,29,,,,12,13,14,15,16,39,38,18,19,20,21,24,25,22,23',
236
- '36,37,17,26,27,28,33,34,35,,,,,,,,,,,,,,32,,43,,,,,,,,42,29,,,44,12',
178
+ ',,86,,96,172,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,,',
179
+ ',,86,,96,174,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,86',
180
+ ',96,166,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,,,86',
181
+ ',96,87,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,86,,96,87',
182
+ ',,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,,,86,,96,87,',
183
+ ',,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,86,,96,87,,,,,,90',
184
+ '91,,,,92,93,97,98,99,100,101,,,,,,,,,,,,,86,,96,87,,,,,,90,91,117,,',
185
+ '92,93,97,98,99,100,101,83,29,84,85,95,,,,,,,38,18,19,20,21,24,25,22',
186
+ '23,36,37,17,26,27,28,33,34,35,83,,84,85,95,,,,,,,,86,32,96,87,,,,,,90',
187
+ '91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,86,,96,87,,214,,215,,90',
188
+ '91,117,386,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,,,86,,96,87,,,',
189
+ ',,90,91,377,,,92,93,97,98,99,100,101,,83,,84,85,95,,,86,,96,87,,,,,',
190
+ '90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,,38,,86,,96,87,,,',
191
+ '36,37,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,86,,96,87,,,,,',
192
+ '90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,,,,86,,96,87,,214',
193
+ ',215,,90,91,117,208,,92,93,97,98,99,100,101,83,,84,85,95,,,86,,96,87',
194
+ ',,,,,90,91,117,,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,,,,86,,96',
195
+ '87,,,365,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,86,,96,87',
196
+ ',,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,,,,86,,96,87',
197
+ ',,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,86,,96,87,,,352',
198
+ ',,90,91,,,,92,351,97,98,99,100,101,83,,84,85,95,,,,,,,,,86,,96,87,,',
199
+ '434,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,86,,96,87,,,,,',
200
+ '90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,,,,86,,96,87,445,',
201
+ ',,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,86,,96,87,447,,,,',
202
+ '90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,,,,86,,96,87,,,,,',
203
+ '90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,86,,96,87,,214,,215,',
204
+ '90,91,117,449,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,,,,86,,96,87',
205
+ ',,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,86,,96,87,,,269',
206
+ ',,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,273,,,,38,,86,,96,87',
207
+ ',,,36,37,90,91,117,,,92,93,97,98,99,100,101,83,,84,85,95,,,86,,96,87',
208
+ ',,272,,,90,91,,,,92,270,97,98,99,100,101,83,,84,85,95,,,,,,,,,86,,96',
209
+ '87,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,86,,96,87,,,',
210
+ ',,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,,,,86,,96,87,,,',
211
+ ',,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,86,,96,87,,,,,,90,91',
212
+ ',,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,,,,86,,96,87,,,,,,90,91',
213
+ ',,,92,93,97,98,99,100,101,83,,84,85,95,,,86,,96,87,,,,,,90,91,,,,92',
214
+ '93,97,98,99,100,101,83,,84,85,95,,,,,,,,,86,,96,87,,,,,,90,91,,,,92',
215
+ '93,97,98,99,100,101,83,,84,85,95,,,86,,96,87,287,,,,,90,91,,,,92,93',
216
+ '97,98,99,100,101,83,,84,85,95,,,,,,,,,86,,96,87,,,,,,90,91,,,,92,93',
217
+ '97,98,99,100,101,,,,,,,,86,,96,87,,,,,,90,91,,,,92,93,97,98,99,100,101',
218
+ '83,29,84,85,95,,,,,,,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33',
219
+ '34,35,,,,,,,,,,,,,86,32,96,87,,,,,,90,91,60,,,92,93,97,98,99,100,101',
220
+ '83,29,84,85,95,,,,,,,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33',
221
+ '34,35,,,,,,,,,,,,,86,32,96,87,,,,,,90,91,60,,,92,93,97,98,99,100,101',
222
+ '83,29,84,85,95,,,,,,,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33',
223
+ '34,35,83,,84,85,95,,,,,,,,86,32,96,87,,,,,,90,91,60,,,92,93,97,98,99',
224
+ '100,101,83,,84,85,95,,,,86,,96,87,,,,,,90,91,,,,92,93,97,98,99,100,101',
225
+ '83,,84,85,95,,,,,,,,86,,96,87,,,,,,90,91,,,,92,93,97,98,99,100,101,83',
226
+ ',84,85,95,,,,86,,96,87,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85',
227
+ '95,,,,,,,,86,,96,87,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95',
228
+ ',,,86,,96,87,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,,',
229
+ ',,86,,96,87,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,86',
230
+ ',96,87,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,,,86,',
231
+ '96,87,,,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,86,,96,87',
232
+ ',,,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,,,,,86,,96,87,',
233
+ ',,,,90,91,,,,92,93,97,98,99,100,101,83,,84,85,95,,,,86,,96,87,,,,,,90',
234
+ '91,,,,92,93,97,98,99,100,101,,,,,,,,,,,,,86,,96,87,,,,,,90,91,,,,92',
235
+ '93,97,98,99,100,101,2,,42,29,,,,12,13,14,15,16,39,38,18,19,20,21,24',
236
+ '25,22,23,36,37,17,26,27,28,33,34,35,,,,,,,,,,,,,,32,,43,,,,,,,,42,29',
237
+ ',,44,12,13,14,15,16,39,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28',
238
+ '33,34,35,,,,,,,,,,,,,,32,,370,,252,29,,,,,,,,,44,38,18,19,20,21,24,25',
239
+ '22,23,36,37,17,26,27,28,33,34,35,,,,,,,,,,,,,,32,,251,,252,29,,,,,,',
240
+ ',,44,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,,,,,,,,,',
241
+ ',,,,32,,29,,,,,,,,,263,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28',
242
+ '33,34,35,,,,,,,,,,,,,,32,,29,,,,,,,,,131,38,18,19,20,21,24,25,22,23',
243
+ '36,37,17,26,27,28,33,34,35,,,,,,,,,,,,,,32,,29,,,,,,,,,264,38,18,19',
244
+ '20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,,,,,,,,,,,,,,32,,29,,,',
245
+ ',,,,,354,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,,,,,',
246
+ ',,,,,,,,32,,29,,,,,,,,,255,38,18,19,20,21,24,25,22,23,36,37,17,26,27',
247
+ '28,33,34,35,,,,,,,,,,,,,,32,,29,,,,,,,,,136,38,18,19,20,21,24,25,22',
248
+ '23,36,37,17,26,27,28,33,34,35,,,,,,,,,,,,,,32,,,,,,,,29,,,254,12,13',
249
+ '14,15,16,39,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,,',
250
+ ',,,,,,,,,,,32,,,,,,,29,,,60,12,13,14,15,16,39,38,18,19,20,21,24,25,22',
251
+ '23,36,37,17,26,27,28,33,34,35,,,,,,,,,,,,,,32,,,,,,,29,,,60,12,13,14',
252
+ '15,16,39,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,,,,,',
253
+ ',,,,,,,,32,,,,,,,29,,,60,12,13,14,15,16,39,38,18,19,20,21,24,25,22,23',
254
+ '36,37,17,26,27,28,33,34,35,,,,,,,,,,,29,,,32,12,13,14,15,16,39,38,18',
255
+ '19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,,,,,,,,,,,29,,,32,12',
237
256
  '13,14,15,16,39,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35',
238
- ',,,,,,,,,,,,,32,,368,,250,29,,,,,,,,,44,38,18,19,20,21,24,25,22,23,36',
239
- '37,17,26,27,28,33,34,35,,,,,,,,,,,,,,32,,249,,250,29,,,,,,,,,44,38,18',
240
- '19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,,,,,,,,,,,,,,32,,29',
241
- ',,,,,,,,261,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,,',
242
- ',,,,,,,,,,,32,,29,,,,,,,,,131,38,18,19,20,21,24,25,22,23,36,37,17,26',
243
- '27,28,33,34,35,,,,,,,,,,,,,,32,,29,,,,,,,,,262,38,18,19,20,21,24,25',
244
- '22,23,36,37,17,26,27,28,33,34,35,,,,,,,,,,,,,,32,,29,,,,,,,,,352,38',
245
- '18,19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,,,,,,,,,,,,,,32,',
246
- '29,,,,,,,,,253,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35',
247
- ',,,,,,,,,,,,,32,,29,,,,,,,,,136,38,18,19,20,21,24,25,22,23,36,37,17',
248
- '26,27,28,33,34,35,,,,,,,,,,,,,,32,,,,,,,,29,,,252,12,13,14,15,16,39',
249
- '38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,,,,,,,,,,,,,,32',
250
- ',,,,,,29,,,60,12,13,14,15,16,39,38,18,19,20,21,24,25,22,23,36,37,17',
251
- '26,27,28,33,34,35,,,,,,,,,,,,,,32,,,,,,,29,,,60,12,13,14,15,16,39,38',
252
- '18,19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,,,,,,,,,,,,,,32,',
253
- ',,,,,29,,,60,12,13,14,15,16,39,38,18,19,20,21,24,25,22,23,36,37,17,26',
254
- '27,28,33,34,35,,,,,,,,,,,29,,,32,12,13,14,15,16,39,38,18,19,20,21,24',
255
- '25,22,23,36,37,17,26,27,28,33,34,35,,,,,,,,,,,29,,,32,12,13,14,15,16',
256
- '39,38,18,19,20,21,24,25,22,23,36,37,17,26,27,28,33,34,35,,,,,,,,,,,',
257
- ',,32' ]
257
+ ',,,,,,,,,,,,,32' ]
258
258
  racc_action_table = arr = ::Array.new(4469, nil)
259
259
  idx = 0
260
260
  clist.each do |str|
@@ -265,179 +265,179 @@ clist = [
265
265
  end
266
266
 
267
267
  clist = [
268
- '452,452,452,452,452,40,144,343,73,343,286,215,50,238,238,144,144,362',
269
- '264,286,256,33,34,57,43,35,307,307,354,452,452,452,367,452,452,452,452',
270
- '452,452,452,452,452,409,452,452,215,50,341,5,40,452,452,452,73,256,452',
271
- '452,452,452,452,452,452,450,450,450,450,450,57,43,238,362,264,354,33',
272
- '34,401,367,35,367,57,43,341,5,204,354,204,204,204,452,315,326,450,450',
273
- '450,321,450,450,450,450,450,450,450,450,450,354,450,450,442,284,401',
274
- '334,315,450,450,450,284,442,450,450,450,450,450,450,450,204,294,204',
275
- '204,147,337,248,368,248,204,204,82,154,147,204,204,204,204,204,204,204',
276
- '154,3,3,306,306,450,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3',
277
- '368,368,368,293,300,448,448,448,448,448,300,300,368,3,292,3,210,110',
278
- '210,249,249,249,247,44,247,345,197,3,197,197,197,249,44,44,448,448,448',
279
- '346,448,448,448,448,448,448,448,448,448,210,448,448,107,107,107,107',
280
- '111,448,448,448,279,3,448,448,448,448,448,448,448,197,44,197,197,444',
281
- '308,308,308,308,197,197,351,396,444,197,197,197,197,197,197,197,396',
282
- '41,372,41,74,448,372,372,372,372,372,372,372,372,372,372,372,372,372',
283
- '372,372,372,372,372,372,372,372,372,372,372,310,310,441,394,207,207',
284
- '445,445,445,445,445,441,394,372,75,89,395,89,276,89,89,89,89,75,75,395',
285
- '301,309,309,309,309,275,301,301,365,445,445,445,366,445,445,445,445',
286
- '445,445,445,445,445,104,445,445,160,112,160,104,104,445,445,445,75,372',
287
- '445,445,445,445,445,445,445,443,443,443,443,443,103,103,103,103,103',
288
- '103,103,103,103,103,103,71,161,71,161,137,137,419,419,266,266,445,305',
289
- '305,443,443,443,109,443,443,443,443,443,443,443,443,443,70,443,443,113',
290
- '113,302,302,69,443,443,443,108,108,443,443,443,443,443,443,443,304,304',
291
- '303,303,106,106,105,105,269,380,124,382,241,67,241,241,241,314,125,65',
292
- '258,240,216,216,239,397,443,216,216,216,216,216,216,216,216,216,216',
293
- '216,216,216,216,216,216,216,216,216,216,216,216,216,216,237,60,241,235',
294
- '241,241,234,405,233,328,313,241,241,216,226,216,241,241,241,241,241',
295
- '241,241,312,224,217,139,216,214,434,213,438,140,143,311,155,32,156,449',
296
- '2,381,,,,,,,,,241,,,,,,,,,,216,227,227,227,227,227,227,227,227,227,227',
297
- '227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227,227',
298
- '227,227,227,227,227,,227,227,227,227,227,227,227,227,227,227,227,227',
299
- ',,,,,227,227,227,,,227,227,227,227,227,227,227,236,236,236,236,236,',
300
- ',,,,,,,,,,,,,,,,,,,,227,,,236,236,236,,236,236,236,236,236,236,236,236',
301
- '236,,236,236,,,,,,236,236,236,133,133,236,236,236,236,236,236,236,,',
302
- '133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133',
303
- '133,,,,,,,236,,,,,,,133,,133,,,,,,,,,,,,133,,,,427,427,427,427,427,',
304
- ',,,,,,,,,,133,,,,,,,,,,,,133,427,427,427,,427,427,427,427,427,427,427',
305
- '427,427,,427,427,,,,,,427,427,427,,,427,427,427,427,427,427,427,426',
306
- '426,426,426,426,,,,,,,,,,,,,,,,,,,,,,427,,,426,426,426,,426,426,426',
307
- '426,426,426,426,426,426,,426,426,,,,,,426,426,426,,,426,426,426,426',
308
- '426,426,426,325,325,325,325,325,,,,,,,,,,,,,,,,,375,,375,375,375,426',
309
- ',,325,325,325,,325,325,325,325,325,325,325,325,325,,325,325,,,,,,325',
310
- '325,325,,,325,325,325,325,325,325,325,375,,375,375,,375,,375,,375,375',
311
- '375,,,375,375,375,375,375,375,375,,,,,,325,335,335,335,335,335,335,335',
312
- '335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335,335',
313
- '335,335,335,335,335,,,,,,,,,,,,,335,335,335,335,,,,,,335,335,,,,335',
314
- '335,335,335,335,335,335,,,,,,,,,,,,,399,,399,399,399,,,,,,58,58,,,335',
315
- '58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58',
316
- '58,,,399,,399,399,,,,,,399,399,58,,58,399,399,399,399,399,399,399,,',
317
- ',,58,,,,,,,,,,,,,,,,,,,,,,399,,,,,,,,,,58,119,119,119,119,119,119,119',
268
+ '454,454,454,454,454,40,146,345,73,345,411,217,50,240,240,146,146,364',
269
+ '364,33,266,266,34,57,43,35,309,309,356,454,454,454,369,454,454,454,454',
270
+ '454,454,454,454,454,336,454,454,217,50,258,343,40,454,454,454,73,296',
271
+ '454,454,454,454,454,454,454,452,452,452,452,452,57,43,240,364,33,356',
272
+ '266,34,5,369,35,369,57,43,258,343,206,356,206,206,206,454,317,339,452',
273
+ '452,452,403,452,452,452,452,452,452,452,452,452,356,452,452,288,286',
274
+ '5,82,317,452,452,452,286,288,452,452,452,452,452,452,452,206,295,206',
275
+ '206,403,294,250,370,250,206,206,249,444,249,206,206,206,206,206,206',
276
+ '206,444,3,3,308,308,452,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3',
277
+ '3,3,370,370,370,110,302,450,450,450,450,450,302,302,370,3,347,3,212',
278
+ '348,212,251,251,251,41,44,41,111,199,3,199,199,199,251,44,44,450,450',
279
+ '450,281,450,450,450,450,450,450,450,450,450,212,450,450,107,107,107',
280
+ '107,353,450,450,450,74,3,450,450,450,450,450,450,450,199,44,199,199',
281
+ '149,310,310,310,310,199,199,278,156,149,199,199,199,199,199,199,199',
282
+ '156,162,374,162,277,450,374,374,374,374,374,374,374,374,374,374,374',
283
+ '374,374,374,374,374,374,374,374,374,374,374,374,374,312,312,446,398',
284
+ '209,209,447,447,447,447,447,446,398,374,75,303,443,396,397,142,142,303',
285
+ '303,75,75,443,396,397,311,311,311,311,71,367,71,447,447,447,368,447',
286
+ '447,447,447,447,447,447,447,447,104,447,447,163,112,163,104,104,447',
287
+ '447,447,75,374,447,447,447,447,447,447,447,445,445,445,445,445,103,103',
288
+ '103,103,103,103,103,103,103,103,103,89,328,89,70,89,89,89,89,137,137',
289
+ '447,421,421,445,445,445,323,445,445,445,445,445,445,445,445,445,271',
290
+ '445,445,307,307,268,268,382,445,445,445,69,69,445,445,445,445,445,445',
291
+ '445,108,108,306,306,113,113,106,106,304,304,105,105,243,124,243,243',
292
+ '243,305,305,384,67,109,218,218,125,65,445,218,218,218,218,218,218,218',
293
+ '218,218,218,218,218,218,218,218,218,218,218,218,218,218,218,218,218',
294
+ '260,242,243,241,243,243,399,239,60,237,236,243,243,218,407,218,243,243',
295
+ '243,243,243,243,243,235,330,316,228,218,315,226,219,139,216,436,215',
296
+ '440,314,145,313,157,32,158,451,2,383,,,,,243,,,,,,,,,,218,229,229,229',
297
+ '229,229,229,229,229,229,229,229,229,229,229,229,229,229,229,229,229',
298
+ '229,229,229,229,229,229,229,229,229,229,229,229,,229,229,229,229,229',
299
+ '229,229,229,229,229,229,229,,,,,,229,229,229,,,229,229,229,229,229,229',
300
+ '229,238,238,238,238,238,,,,,,,,,,,,,,,,,,,,,,229,,,238,238,238,,238',
301
+ '238,238,238,238,238,238,238,238,,238,238,,,,,,238,238,238,133,133,238',
302
+ '238,238,238,238,238,238,,,133,133,133,133,133,133,133,133,133,133,133',
303
+ '133,133,133,133,133,133,133,,,,,,,238,,,,,,,133,,133,,,,,,,,,,,,133',
304
+ ',,,429,429,429,429,429,,,,,,,,,,,,133,,,,,,,,,,,,133,429,429,429,,429',
305
+ '429,429,429,429,429,429,429,429,,429,429,,,,,,429,429,429,,,429,429',
306
+ '429,429,429,429,429,428,428,428,428,428,,,,,,,,,,,,,,,,,,,,,,429,,,428',
307
+ '428,428,,428,428,428,428,428,428,428,428,428,,428,428,,,,,,428,428,428',
308
+ ',,428,428,428,428,428,428,428,327,327,327,327,327,,,,,,,,,,,,,,,,,377',
309
+ ',377,377,377,428,,,327,327,327,,327,327,327,327,327,327,327,327,327',
310
+ ',327,327,,,,,,327,327,327,,,327,327,327,327,327,327,327,377,,377,377',
311
+ ',377,,377,,377,377,377,,,377,377,377,377,377,377,377,,,,,,327,337,337',
312
+ '337,337,337,337,337,337,337,337,337,337,337,337,337,337,337,337,337',
313
+ '337,337,337,337,337,337,337,337,337,337,,,,,,,,,,,,,337,337,337,337',
314
+ ',,,,,337,337,,,,337,337,337,337,337,337,337,,,,,,,,,,,,,401,,401,401',
315
+ '401,,,,,,58,58,,,337,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58',
316
+ '58,58,58,58,58,58,58,58,,,401,,401,401,,,,,,401,401,58,,58,401,401,401',
317
+ '401,401,401,401,,,,,58,,,,,,,,,,,,,,,,,,,,,,401,,,,,,,,,,58,119,119',
318
318
  '119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119',
319
- '119,119,119,119,119,119,119,119,,119,119,119,119,119,119,119,119,119',
320
- '119,119,119,,,,,,119,119,119,,,119,119,119,119,119,119,119,398,,398',
321
- '398,398,,,,,,,,,,,,,,,,,,,,,,119,,,,,,,,327,327,327,327,327,,,398,,398',
322
- '398,,,,,,398,398,,,,398,398,398,398,398,398,398,,327,327,327,,327,327',
323
- '327,327,327,327,327,327,327,,327,327,,,,,,327,327,327,,398,327,327,327',
324
- '327,327,327,327,391,391,391,391,391,,,,,,,,,,,,,,,,,,,,,,327,,,391,391',
325
- '391,,391,391,391,391,391,391,391,391,391,,391,391,,,,,,391,391,391,',
326
- ',391,391,391,391,391,391,391,425,425,425,425,425,,,,,,,,,,,,,,,,,349',
327
- ',349,349,349,391,,,425,425,425,,425,425,425,425,425,425,425,425,425',
328
- ',425,425,,,,,,425,425,425,,,425,425,425,425,425,425,425,349,,349,349',
329
- ',,349,,,349,349,,,,349,349,349,349,349,349,349,,,324,,,425,324,324,324',
330
- '324,324,324,324,324,324,324,324,324,324,324,324,324,324,324,324,324',
331
- '324,324,324,324,,,,,,,,,,,,,,324,,,,,,,55,,,324,55,55,55,55,55,55,55',
332
- '55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,324,,,,,,,,,,,,,55',
333
- ',,,,,,11,,,55,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11',
334
- '11,11,11,11,11,11,55,,,,,,,,72,,72,72,72,11,,72,,,,72,,,,11,,,,,72,72',
335
- '344,,344,344,344,,,,,,,,,,,,,,11,72,,72,72,,,72,,,72,72,,,,72,72,72',
336
- '72,72,72,72,,344,,344,344,,,344,,,344,344,,,,344,344,344,344,344,344',
337
- '344,338,260,338,338,338,,,,,,,260,260,260,260,260,260,260,260,260,260',
338
- '260,260,260,260,260,260,260,260,,,,,,,,,,,,,338,260,338,338,,,,,,338',
339
- '338,,260,,338,338,338,338,338,338,338,87,87,87,87,87,,,,,,,87,87,87',
340
- '87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,379,,379,379,379,,,,,,',
341
- ',87,87,87,87,,,,,,87,87,87,,,87,87,87,87,87,87,87,90,,90,90,90,,,,379',
342
- ',379,379,,,,,,379,379,,,,379,379,379,379,379,379,379,91,,91,91,91,,',
343
- ',,,,,90,,90,90,,,,,,90,90,,,,90,90,90,90,90,90,90,92,,92,92,92,,,,91',
344
- ',91,91,,,,,,91,91,,,,91,91,91,91,91,91,91,93,,93,93,93,,,,,,,,92,,92',
345
- '92,,,,,,92,92,,,,92,92,92,92,92,92,92,94,,94,94,94,,,,93,,93,93,,,,',
346
- ',93,93,,,,93,93,93,93,93,93,93,95,,95,95,95,,,,,,,,94,,94,94,,,,,,94',
347
- '94,,,,94,94,94,94,94,94,94,96,,96,96,96,,,,95,,95,95,,,,,,95,95,,,,95',
348
- '95,95,95,95,95,95,97,,97,97,97,,,,,,,,96,,96,96,,,,,,96,96,,,,96,96',
349
- '96,96,96,96,96,332,,332,332,332,,,,97,,97,97,,,,,,97,97,,,,97,97,97',
350
- '97,97,97,97,331,,331,331,331,,,,,,,,332,,332,332,,,,,,332,332,,,,332',
351
- '332,332,332,332,332,332,330,,330,330,330,,,,331,,331,331,,,,,,331,331',
352
- ',,,331,331,331,331,331,331,331,383,,383,383,383,,,,,,,,330,,330,330',
353
- ',,,,,330,330,,,,330,330,330,330,330,330,330,386,,386,386,386,,,,383',
354
- ',383,383,,,,,,383,383,,,,383,383,383,383,383,383,383,,,,,,,,,,,,,386',
355
- ',386,386,,,,,,386,386,386,,,386,386,386,386,386,386,386,64,64,64,64',
356
- '64,,,,,,,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,317,',
357
- '317,317,317,,,,,,,,64,64,64,64,,,,,,64,64,,,,64,64,64,64,64,64,64,283',
358
- ',283,283,283,,,,317,,317,317,,317,,317,,317,317,317,317,,317,317,317',
359
- '317,317,317,317,281,,281,281,281,,,,,,,,283,,283,283,,,,,,283,283,283',
360
- ',,283,283,283,283,283,283,283,,271,,271,271,271,,,281,,281,281,,,,,',
361
- '281,281,,,,281,281,281,281,281,281,281,273,,273,273,273,,,,,,,273,,271',
362
- ',271,271,,,,273,273,271,271,,,,271,271,271,271,271,271,271,117,,117',
363
- '117,117,,,273,,273,273,,,,,,273,273,,,,273,273,273,273,273,273,273,59',
364
- ',59,59,59,,,,,,,,,117,,117,117,,117,,117,,117,117,117,117,,117,117,117',
365
- '117,117,117,117,268,,268,268,268,,,59,,59,59,,,,,,59,59,59,,,59,59,59',
366
- '59,59,59,59,265,,265,265,265,,,,,,,,,268,,268,268,,,268,,,268,268,,',
367
- ',268,268,268,268,268,268,268,259,,259,259,259,,,265,,265,265,,,,,,265',
368
- '265,,,,265,265,265,265,265,265,265,250,,250,250,250,,,,,,,,,259,,259',
369
- '259,,,,,,259,259,,,,259,259,259,259,259,259,259,403,,403,403,403,,,250',
370
- ',250,250,,,250,,,250,250,,,,250,250,250,250,250,250,250,428,,428,428',
371
- '428,,,,,,,,,403,,403,403,,,403,,,403,403,,,,403,403,403,403,403,403',
372
- '403,429,,429,429,429,,,428,,428,428,,,,,,428,428,,,,428,428,428,428',
373
- '428,428,428,430,,430,430,430,,,,,,,,,429,,429,429,429,,,,,429,429,,',
374
- ',429,429,429,429,429,429,429,225,,225,225,225,,,430,,430,430,430,,,',
375
- ',430,430,,,,430,430,430,430,430,430,430,437,,437,437,437,,,,,,,,,225',
376
- ',225,225,,,,,,225,225,,,,225,225,225,225,225,225,225,212,,212,212,212',
377
- ',,437,,437,437,,437,,437,,437,437,437,437,,437,437,437,437,437,437,437',
378
- '141,,141,141,141,,,,,,,,,212,,212,212,,,,,,212,212,,,,212,212,212,212',
379
- '212,212,212,209,,209,209,209,,,141,,141,141,,,141,,,141,141,,,,141,141',
380
- '141,141,141,141,141,142,,142,142,142,,,142,,,,142,,209,,209,209,,,,142',
381
- '142,209,209,209,,,209,209,209,209,209,209,209,205,,205,205,205,,,142',
382
- ',142,142,,,142,,,142,142,,,,142,142,142,142,142,142,142,355,,355,355',
383
- '355,,,,,,,,,205,,205,205,,,,,,205,205,,,,205,205,205,205,205,205,205',
384
- '203,,203,203,203,,,355,,355,355,,,,,,355,355,,,,355,355,355,355,355',
385
- '355,355,202,,202,202,202,,,,,,,,,203,,203,203,,,,,,203,203,,,,203,203',
386
- '203,203,203,203,203,201,,201,201,201,,,202,,202,202,,,,,,202,202,,,',
387
- '202,202,202,202,202,202,202,200,,200,200,200,,,,,,,,,201,,201,201,,',
388
- ',,,201,201,,,,201,201,201,201,201,201,201,158,,158,158,158,,,200,,200',
389
- '200,,,,,,200,200,,,,200,200,200,200,200,200,200,159,,159,159,159,,,',
390
- ',,,,,158,,158,158,,,,,,158,158,,,,158,158,158,158,158,158,158,199,,199',
391
- '199,199,,,159,,159,159,159,,,,,159,159,,,,159,159,159,159,159,159,159',
392
- '198,,198,198,198,,,,,,,,,199,,199,199,,,,,,199,199,,,,199,199,199,199',
393
- '199,199,199,,,,,,,,198,,198,198,,,,,,198,198,,,,198,198,198,198,198',
394
- '198,198,164,164,164,164,164,,,,,,,164,164,164,164,164,164,164,164,164',
395
- '164,164,164,164,164,164,164,164,164,,,,,,,,,,,,,164,164,164,164,,,,',
396
- ',164,164,164,,,164,164,164,164,164,164,164,170,170,170,170,170,,,,,',
397
- ',170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170',
398
- '170,,,,,,,,,,,,,170,170,170,170,,,,,,170,170,170,,,170,170,170,170,170',
399
- '170,170,172,172,172,172,172,,,,,,,172,172,172,172,172,172,172,172,172',
400
- '172,172,172,172,172,172,172,172,172,175,,175,175,175,,,,,,,,172,172',
401
- '172,172,,,,,,172,172,172,,,172,172,172,172,172,172,172,176,,176,176',
402
- '176,,,,175,,175,175,,,,,,175,175,,,,175,175,175,175,175,175,175,187',
403
- ',187,187,187,,,,,,,,176,,176,176,,,,,,176,176,,,,176,176,176,176,176',
404
- '176,176,188,,188,188,188,,,,187,,187,187,,,,,,187,187,,,,187,187,187',
405
- '187,187,187,187,189,,189,189,189,,,,,,,,188,,188,188,,,,,,188,188,,',
406
- ',188,188,188,188,188,188,188,190,,190,190,190,,,,189,,189,189,,,,,,189',
407
- '189,,,,189,189,189,189,189,189,189,191,,191,191,191,,,,,,,,190,,190',
408
- '190,,,,,,190,190,,,,190,190,190,190,190,190,190,192,,192,192,192,,,',
409
- '191,,191,191,,,,,,191,191,,,,191,191,191,191,191,191,191,193,,193,193',
410
- '193,,,,,,,,192,,192,192,,,,,,192,192,,,,192,192,192,192,192,192,192',
411
- '194,,194,194,194,,,,193,,193,193,,,,,,193,193,,,,193,193,193,193,193',
412
- '193,193,195,,195,195,195,,,,,,,,194,,194,194,,,,,,194,194,,,,194,194',
413
- '194,194,194,194,194,196,,196,196,196,,,,195,,195,195,,,,,,195,195,,',
414
- ',195,195,195,195,195,195,195,,,,,,,,,,,,,196,,196,196,,,,,,196,196,',
415
- ',,196,196,196,196,196,196,196,1,,1,1,,,,1,1,1,1,1,1,1,1,1,1,1,1,1,1',
416
- '1,1,1,1,1,1,1,1,1,1,,,,,,,,,,,,,,1,,1,,,,,,,,274,274,,,1,274,274,274',
417
- '274,274,274,274,274,274,274,274,274,274,274,274,274,274,274,274,274',
418
- '274,274,274,274,,,,,,,,,,,,,,274,,274,,274,126,,,,,,,,,274,126,126,126',
419
- '126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,,,,,,,,',
420
- ',,,,,126,,126,,126,134,,,,,,,,,126,134,134,134,134,134,134,134,134,134',
421
- '134,134,134,134,134,134,134,134,134,,,,,,,,,,,,,,134,,66,,,,,,,,,134',
422
- '66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,,,,,,,,,,,,,,66',
423
- ',135,,,,,,,,,66,135,135,135,135,135,135,135,135,135,135,135,135,135',
424
- '135,135,135,135,135,,,,,,,,,,,,,,135,,251,,,,,,,,,135,251,251,251,251',
425
- '251,251,251,251,251,251,251,251,251,251,251,251,251,251,,,,,,,,,,,,',
426
- ',251,,130,,,,,,,,,251,130,130,130,130,130,130,130,130,130,130,130,130',
427
- '130,130,130,130,130,130,,,,,,,,,,,,,,130,,68,,,,,,,,,130,68,68,68,68',
428
- '68,68,68,68,68,68,68,68,68,68,68,68,68,68,,,,,,,,,,,,,,68,,129,,,,,',
429
- ',,,68,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129',
430
- '129,129,,,,,,,,,,,,,,129,,,,,,,,388,,,129,388,388,388,388,388,388,388',
431
- '388,388,388,388,388,388,388,388,388,388,388,388,388,388,388,388,388',
432
- ',,,,,,,,,,,,,388,,,,,,,79,,,388,79,79,79,79,79,79,79,79,79,79,79,79',
433
- '79,79,79,79,79,79,79,79,79,79,79,79,,,,,,,,,,,,,,79,,,,,,,61,,,79,61',
434
- '61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61',
435
- ',,,,,,,,,,,,,61,,,,,,,348,,,61,348,348,348,348,348,348,348,348,348,348',
436
- '348,348,348,348,348,348,348,348,348,348,348,348,348,348,,,,,,,,,,,146',
437
- ',,348,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146',
438
- '146,146,146,146,146,146,146,146,,,,,,,,,,,407,,,146,407,407,407,407',
439
- '407,407,407,407,407,407,407,407,407,407,407,407,407,407,407,407,407',
440
- '407,407,407,,,,,,,,,,,,,,407' ]
319
+ '119,119,119,119,119,119,119,119,119,119,119,119,119,,119,119,119,119',
320
+ '119,119,119,119,119,119,119,119,,,,,,119,119,119,,,119,119,119,119,119',
321
+ '119,119,400,,400,400,400,,,,,,,,,,,,,,,,,,,,,,119,,,,,,,,329,329,329',
322
+ '329,329,,,400,,400,400,,,,,,400,400,,,,400,400,400,400,400,400,400,',
323
+ '329,329,329,,329,329,329,329,329,329,329,329,329,,329,329,,,,,,329,329',
324
+ '329,,400,329,329,329,329,329,329,329,393,393,393,393,393,,,,,,,,,,,',
325
+ ',,,,,,,,,,329,,,393,393,393,,393,393,393,393,393,393,393,393,393,,393',
326
+ '393,,,,,,393,393,393,,,393,393,393,393,393,393,393,427,427,427,427,427',
327
+ ',,,,,,,,,,,,,,,,351,,351,351,351,393,,,427,427,427,,427,427,427,427',
328
+ '427,427,427,427,427,,427,427,,,,,,427,427,427,,,427,427,427,427,427',
329
+ '427,427,351,,351,351,,,351,,,351,351,,,,351,351,351,351,351,351,351',
330
+ ',,326,,,427,326,326,326,326,326,326,326,326,326,326,326,326,326,326',
331
+ '326,326,326,326,326,326,326,326,326,326,,,,,,,,,,,,,,326,,,,,,,55,,',
332
+ '326,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55',
333
+ '55,55,326,,,,,,,,,,,,,55,,,,,,,11,,,55,11,11,11,11,11,11,11,11,11,11',
334
+ '11,11,11,11,11,11,11,11,11,11,11,11,11,11,55,,,,,,,,72,,72,72,72,11',
335
+ ',72,,,,72,,,,11,,,,,72,72,346,,346,346,346,,,,,,,,,,,,,,11,72,,72,72',
336
+ ',,72,,,72,72,,,,72,72,72,72,72,72,72,,346,,346,346,,,346,,,346,346,',
337
+ ',,346,346,346,346,346,346,346,340,262,340,340,340,,,,,,,262,262,262',
338
+ '262,262,262,262,262,262,262,262,262,262,262,262,262,262,262,,,,,,,,',
339
+ ',,,,340,262,340,340,,,,,,340,340,,262,,340,340,340,340,340,340,340,87',
340
+ '87,87,87,87,,,,,,,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87',
341
+ '87,381,,381,381,381,,,,,,,,87,87,87,87,,,,,,87,87,87,,,87,87,87,87,87',
342
+ '87,87,90,,90,90,90,,,,381,,381,381,,,,,,381,381,,,,381,381,381,381,381',
343
+ '381,381,91,,91,91,91,,,,,,,,90,,90,90,,,,,,90,90,,,,90,90,90,90,90,90',
344
+ '90,92,,92,92,92,,,,91,,91,91,,,,,,91,91,,,,91,91,91,91,91,91,91,93,',
345
+ '93,93,93,,,,,,,,92,,92,92,,,,,,92,92,,,,92,92,92,92,92,92,92,94,,94',
346
+ '94,94,,,,93,,93,93,,,,,,93,93,,,,93,93,93,93,93,93,93,95,,95,95,95,',
347
+ ',,,,,,94,,94,94,,,,,,94,94,,,,94,94,94,94,94,94,94,96,,96,96,96,,,,95',
348
+ ',95,95,,,,,,95,95,,,,95,95,95,95,95,95,95,97,,97,97,97,,,,,,,,96,,96',
349
+ '96,,,,,,96,96,,,,96,96,96,96,96,96,96,334,,334,334,334,,,,97,,97,97',
350
+ ',,,,,97,97,,,,97,97,97,97,97,97,97,333,,333,333,333,,,,,,,,334,,334',
351
+ '334,,,,,,334,334,,,,334,334,334,334,334,334,334,332,,332,332,332,,,',
352
+ '333,,333,333,,,,,,333,333,,,,333,333,333,333,333,333,333,385,,385,385',
353
+ '385,,,,,,,,332,,332,332,,,,,,332,332,,,,332,332,332,332,332,332,332',
354
+ '388,,388,388,388,,,,385,,385,385,,,,,,385,385,,,,385,385,385,385,385',
355
+ '385,385,,,,,,,,,,,,,388,,388,388,,,,,,388,388,388,,,388,388,388,388',
356
+ '388,388,388,64,64,64,64,64,,,,,,,64,64,64,64,64,64,64,64,64,64,64,64',
357
+ '64,64,64,64,64,64,319,,319,319,319,,,,,,,,64,64,64,64,,,,,,64,64,,,',
358
+ '64,64,64,64,64,64,64,285,,285,285,285,,,,319,,319,319,,319,,319,,319',
359
+ '319,319,319,,319,319,319,319,319,319,319,283,,283,283,283,,,,,,,,285',
360
+ ',285,285,,,,,,285,285,285,,,285,285,285,285,285,285,285,,273,,273,273',
361
+ '273,,,283,,283,283,,,,,,283,283,,,,283,283,283,283,283,283,283,275,',
362
+ '275,275,275,,,,,,,275,,273,,273,273,,,,275,275,273,273,,,,273,273,273',
363
+ '273,273,273,273,117,,117,117,117,,,275,,275,275,,,,,,275,275,,,,275',
364
+ '275,275,275,275,275,275,59,,59,59,59,,,,,,,,,117,,117,117,,117,,117',
365
+ ',117,117,117,117,,117,117,117,117,117,117,117,270,,270,270,270,,,59',
366
+ ',59,59,,,,,,59,59,59,,,59,59,59,59,59,59,59,267,,267,267,267,,,,,,,',
367
+ ',270,,270,270,,,270,,,270,270,,,,270,270,270,270,270,270,270,261,,261',
368
+ '261,261,,,267,,267,267,,,,,,267,267,,,,267,267,267,267,267,267,267,252',
369
+ ',252,252,252,,,,,,,,,261,,261,261,,,,,,261,261,,,,261,261,261,261,261',
370
+ '261,261,405,,405,405,405,,,252,,252,252,,,252,,,252,252,,,,252,252,252',
371
+ '252,252,252,252,430,,430,430,430,,,,,,,,,405,,405,405,,,405,,,405,405',
372
+ ',,,405,405,405,405,405,405,405,431,,431,431,431,,,430,,430,430,,,,,',
373
+ '430,430,,,,430,430,430,430,430,430,430,432,,432,432,432,,,,,,,,,431',
374
+ ',431,431,431,,,,,431,431,,,,431,431,431,431,431,431,431,227,,227,227',
375
+ '227,,,432,,432,432,432,,,,,432,432,,,,432,432,432,432,432,432,432,439',
376
+ ',439,439,439,,,,,,,,,227,,227,227,,,,,,227,227,,,,227,227,227,227,227',
377
+ '227,227,214,,214,214,214,,,439,,439,439,,439,,439,,439,439,439,439,',
378
+ '439,439,439,439,439,439,439,143,,143,143,143,,,,,,,,,214,,214,214,,',
379
+ ',,,214,214,,,,214,214,214,214,214,214,214,211,,211,211,211,,,143,,143',
380
+ '143,,,143,,,143,143,,,,143,143,143,143,143,143,143,144,,144,144,144',
381
+ ',,144,,,,144,,211,,211,211,,,,144,144,211,211,211,,,211,211,211,211',
382
+ '211,211,211,207,,207,207,207,,,144,,144,144,,,144,,,144,144,,,,144,144',
383
+ '144,144,144,144,144,357,,357,357,357,,,,,,,,,207,,207,207,,,,,,207,207',
384
+ ',,,207,207,207,207,207,207,207,205,,205,205,205,,,357,,357,357,,,,,',
385
+ '357,357,,,,357,357,357,357,357,357,357,204,,204,204,204,,,,,,,,,205',
386
+ ',205,205,,,,,,205,205,,,,205,205,205,205,205,205,205,203,,203,203,203',
387
+ ',,204,,204,204,,,,,,204,204,,,,204,204,204,204,204,204,204,202,,202',
388
+ '202,202,,,,,,,,,203,,203,203,,,,,,203,203,,,,203,203,203,203,203,203',
389
+ '203,160,,160,160,160,,,202,,202,202,,,,,,202,202,,,,202,202,202,202',
390
+ '202,202,202,161,,161,161,161,,,,,,,,,160,,160,160,,,,,,160,160,,,,160',
391
+ '160,160,160,160,160,160,201,,201,201,201,,,161,,161,161,161,,,,,161',
392
+ '161,,,,161,161,161,161,161,161,161,200,,200,200,200,,,,,,,,,201,,201',
393
+ '201,,,,,,201,201,,,,201,201,201,201,201,201,201,,,,,,,,200,,200,200',
394
+ ',,,,,200,200,,,,200,200,200,200,200,200,200,166,166,166,166,166,,,,',
395
+ ',,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166',
396
+ '166,,,,,,,,,,,,,166,166,166,166,,,,,,166,166,166,,,166,166,166,166,166',
397
+ '166,166,172,172,172,172,172,,,,,,,172,172,172,172,172,172,172,172,172',
398
+ '172,172,172,172,172,172,172,172,172,,,,,,,,,,,,,172,172,172,172,,,,',
399
+ ',172,172,172,,,172,172,172,172,172,172,172,174,174,174,174,174,,,,,',
400
+ ',174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174',
401
+ '174,177,,177,177,177,,,,,,,,174,174,174,174,,,,,,174,174,174,,,174,174',
402
+ '174,174,174,174,174,178,,178,178,178,,,,177,,177,177,,,,,,177,177,,',
403
+ ',177,177,177,177,177,177,177,189,,189,189,189,,,,,,,,178,,178,178,,',
404
+ ',,,178,178,,,,178,178,178,178,178,178,178,190,,190,190,190,,,,189,,189',
405
+ '189,,,,,,189,189,,,,189,189,189,189,189,189,189,191,,191,191,191,,,',
406
+ ',,,,190,,190,190,,,,,,190,190,,,,190,190,190,190,190,190,190,192,,192',
407
+ '192,192,,,,191,,191,191,,,,,,191,191,,,,191,191,191,191,191,191,191',
408
+ '193,,193,193,193,,,,,,,,192,,192,192,,,,,,192,192,,,,192,192,192,192',
409
+ '192,192,192,194,,194,194,194,,,,193,,193,193,,,,,,193,193,,,,193,193',
410
+ '193,193,193,193,193,195,,195,195,195,,,,,,,,194,,194,194,,,,,,194,194',
411
+ ',,,194,194,194,194,194,194,194,196,,196,196,196,,,,195,,195,195,,,,',
412
+ ',195,195,,,,195,195,195,195,195,195,195,197,,197,197,197,,,,,,,,196',
413
+ ',196,196,,,,,,196,196,,,,196,196,196,196,196,196,196,198,,198,198,198',
414
+ ',,,197,,197,197,,,,,,197,197,,,,197,197,197,197,197,197,197,,,,,,,,',
415
+ ',,,,198,,198,198,,,,,,198,198,,,,198,198,198,198,198,198,198,1,,1,1',
416
+ ',,,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,,,,,,,,,,,,,,1,,1',
417
+ ',,,,,,,276,276,,,1,276,276,276,276,276,276,276,276,276,276,276,276,276',
418
+ '276,276,276,276,276,276,276,276,276,276,276,,,,,,,,,,,,,,276,,276,,276',
419
+ '126,,,,,,,,,276,126,126,126,126,126,126,126,126,126,126,126,126,126',
420
+ '126,126,126,126,126,,,,,,,,,,,,,,126,,126,,126,134,,,,,,,,,126,134,134',
421
+ '134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,,,,',
422
+ ',,,,,,,,,134,,66,,,,,,,,,134,66,66,66,66,66,66,66,66,66,66,66,66,66',
423
+ '66,66,66,66,66,,,,,,,,,,,,,,66,,135,,,,,,,,,66,135,135,135,135,135,135',
424
+ '135,135,135,135,135,135,135,135,135,135,135,135,,,,,,,,,,,,,,135,,253',
425
+ ',,,,,,,,135,253,253,253,253,253,253,253,253,253,253,253,253,253,253',
426
+ '253,253,253,253,,,,,,,,,,,,,,253,,130,,,,,,,,,253,130,130,130,130,130',
427
+ '130,130,130,130,130,130,130,130,130,130,130,130,130,,,,,,,,,,,,,,130',
428
+ ',68,,,,,,,,,130,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68',
429
+ ',,,,,,,,,,,,,68,,129,,,,,,,,,68,129,129,129,129,129,129,129,129,129',
430
+ '129,129,129,129,129,129,129,129,129,,,,,,,,,,,,,,129,,,,,,,,390,,,129',
431
+ '390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390',
432
+ '390,390,390,390,390,390,390,,,,,,,,,,,,,,390,,,,,,,79,,,390,79,79,79',
433
+ '79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,,,,,',
434
+ ',,,,,,,,79,,,,,,,61,,,79,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61',
435
+ '61,61,61,61,61,61,61,61,61,,,,,,,,,,,,,,61,,,,,,,350,,,61,350,350,350',
436
+ '350,350,350,350,350,350,350,350,350,350,350,350,350,350,350,350,350',
437
+ '350,350,350,350,,,,,,,,,,,148,,,350,148,148,148,148,148,148,148,148',
438
+ '148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,,,,',
439
+ ',,,,,,409,,,148,409,409,409,409,409,409,409,409,409,409,409,409,409',
440
+ '409,409,409,409,409,409,409,409,409,409,409,,,,,,,,,,,,,,409' ]
441
441
  racc_action_check = arr = ::Array.new(4469, nil)
442
442
  idx = 0
443
443
  clist.each do |str|
@@ -448,238 +448,242 @@ clist = [
448
448
  end
449
449
 
450
450
  racc_action_pointer = [
451
- nil, 3753, 513, 144, nil, -8, nil, nil, nil, nil,
451
+ nil, 3753, 517, 144, nil, 19, nil, nil, nil, nil,
452
452
  nil, 1493, nil, nil, nil, nil, nil, nil, nil, nil,
453
453
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
454
- nil, nil, 464, 19, 20, 23, nil, nil, nil, nil,
455
- 3, 218, nil, 22, 185, nil, nil, nil, nil, nil,
454
+ nil, nil, 468, 17, 20, 23, nil, nil, nil, nil,
455
+ 3, 151, nil, 22, 185, nil, nil, nil, nil, nil,
456
456
  -44, nil, nil, nil, nil, 1445, nil, 21, 1004, 2387,
457
- 420, 4300, nil, nil, 2172, 388, 3940, 382, 4112, 408,
458
- 349, 331, 1530, 6, 220, 294, nil, nil, nil, 4252,
459
- nil, nil, 56, nil, nil, nil, nil, 1676, nil, 262,
457
+ 427, 4300, nil, nil, 2172, 394, 3940, 389, 4112, 412,
458
+ 326, 279, 1530, 6, 186, 294, nil, nil, nil, 4252,
459
+ nil, nil, 31, nil, nil, nil, nil, 1676, nil, 331,
460
460
  1738, 1767, 1800, 1829, 1862, 1891, 1924, 1953, nil, nil,
461
- nil, nil, nil, 287, 283, 369, 361, 157, 342, 336,
462
- 118, 154, 286, 330, nil, nil, nil, 2359, nil, 1093,
463
- nil, nil, nil, nil, 386, 394, 3851, nil, nil, 4155,
464
- 4069, nil, nil, 647, 3897, 3983, nil, 326, nil, 421,
465
- 504, 2759, 2821, 458, -7, nil, 4386, 81, nil, nil,
466
- nil, nil, nil, nil, 89, 462, 464, nil, 3041, 3069,
467
- 342, 376, nil, nil, 3193, nil, nil, nil, nil, nil,
468
- 3255, nil, 3317, nil, nil, 3346, 3379, nil, nil, nil,
469
- nil, nil, nil, nil, nil, nil, nil, 3408, 3441, 3470,
470
- 3503, 3532, 3565, 3594, 3627, 3656, 3689, 199, 3131, 3103,
471
- 3007, 2979, 2945, 2917, 81, 2855, nil, 242, nil, 2793,
472
- 143, nil, 2731, 502, 424, -45, 443, 421, nil, nil,
473
- nil, nil, nil, nil, 420, 2669, 410, 532, nil, nil,
474
- nil, nil, nil, 436, 434, 431, 594, 428, 11, 357,
475
- 354, 433, nil, nil, nil, nil, nil, 151, 84, 148,
476
- 2511, 4026, nil, nil, nil, nil, -36, nil, 365, 2483,
477
- 1614, nil, nil, nil, 16, 2449, 330, nil, 2421, 382,
478
- nil, 2297, nil, 2325, 3805, 277, 255, nil, nil, 231,
479
- nil, 2263, nil, 2234, 59, nil, -37, nil, nil, nil,
480
- nil, nil, 142, 131, 78, nil, nil, nil, nil, nil,
481
- 121, 261, 348, 365, 357, 322, 82, -40, 179, 252,
482
- 221, 451, 423, 409, 381, 33, nil, 2201, nil, nil,
483
- nil, 45, nil, nil, 1397, 831, 12, 1189, 428, nil,
484
- 2048, 2015, 1986, nil, 74, 920, nil, 39, 1614, nil,
485
- nil, -9, nil, -39, 1552, 153, 165, nil, 4348, 1334,
486
- nil, 204, nil, nil, 26, 2883, nil, nil, nil, nil,
487
- nil, nil, 15, nil, nil, 278, 282, 30, 129, nil,
488
- nil, nil, 262, nil, nil, 852, nil, nil, nil, 1705,
489
- 378, 460, 380, 2077, nil, nil, 2110, nil, 4204, nil,
490
- nil, 1251, nil, nil, 249, 262, 207, 402, 1155, 994,
491
- nil, 19, nil, 2545, nil, 432, nil, 4424, nil, -5,
492
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 328,
493
- nil, nil, nil, nil, nil, 1313, 769, 707, 2573, 2607,
494
- 2635, nil, nil, nil, 456, nil, nil, 2697, 471, nil,
495
- nil, 248, 60, 359, 199, 297, nil, nil, 178, 422,
496
- 60, nil, -2, nil, nil, nil, nil, nil ]
461
+ nil, nil, nil, 287, 283, 373, 363, 157, 351, 387,
462
+ 104, 125, 286, 351, nil, nil, nil, 2359, nil, 1093,
463
+ nil, nil, nil, nil, 389, 400, 3851, nil, nil, 4155,
464
+ 4069, nil, nil, 647, 3897, 3983, nil, 330, nil, 426,
465
+ nil, nil, 310, 2759, 2821, 462, -7, nil, 4386, 199,
466
+ nil, nil, nil, nil, nil, nil, 207, 466, 468, nil,
467
+ 3041, 3069, 262, 342, nil, nil, 3193, nil, nil, nil,
468
+ nil, nil, 3255, nil, 3317, nil, nil, 3346, 3379, nil,
469
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 3408,
470
+ 3441, 3470, 3503, 3532, 3565, 3594, 3627, 3656, 3689, 199,
471
+ 3131, 3103, 3007, 2979, 2945, 2917, 81, 2855, nil, 242,
472
+ nil, 2793, 143, nil, 2731, 506, 428, -45, 443, 426,
473
+ nil, nil, nil, nil, nil, nil, 425, 2669, 422, 532,
474
+ nil, nil, nil, nil, nil, 451, 438, 437, 594, 435,
475
+ 11, 387, 385, 433, nil, nil, nil, nil, nil, 89,
476
+ 84, 148, 2511, 4026, nil, nil, nil, nil, -9, nil,
477
+ 396, 2483, 1614, nil, nil, nil, 18, 2449, 353, nil,
478
+ 2421, 354, nil, 2297, nil, 2325, 3805, 220, 197, nil,
479
+ nil, 210, nil, 2263, nil, 2234, 59, nil, 60, nil,
480
+ nil, nil, nil, nil, 82, 78, 7, nil, nil, nil,
481
+ nil, nil, 121, 250, 371, 380, 359, 340, 82, -40,
482
+ 179, 253, 221, 455, 436, 427, 440, 33, nil, 2201,
483
+ nil, nil, nil, 344, nil, nil, 1397, 831, 300, 1189,
484
+ 443, nil, 2048, 2015, 1986, nil, 6, 920, nil, 0,
485
+ 1614, nil, nil, -8, nil, -39, 1552, 142, 145, nil,
486
+ 4348, 1334, nil, 180, nil, nil, 26, 2883, nil, nil,
487
+ nil, nil, nil, nil, 15, nil, nil, 277, 282, 30,
488
+ 129, nil, nil, nil, 262, nil, nil, 852, nil, nil,
489
+ nil, 1705, 356, 464, 388, 2077, nil, nil, 2110, nil,
490
+ 4204, nil, nil, 1251, nil, nil, 263, 264, 249, 434,
491
+ 1155, 994, nil, 38, nil, 2545, nil, 439, nil, 4424,
492
+ nil, -37, nil, nil, nil, nil, nil, nil, nil, nil,
493
+ nil, 333, nil, nil, nil, nil, nil, 1313, 769, 707,
494
+ 2573, 2607, 2635, nil, nil, nil, 460, nil, nil, 2697,
495
+ 475, nil, nil, 262, 89, 359, 248, 297, nil, nil,
496
+ 178, 426, 60, nil, -2, nil, nil, nil, nil, nil ]
497
497
 
498
498
  racc_action_default = [
499
- -257, -269, -269, -269, -86, -269, -88, -90, -92, -94,
499
+ -259, -271, -271, -271, -86, -271, -88, -90, -92, -94,
500
500
  -96, -98, -100, -101, -102, -103, -104, -105, -106, -107,
501
501
  -108, -109, -110, -111, -112, -113, -114, -115, -116, -117,
502
- -118, -119, -269, -269, -269, -269, -154, -155, -156, -157,
503
- -269, -159, -160, -269, -174, -258, -259, -260, 458, -84,
504
- -269, -89, -91, -93, -95, -98, -87, -269, -269, -269,
505
- -232, -269, -264, -267, -269, -130, -269, -131, -269, -269,
506
- -149, -158, -269, -170, -269, -175, -176, -178, -85, -269,
507
- -262, -97, -98, -1, -2, -3, -4, -269, -7, -21,
508
- -269, -269, -269, -269, -269, -269, -269, -269, -32, -33,
502
+ -118, -119, -271, -271, -271, -271, -156, -157, -158, -159,
503
+ -271, -161, -162, -271, -176, -260, -261, -262, 460, -84,
504
+ -271, -89, -91, -93, -95, -98, -87, -271, -271, -271,
505
+ -234, -271, -266, -269, -271, -130, -271, -131, -271, -271,
506
+ -149, -160, -271, -172, -271, -177, -178, -180, -85, -271,
507
+ -264, -97, -98, -1, -2, -3, -4, -271, -7, -21,
508
+ -271, -271, -271, -271, -271, -271, -271, -271, -32, -33,
509
509
  -34, -35, -36, -38, -42, -45, -48, -53, -56, -58,
510
- -60, -62, -64, -66, -68, -99, -207, -269, -231, -269,
511
- -263, -268, -38, -83, -269, -269, -189, -137, -139, -269,
512
- -269, -127, -132, -269, -269, -269, -129, -269, -150, -152,
513
- -269, -269, -269, -269, -269, -169, -269, -269, -173, -187,
514
- -161, -177, -179, -261, -269, -269, -269, -81, -269, -269,
515
- -269, -269, -15, -16, -269, -22, -23, -24, -25, -26,
516
- -269, -27, -269, -29, -31, -269, -269, -71, -72, -73,
517
- -74, -75, -76, -77, -78, -79, -80, -269, -269, -269,
518
- -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
519
- -269, -269, -269, -269, -269, -269, -208, -269, -211, -269,
520
- -269, -216, -269, -269, -1, -269, -269, -117, -220, -221,
521
- -222, -223, -224, -225, -269, -269, -269, -233, -235, -237,
522
- -238, -239, -240, -269, -269, -269, -269, -269, -269, -269,
523
- -269, -269, -120, -121, -136, -138, -190, -191, -193, -202,
524
- -269, -269, -123, -126, -133, -134, -269, -140, -142, -269,
525
- -269, -125, -128, -145, -269, -269, -269, -168, -269, -269,
526
- -163, -269, -164, -269, -186, -269, -180, -182, -172, -269,
527
- -5, -269, -6, -269, -269, -9, -269, -19, -11, -13,
528
- -12, -14, -269, -269, -269, -69, -70, -39, -40, -41,
529
- -43, -44, -46, -47, -49, -50, -51, -52, -54, -55,
530
- -57, -59, -61, -63, -65, -269, -209, -269, -212, -215,
531
- -217, -269, -219, -241, -98, -269, -269, -269, -269, -236,
532
- -269, -269, -269, -230, -269, -269, -229, -269, -269, -253,
533
- -254, -269, -255, -192, -269, -205, -269, -201, -269, -269,
534
- -195, -269, -122, -135, -269, -269, -143, -124, -147, -151,
535
- -153, -146, -269, -167, -162, -269, -269, -191, -202, -184,
536
- -185, -171, -269, -188, -82, -269, -37, -8, -10, -269,
537
- -269, -28, -30, -269, -210, -213, -269, -218, -269, -266,
538
- -226, -269, -228, -234, -269, -269, -269, -269, -269, -269,
539
- -251, -269, -256, -269, -197, -269, -204, -269, -194, -269,
540
- -199, -196, -141, -144, -148, -166, -165, -181, -183, -269,
541
- -20, -67, -214, -265, -227, -269, -269, -269, -269, -269,
542
- -269, -252, -200, -198, -269, -203, -17, -269, -242, -244,
543
- -245, -269, -269, -269, -269, -269, -206, -18, -269, -269,
544
- -269, -247, -269, -249, -243, -246, -248, -250 ]
510
+ -60, -62, -64, -66, -68, -99, -209, -271, -233, -271,
511
+ -265, -270, -38, -83, -271, -271, -191, -137, -139, -271,
512
+ -271, -127, -132, -271, -271, -271, -129, -271, -150, -152,
513
+ -154, -155, -271, -271, -271, -271, -271, -171, -271, -271,
514
+ -175, -189, -163, -179, -181, -263, -271, -271, -271, -81,
515
+ -271, -271, -271, -271, -15, -16, -271, -22, -23, -24,
516
+ -25, -26, -271, -27, -271, -29, -31, -271, -271, -71,
517
+ -72, -73, -74, -75, -76, -77, -78, -79, -80, -271,
518
+ -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
519
+ -271, -271, -271, -271, -271, -271, -271, -271, -210, -271,
520
+ -213, -271, -271, -218, -271, -271, -1, -271, -271, -117,
521
+ -222, -223, -224, -225, -226, -227, -271, -271, -271, -235,
522
+ -237, -239, -240, -241, -242, -271, -271, -271, -271, -271,
523
+ -271, -271, -271, -271, -120, -121, -136, -138, -192, -193,
524
+ -195, -204, -271, -271, -123, -126, -133, -134, -271, -140,
525
+ -142, -271, -271, -125, -128, -145, -271, -271, -271, -170,
526
+ -271, -271, -165, -271, -166, -271, -188, -271, -182, -184,
527
+ -174, -271, -5, -271, -6, -271, -271, -9, -271, -19,
528
+ -11, -13, -12, -14, -271, -271, -271, -69, -70, -39,
529
+ -40, -41, -43, -44, -46, -47, -49, -50, -51, -52,
530
+ -54, -55, -57, -59, -61, -63, -65, -271, -211, -271,
531
+ -214, -217, -219, -271, -221, -243, -98, -271, -271, -271,
532
+ -271, -238, -271, -271, -271, -232, -271, -271, -231, -271,
533
+ -271, -255, -256, -271, -257, -194, -271, -207, -271, -203,
534
+ -271, -271, -197, -271, -122, -135, -271, -271, -143, -124,
535
+ -147, -151, -153, -146, -271, -169, -164, -271, -271, -193,
536
+ -204, -186, -187, -173, -271, -190, -82, -271, -37, -8,
537
+ -10, -271, -271, -28, -30, -271, -212, -215, -271, -220,
538
+ -271, -268, -228, -271, -230, -236, -271, -271, -271, -271,
539
+ -271, -271, -253, -271, -258, -271, -199, -271, -206, -271,
540
+ -196, -271, -201, -198, -141, -144, -148, -168, -167, -183,
541
+ -185, -271, -20, -67, -216, -267, -229, -271, -271, -271,
542
+ -271, -271, -271, -254, -202, -200, -271, -205, -17, -271,
543
+ -244, -246, -247, -271, -271, -271, -271, -271, -208, -18,
544
+ -271, -271, -271, -249, -271, -251, -245, -248, -250, -252 ]
545
545
 
546
546
  racc_goto_table = [
547
- 3, 4, 115, 71, 62, 123, 116, 154, 61, 11,
548
- 124, 55, 76, 275, 246, 207, 54, 257, 254, 143,
549
- 386, 126, 51, 254, 343, 228, 125, 137, 75, 418,
550
- 165, 166, 130, 359, 135, 171, 173, 174, 398, 304,
551
- 305, 306, 307, 151, 126, 308, 309, 81, 80, 156,
552
- 302, 303, 79, 122, 120, 47, 142, 300, 301, 5,
553
- 176, 121, 147, 146, 116, 82, 82, 256, 314, 313,
554
- 407, 54, 153, 312, 320, 311, 310, 51, 284, 121,
555
- 155, 167, 168, 169, 154, 337, 227, 119, 328, 269,
556
- 154, 286, 154, 45, 247, 251, 46, 1, 266, nil,
557
- 260, 429, 430, nil, nil, nil, 287, nil, nil, nil,
558
- nil, nil, nil, nil, nil, nil, nil, nil, 216, 229,
559
- nil, 126, 295, 296, nil, 315, 292, 126, 273, 126,
560
- 168, 359, 293, 329, 294, nil, nil, nil, nil, 254,
561
- 386, 258, nil, nil, 343, 274, nil, nil, 254, nil,
562
- nil, nil, 318, 123, nil, nil, 116, 155, 321, nil,
563
- nil, 341, 370, 155, nil, 155, 123, nil, nil, nil,
564
- nil, 326, nil, nil, nil, nil, 297, 298, 299, 122,
565
- 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
566
- 122, 122, 122, 122, nil, nil, nil, 351, nil, nil,
567
- 123, 122, nil, nil, nil, 356, 123, nil, nil, nil,
568
- nil, 360, nil, nil, 122, 409, nil, 247, 365, nil,
569
- 366, 334, nil, nil, 324, nil, 216, 229, 374, 54,
570
- nil, nil, nil, nil, 53, 51, nil, nil, 412, nil,
571
- nil, nil, 367, nil, nil, nil, nil, nil, 122, nil,
572
- 394, 395, 396, nil, 122, nil, nil, 168, 401, nil,
573
- 385, nil, nil, nil, 116, nil, nil, nil, nil, nil,
574
- nil, nil, 376, 419, 434, 77, nil, nil, nil, nil,
575
- nil, nil, 369, nil, nil, nil, nil, 54, nil, 53,
576
- 52, 405, nil, 51, nil, 128, 123, 128, nil, 128,
577
- nil, 413, nil, 77, nil, nil, 152, nil, nil, nil,
578
- 390, nil, 392, nil, nil, nil, nil, 389, 128, nil,
579
- nil, 388, 116, nil, 421, nil, 420, nil, nil, 422,
580
- 71, nil, nil, 116, nil, 399, 367, nil, 168, nil,
581
- nil, nil, nil, nil, 122, 52, nil, 274, 441, 442,
582
- 444, 127, nil, 127, nil, 127, nil, 245, nil, nil,
583
- 128, 128, 258, nil, 245, 128, 128, nil, nil, nil,
584
- nil, 274, 122, 152, 127, 77, 424, nil, nil, nil,
585
- 385, 423, nil, nil, 116, nil, nil, nil, 121, nil,
586
- nil, nil, 168, nil, nil, 128, nil, nil, nil, nil,
587
- nil, 128, nil, 128, nil, nil, 274, nil, nil, nil,
588
- 438, 439, 440, 244, nil, nil, 127, 127, nil, nil,
589
- 244, 127, 127, nil, nil, nil, nil, nil, 451, nil,
590
- 453, nil, nil, 454, nil, 456, nil, 457, nil, nil,
591
- nil, nil, nil, nil, nil, nil, nil, 53, nil, nil,
592
- nil, 127, nil, nil, nil, nil, nil, 127, nil, 127,
547
+ 3, 4, 115, 71, 62, 123, 116, 61, 156, 11,
548
+ 209, 55, 124, 248, 75, 277, 256, 388, 76, 145,
549
+ 345, 256, 230, 361, 137, 167, 168, 420, 259, 81,
550
+ 173, 175, 176, 130, 54, 135, 126, 51, 47, 400,
551
+ 310, 311, 144, 306, 307, 308, 309, 5, 80, 153,
552
+ 178, 79, 304, 305, 120, 302, 303, 149, 148, 126,
553
+ 258, 121, 316, 315, 116, 82, 82, 409, 314, 322,
554
+ 313, 125, 155, 312, 339, 229, 119, 330, 288, 121,
555
+ 157, 286, 45, 46, 1, nil, nil, 156, nil, 54,
556
+ nil, 271, 51, 156, 158, 156, 253, 268, nil, nil,
557
+ 249, 262, 431, 432, nil, nil, 122, nil, 289, nil,
558
+ nil, nil, nil, nil, nil, nil, 275, nil, 218, 231,
559
+ nil, 361, nil, nil, 297, 298, nil, nil, 317, nil,
560
+ nil, nil, 331, nil, 169, 170, 171, 388, 126, 256,
561
+ 345, 260, nil, nil, 126, nil, 126, 276, 256, nil,
562
+ nil, nil, nil, nil, 320, 123, nil, nil, 116, 157,
563
+ nil, nil, 323, 372, 343, 157, nil, 157, 123, nil,
564
+ nil, nil, nil, 294, nil, 328, nil, nil, nil, 295,
565
+ nil, 296, nil, nil, nil, 170, nil, nil, nil, nil,
566
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 353,
567
+ nil, nil, 123, nil, nil, nil, nil, nil, 123, 358,
568
+ nil, nil, nil, nil, nil, 362, 53, 411, nil, nil,
569
+ 367, nil, 368, nil, nil, 249, 326, nil, 218, 231,
570
+ 376, 299, 300, 301, 122, 122, 122, 122, 122, 122,
571
+ 122, 122, 122, 122, 122, 122, 122, 122, 122, 54,
572
+ 369, 414, 51, 396, 397, 398, 122, 77, nil, nil,
573
+ nil, 403, 387, nil, nil, nil, 116, nil, nil, 122,
574
+ 421, 53, nil, nil, nil, nil, 436, 128, 336, 128,
575
+ nil, 128, nil, nil, 371, 77, nil, nil, 154, nil,
576
+ nil, nil, nil, 407, nil, nil, nil, nil, 123, nil,
577
+ 128, nil, nil, 122, nil, 415, nil, 54, nil, 122,
578
+ 51, 52, 170, nil, nil, nil, nil, nil, nil, 391,
579
+ nil, nil, 390, nil, 116, nil, 423, 378, 422, nil,
580
+ nil, 424, 71, nil, nil, 116, nil, 401, nil, 247,
581
+ nil, nil, 128, 128, 369, nil, 247, 128, 128, 276,
582
+ nil, 443, 444, 446, nil, nil, nil, 154, nil, 77,
583
+ nil, nil, nil, nil, 260, nil, 52, 392, nil, 394,
584
+ nil, nil, 127, 276, 127, nil, 127, nil, nil, 128,
585
+ nil, nil, 387, 425, nil, 128, 116, 128, nil, nil,
586
+ 121, nil, nil, 170, nil, 127, nil, nil, nil, 122,
587
+ nil, nil, nil, nil, nil, nil, nil, nil, 276, nil,
588
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
589
+ nil, nil, nil, nil, nil, nil, nil, 122, nil, nil,
590
+ nil, 53, nil, 426, 246, nil, nil, 127, 127, nil,
591
+ nil, 246, 127, 127, nil, nil, nil, 170, nil, nil,
593
592
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
593
+ nil, nil, nil, nil, nil, nil, 128, 440, 441, 442,
594
+ nil, nil, nil, nil, 127, 128, nil, nil, nil, nil,
595
+ 127, nil, 127, nil, nil, 453, nil, 455, 154, 53,
596
+ 456, nil, 458, nil, 459, nil, nil, nil, nil, nil,
594
597
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
595
- nil, nil, 128, nil, nil, nil, nil, nil, nil, nil,
596
- nil, 128, nil, nil, nil, nil, nil, nil, nil, nil,
597
- nil, nil, nil, 52, 152, 53, nil, nil, nil, nil,
598
598
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
599
+ nil, nil, nil, nil, nil, nil, 52, nil, nil, nil,
599
600
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
600
- nil, nil, nil, nil, nil, nil, nil, nil, 127, nil,
601
- nil, nil, nil, nil, nil, nil, nil, 127, nil, nil,
602
601
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
603
- nil, 52 ]
602
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
603
+ nil, 127, nil, nil, nil, nil, nil, nil, nil, nil,
604
+ 127, nil, nil, nil, nil, nil, nil, nil, nil, nil,
605
+ nil, nil, nil, nil, 52 ]
604
606
 
605
607
  racc_goto_check = [
606
- 27, 26, 36, 47, 4, 23, 9, 3, 75, 35,
607
- 25, 35, 46, 49, 54, 8, 33, 43, 40, 9,
608
- 58, 41, 30, 40, 55, 71, 7, 44, 48, 53,
609
- 10, 10, 39, 45, 39, 10, 10, 10, 63, 15,
610
- 15, 15, 15, 46, 41, 16, 16, 34, 4, 7,
611
- 14, 14, 75, 11, 4, 29, 48, 13, 13, 28,
612
- 24, 26, 50, 51, 9, 35, 35, 42, 21, 20,
613
- 57, 33, 4, 19, 60, 18, 17, 30, 3, 26,
614
- 4, 11, 11, 11, 3, 67, 68, 69, 70, 9,
615
- 3, 6, 3, 73, 46, 39, 74, 1, 44, nil,
616
- 39, 63, 63, nil, nil, nil, 9, nil, nil, nil,
617
- nil, nil, nil, nil, nil, nil, nil, nil, 27, 26,
618
- nil, 41, 9, 9, nil, 3, 7, 41, 48, 41,
619
- 11, 45, 7, 71, 7, nil, nil, nil, nil, 40,
620
- 58, 35, nil, nil, 55, 27, nil, nil, 40, nil,
621
- nil, nil, 36, 23, nil, nil, 9, 4, 25, nil,
622
- nil, 3, 54, 4, nil, 4, 23, nil, nil, nil,
623
- nil, 25, nil, nil, nil, nil, 11, 11, 11, 11,
624
- 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
625
- 11, 11, 11, 11, nil, nil, nil, 9, nil, nil,
626
- 23, 11, nil, nil, nil, 25, 23, nil, nil, nil,
627
- nil, 25, nil, nil, 11, 49, nil, 46, 9, nil,
628
- 9, 61, nil, nil, 35, nil, 27, 26, 9, 33,
629
- nil, nil, nil, nil, 32, 30, nil, nil, 43, nil,
630
- nil, nil, 46, nil, nil, nil, nil, nil, 11, nil,
631
- 3, 3, 3, nil, 11, nil, nil, 11, 3, nil,
632
- 36, nil, nil, nil, 9, nil, nil, nil, nil, nil,
633
- nil, nil, 11, 8, 49, 32, nil, nil, nil, nil,
634
- nil, nil, 35, nil, nil, nil, nil, 33, nil, 32,
635
- 31, 9, nil, 30, nil, 32, 23, 32, nil, 32,
636
- nil, 25, nil, 32, nil, nil, 32, nil, nil, nil,
637
- 61, nil, 61, nil, nil, nil, nil, 4, 32, nil,
638
- nil, 75, 9, nil, 23, nil, 9, nil, nil, 36,
639
- 47, nil, nil, 9, nil, 26, 46, nil, 11, nil,
640
- nil, nil, nil, nil, 11, 31, nil, 27, 3, 3,
641
- 3, 31, nil, 31, nil, 31, nil, 32, nil, nil,
642
- 32, 32, 35, nil, 32, 32, 32, nil, nil, nil,
643
- nil, 27, 11, 32, 31, 32, 61, nil, nil, nil,
644
- 36, 4, nil, nil, 9, nil, nil, nil, 26, nil,
645
- nil, nil, 11, nil, nil, 32, nil, nil, nil, nil,
646
- nil, 32, nil, 32, nil, nil, 27, nil, nil, nil,
647
- 61, 61, 61, 31, nil, nil, 31, 31, nil, nil,
648
- 31, 31, 31, nil, nil, nil, nil, nil, 61, nil,
649
- 61, nil, nil, 61, nil, 61, nil, 61, nil, nil,
650
- nil, nil, nil, nil, nil, nil, nil, 32, nil, nil,
651
- nil, 31, nil, nil, nil, nil, nil, 31, nil, 31,
608
+ 27, 26, 36, 48, 4, 23, 9, 76, 3, 35,
609
+ 8, 35, 25, 55, 49, 50, 40, 59, 47, 9,
610
+ 56, 40, 72, 45, 44, 10, 10, 54, 43, 34,
611
+ 10, 10, 10, 39, 33, 39, 41, 30, 29, 64,
612
+ 16, 16, 49, 15, 15, 15, 15, 28, 4, 47,
613
+ 24, 76, 14, 14, 4, 13, 13, 51, 52, 41,
614
+ 42, 26, 21, 20, 9, 35, 35, 58, 19, 61,
615
+ 18, 7, 4, 17, 68, 69, 70, 71, 6, 26,
616
+ 4, 3, 74, 75, 1, nil, nil, 3, nil, 33,
617
+ nil, 9, 30, 3, 7, 3, 39, 44, nil, nil,
618
+ 47, 39, 64, 64, nil, nil, 11, nil, 9, nil,
619
+ nil, nil, nil, nil, nil, nil, 49, nil, 27, 26,
620
+ nil, 45, nil, nil, 9, 9, nil, nil, 3, nil,
621
+ nil, nil, 72, nil, 11, 11, 11, 59, 41, 40,
622
+ 56, 35, nil, nil, 41, nil, 41, 27, 40, nil,
623
+ nil, nil, nil, nil, 36, 23, nil, nil, 9, 4,
624
+ nil, nil, 25, 55, 3, 4, nil, 4, 23, nil,
625
+ nil, nil, nil, 7, nil, 25, nil, nil, nil, 7,
626
+ nil, 7, nil, nil, nil, 11, nil, nil, nil, nil,
627
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 9,
628
+ nil, nil, 23, nil, nil, nil, nil, nil, 23, 25,
629
+ nil, nil, nil, nil, nil, 25, 32, 50, nil, nil,
630
+ 9, nil, 9, nil, nil, 47, 35, nil, 27, 26,
631
+ 9, 11, 11, 11, 11, 11, 11, 11, 11, 11,
632
+ 11, 11, 11, 11, 11, 11, 11, 11, 11, 33,
633
+ 47, 43, 30, 3, 3, 3, 11, 32, nil, nil,
634
+ nil, 3, 36, nil, nil, nil, 9, nil, nil, 11,
635
+ 8, 32, nil, nil, nil, nil, 50, 32, 62, 32,
636
+ nil, 32, nil, nil, 35, 32, nil, nil, 32, nil,
637
+ nil, nil, nil, 9, nil, nil, nil, nil, 23, nil,
638
+ 32, nil, nil, 11, nil, 25, nil, 33, nil, 11,
639
+ 30, 31, 11, nil, nil, nil, nil, nil, nil, 4,
640
+ nil, nil, 76, nil, 9, nil, 23, 11, 9, nil,
641
+ nil, 36, 48, nil, nil, 9, nil, 26, nil, 32,
642
+ nil, nil, 32, 32, 47, nil, 32, 32, 32, 27,
643
+ nil, 3, 3, 3, nil, nil, nil, 32, nil, 32,
644
+ nil, nil, nil, nil, 35, nil, 31, 62, nil, 62,
645
+ nil, nil, 31, 27, 31, nil, 31, nil, nil, 32,
646
+ nil, nil, 36, 4, nil, 32, 9, 32, nil, nil,
647
+ 26, nil, nil, 11, nil, 31, nil, nil, nil, 11,
648
+ nil, nil, nil, nil, nil, nil, nil, nil, 27, nil,
649
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
650
+ nil, nil, nil, nil, nil, nil, nil, 11, nil, nil,
651
+ nil, 32, nil, 62, 31, nil, nil, 31, 31, nil,
652
+ nil, 31, 31, 31, nil, nil, nil, 11, nil, nil,
653
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
654
+ nil, nil, nil, nil, nil, nil, 32, 62, 62, 62,
655
+ nil, nil, nil, nil, 31, 32, nil, nil, nil, nil,
656
+ 31, nil, 31, nil, nil, 62, nil, 62, 32, 32,
657
+ 62, nil, 62, nil, 62, nil, nil, nil, nil, nil,
652
658
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
653
659
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
654
- nil, nil, 32, nil, nil, nil, nil, nil, nil, nil,
655
- nil, 32, nil, nil, nil, nil, nil, nil, nil, nil,
656
- nil, nil, nil, 31, 32, 32, nil, nil, nil, nil,
660
+ nil, nil, nil, nil, nil, nil, 31, nil, nil, nil,
657
661
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
658
662
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
659
- nil, nil, nil, nil, nil, nil, nil, nil, 31, nil,
660
- nil, nil, nil, nil, nil, nil, nil, 31, nil, nil,
661
663
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
662
- nil, 31 ]
664
+ nil, 31, nil, nil, nil, nil, nil, nil, nil, nil,
665
+ 31, nil, nil, nil, nil, nil, nil, nil, nil, nil,
666
+ nil, nil, nil, nil, 31 ]
663
667
 
664
668
  racc_goto_pointer = [
665
- nil, 97, nil, -80, -7, nil, -68, -38, -102, -53,
666
- -60, -11, nil, -133, -142, -155, -153, -124, -126, -129,
667
- -134, -136, nil, -59, -43, -54, 0, -1, 58, 54,
668
- 19, 287, 231, 13, -10, 8, -57, nil, nil, -34,
669
- -112, -43, -66, -116, -42, -231, -32, -37, -16, -133,
670
- -11, -10, nil, -343, -112, -223, nil, -275, -297, nil,
671
- -136, -15, nil, -297, nil, nil, nil, -153, -33, 27,
672
- -139, -94, nil, 92, 95, -3 ]
669
+ nil, 84, nil, -79, -7, nil, -83, 7, -107, -53,
670
+ -65, 42, nil, -137, -142, -153, -160, -129, -133, -136,
671
+ -142, -144, nil, -59, -53, -52, 0, -1, 46, 37,
672
+ 34, 308, 213, 31, -28, 8, -57, nil, nil, -33,
673
+ -114, -28, -73, -105, -45, -243, nil, -26, -37, -30,
674
+ -133, -16, -15, nil, -347, -113, -229, nil, -280, -302,
675
+ nil, -143, 40, nil, -298, nil, nil, nil, -166, -44,
676
+ 16, -152, -97, nil, 81, 82, -4 ]
673
677
 
674
678
  racc_goto_default = [
675
- nil, nil, 88, 215, 219, 89, nil, nil, nil, 157,
679
+ nil, nil, 88, 217, 221, 89, nil, nil, nil, 159,
676
680
  102, 103, 94, 104, 105, 106, 107, 108, 109, 110,
677
681
  111, 112, 113, 114, nil, nil, 63, 58, 50, nil,
678
- 6, 7, 8, 9, 10, 74, 208, 30, 31, nil,
679
- 132, 133, nil, nil, nil, 138, 40, 41, nil, nil,
680
- nil, nil, 276, 277, 346, 248, 348, nil, 209, 210,
681
- 211, 230, 218, 220, 221, 222, 223, 224, nil, nil,
682
- nil, nil, 231, nil, nil, nil ]
682
+ 6, 7, 8, 9, 10, 74, 210, 30, 31, nil,
683
+ 132, 133, nil, nil, nil, 138, 139, 40, 41, nil,
684
+ nil, nil, nil, 278, 279, 348, 250, 350, nil, 211,
685
+ 212, 213, 232, 220, 222, 223, 224, 225, 226, nil,
686
+ nil, nil, nil, 233, nil, nil, nil ]
683
687
 
684
688
  racc_reduce_table = [
685
689
  0, 0, :racc_error,
@@ -836,125 +840,127 @@ racc_reduce_table = [
836
840
  3, 136, :_reduce_151,
837
841
  1, 137, :_reduce_152,
838
842
  3, 137, :_reduce_153,
843
+ 1, 138, :_reduce_none,
844
+ 1, 138, :_reduce_155,
839
845
  1, 124, :_reduce_none,
840
846
  1, 124, :_reduce_none,
841
847
  1, 124, :_reduce_none,
842
848
  1, 125, :_reduce_none,
843
- 2, 127, :_reduce_158,
844
- 1, 127, :_reduce_159,
845
- 1, 139, :_reduce_160,
846
- 3, 139, :_reduce_161,
847
- 5, 139, :_reduce_162,
848
- 4, 139, :_reduce_163,
849
- 4, 139, :_reduce_164,
850
- 6, 139, :_reduce_165,
851
- 6, 139, :_reduce_166,
852
- 5, 139, :_reduce_167,
853
- 4, 139, :_reduce_168,
854
- 3, 139, :_reduce_169,
855
- 0, 143, :_reduce_170,
856
- 5, 139, :_reduce_171,
857
- 4, 139, :_reduce_172,
858
- 3, 139, :_reduce_173,
859
- 1, 138, :_reduce_174,
860
- 2, 138, :_reduce_175,
861
- 2, 138, :_reduce_176,
862
- 3, 138, :_reduce_177,
863
- 1, 140, :_reduce_178,
864
- 2, 140, :_reduce_179,
849
+ 2, 127, :_reduce_160,
850
+ 1, 127, :_reduce_161,
851
+ 1, 140, :_reduce_162,
852
+ 3, 140, :_reduce_163,
853
+ 5, 140, :_reduce_164,
854
+ 4, 140, :_reduce_165,
855
+ 4, 140, :_reduce_166,
856
+ 6, 140, :_reduce_167,
857
+ 6, 140, :_reduce_168,
858
+ 5, 140, :_reduce_169,
859
+ 4, 140, :_reduce_170,
860
+ 3, 140, :_reduce_171,
861
+ 0, 144, :_reduce_172,
862
+ 5, 140, :_reduce_173,
863
+ 4, 140, :_reduce_174,
864
+ 3, 140, :_reduce_175,
865
+ 1, 139, :_reduce_176,
866
+ 2, 139, :_reduce_177,
867
+ 2, 139, :_reduce_178,
868
+ 3, 139, :_reduce_179,
865
869
  1, 141, :_reduce_180,
866
- 3, 141, :_reduce_181,
867
- 1, 144, :_reduce_182,
868
- 3, 144, :_reduce_183,
869
- 2, 145, :_reduce_184,
870
- 2, 145, :_reduce_185,
871
- 1, 145, :_reduce_186,
872
- 1, 142, :_reduce_187,
873
- 3, 142, :_reduce_188,
874
- 1, 99, :_reduce_189,
875
- 2, 99, :_reduce_190,
876
- 1, 146, :_reduce_191,
877
- 2, 146, :_reduce_192,
878
- 1, 146, :_reduce_193,
879
- 3, 147, :_reduce_194,
880
- 2, 147, :_reduce_195,
881
- 3, 147, :_reduce_196,
882
- 3, 147, :_reduce_197,
883
- 4, 147, :_reduce_198,
884
- 3, 147, :_reduce_199,
885
- 4, 147, :_reduce_200,
886
- 2, 147, :_reduce_201,
887
- 0, 148, :_reduce_202,
888
- 4, 147, :_reduce_203,
889
- 3, 147, :_reduce_204,
890
- 0, 149, :_reduce_205,
891
- 5, 147, :_reduce_206,
892
- 1, 128, :_reduce_207,
893
- 2, 128, :_reduce_208,
894
- 3, 128, :_reduce_209,
895
- 4, 128, :_reduce_210,
896
- 1, 100, :_reduce_211,
897
- 2, 100, :_reduce_212,
898
- 3, 100, :_reduce_213,
899
- 4, 100, :_reduce_214,
900
- 2, 150, :_reduce_none,
901
- 1, 151, :_reduce_none,
870
+ 2, 141, :_reduce_181,
871
+ 1, 142, :_reduce_182,
872
+ 3, 142, :_reduce_183,
873
+ 1, 145, :_reduce_184,
874
+ 3, 145, :_reduce_185,
875
+ 2, 146, :_reduce_186,
876
+ 2, 146, :_reduce_187,
877
+ 1, 146, :_reduce_188,
878
+ 1, 143, :_reduce_189,
879
+ 3, 143, :_reduce_190,
880
+ 1, 99, :_reduce_191,
881
+ 2, 99, :_reduce_192,
882
+ 1, 147, :_reduce_193,
883
+ 2, 147, :_reduce_194,
884
+ 1, 147, :_reduce_195,
885
+ 3, 148, :_reduce_196,
886
+ 2, 148, :_reduce_197,
887
+ 3, 148, :_reduce_198,
888
+ 3, 148, :_reduce_199,
889
+ 4, 148, :_reduce_200,
890
+ 3, 148, :_reduce_201,
891
+ 4, 148, :_reduce_202,
892
+ 2, 148, :_reduce_203,
893
+ 0, 149, :_reduce_204,
894
+ 4, 148, :_reduce_205,
895
+ 3, 148, :_reduce_206,
896
+ 0, 150, :_reduce_207,
897
+ 5, 148, :_reduce_208,
898
+ 1, 128, :_reduce_209,
899
+ 2, 128, :_reduce_210,
900
+ 3, 128, :_reduce_211,
901
+ 4, 128, :_reduce_212,
902
+ 1, 100, :_reduce_213,
903
+ 2, 100, :_reduce_214,
904
+ 3, 100, :_reduce_215,
905
+ 4, 100, :_reduce_216,
902
906
  2, 151, :_reduce_none,
903
- 3, 152, :_reduce_none,
907
+ 1, 152, :_reduce_none,
904
908
  2, 152, :_reduce_none,
905
- 1, 153, :_reduce_none,
906
- 1, 153, :_reduce_none,
907
- 1, 153, :_reduce_none,
908
- 1, 153, :_reduce_none,
909
- 1, 153, :_reduce_none,
910
- 1, 153, :_reduce_none,
911
- 3, 154, :_reduce_226,
912
- 4, 154, :_reduce_227,
913
- 3, 154, :_reduce_228,
914
- 1, 159, :_reduce_none,
915
- 1, 159, :_reduce_230,
916
- 2, 96, :_reduce_231,
917
- 0, 161, :_reduce_232,
918
- 0, 162, :_reduce_233,
919
- 5, 96, :_reduce_234,
920
- 1, 160, :_reduce_235,
921
- 2, 160, :_reduce_236,
922
- 1, 163, :_reduce_none,
923
- 1, 163, :_reduce_none,
924
- 1, 163, :_reduce_none,
925
- 1, 155, :_reduce_240,
926
- 2, 155, :_reduce_241,
927
- 5, 156, :_reduce_242,
928
- 7, 156, :_reduce_243,
929
- 5, 156, :_reduce_244,
930
- 5, 157, :_reduce_245,
931
- 7, 157, :_reduce_246,
932
- 6, 157, :_reduce_247,
933
- 7, 157, :_reduce_248,
934
- 6, 157, :_reduce_249,
935
- 7, 157, :_reduce_250,
936
- 3, 158, :_reduce_251,
937
- 4, 158, :_reduce_252,
938
- 2, 158, :_reduce_253,
939
- 2, 158, :_reduce_254,
940
- 2, 158, :_reduce_255,
941
- 3, 158, :_reduce_256,
942
- 0, 93, :_reduce_257,
943
- 2, 93, :_reduce_258,
944
- 1, 165, :_reduce_none,
945
- 1, 165, :_reduce_none,
946
- 4, 166, :_reduce_261,
947
- 3, 166, :_reduce_262,
948
- 3, 166, :_reduce_263,
949
- 2, 166, :_reduce_264,
950
- 4, 164, :_reduce_265,
951
- 3, 164, :_reduce_266,
952
- 1, 167, :_reduce_267,
953
- 2, 167, :_reduce_268 ]
954
-
955
- racc_reduce_n = 269
956
-
957
- racc_shift_n = 458
909
+ 3, 153, :_reduce_none,
910
+ 2, 153, :_reduce_none,
911
+ 1, 154, :_reduce_none,
912
+ 1, 154, :_reduce_none,
913
+ 1, 154, :_reduce_none,
914
+ 1, 154, :_reduce_none,
915
+ 1, 154, :_reduce_none,
916
+ 1, 154, :_reduce_none,
917
+ 3, 155, :_reduce_228,
918
+ 4, 155, :_reduce_229,
919
+ 3, 155, :_reduce_230,
920
+ 1, 160, :_reduce_none,
921
+ 1, 160, :_reduce_232,
922
+ 2, 96, :_reduce_233,
923
+ 0, 162, :_reduce_234,
924
+ 0, 163, :_reduce_235,
925
+ 5, 96, :_reduce_236,
926
+ 1, 161, :_reduce_237,
927
+ 2, 161, :_reduce_238,
928
+ 1, 164, :_reduce_none,
929
+ 1, 164, :_reduce_none,
930
+ 1, 164, :_reduce_none,
931
+ 1, 156, :_reduce_242,
932
+ 2, 156, :_reduce_243,
933
+ 5, 157, :_reduce_244,
934
+ 7, 157, :_reduce_245,
935
+ 5, 157, :_reduce_246,
936
+ 5, 158, :_reduce_247,
937
+ 7, 158, :_reduce_248,
938
+ 6, 158, :_reduce_249,
939
+ 7, 158, :_reduce_250,
940
+ 6, 158, :_reduce_251,
941
+ 7, 158, :_reduce_252,
942
+ 3, 159, :_reduce_253,
943
+ 4, 159, :_reduce_254,
944
+ 2, 159, :_reduce_255,
945
+ 2, 159, :_reduce_256,
946
+ 2, 159, :_reduce_257,
947
+ 3, 159, :_reduce_258,
948
+ 0, 93, :_reduce_259,
949
+ 2, 93, :_reduce_260,
950
+ 1, 166, :_reduce_none,
951
+ 1, 166, :_reduce_none,
952
+ 4, 167, :_reduce_263,
953
+ 3, 167, :_reduce_264,
954
+ 3, 167, :_reduce_265,
955
+ 2, 167, :_reduce_266,
956
+ 4, 165, :_reduce_267,
957
+ 3, 165, :_reduce_268,
958
+ 1, 168, :_reduce_269,
959
+ 2, 168, :_reduce_270 ]
960
+
961
+ racc_reduce_n = 271
962
+
963
+ racc_shift_n = 460
958
964
 
959
965
  racc_token_table = {
960
966
  false => 0,
@@ -1209,6 +1215,7 @@ Racc_token_to_s_table = [
1209
1215
  "struct_declarator",
1210
1216
  "enumerator_list",
1211
1217
  "enumerator",
1218
+ "enumerator_name",
1212
1219
  "pointer",
1213
1220
  "direct_declarator",
1214
1221
  "type_qualifier_list",
@@ -2505,46 +2512,58 @@ module_eval(<<'.,.,', 'parser.y', 983)
2505
2512
  result = EnumSpecifier.new(create_anon_tag_name(val[0]), val[2])
2506
2513
  result.head_token = val[0]
2507
2514
  result.tail_token = val[3]
2515
+ result.enumerators.each do |enum|
2516
+ @lexer.add_enumerator_name(enum.identifier)
2517
+ end
2508
2518
 
2509
2519
  result
2510
2520
  end
2511
2521
  .,.,
2512
2522
 
2513
- module_eval(<<'.,.,', 'parser.y', 990)
2523
+ module_eval(<<'.,.,', 'parser.y', 993)
2514
2524
  def _reduce_146(val, _values, result)
2515
2525
  checkpoint(val[0].location)
2516
2526
  result = EnumSpecifier.new(val[1], val[3])
2517
2527
  result.head_token = val[0]
2518
2528
  result.tail_token = val[4]
2529
+ result.enumerators.each do |enum|
2530
+ @lexer.add_enumerator_name(enum.identifier)
2531
+ end
2519
2532
 
2520
2533
  result
2521
2534
  end
2522
2535
  .,.,
2523
2536
 
2524
- module_eval(<<'.,.,', 'parser.y', 997)
2537
+ module_eval(<<'.,.,', 'parser.y', 1003)
2525
2538
  def _reduce_147(val, _values, result)
2526
2539
  checkpoint(val[0].location)
2527
2540
  result = EnumSpecifier.new(create_anon_tag_name(val[0]),
2528
2541
  val[2], val[3])
2529
2542
  result.head_token = val[0]
2530
2543
  result.tail_token = val[4]
2544
+ result.enumerators.each do |enum|
2545
+ @lexer.add_enumerator_name(enum.identifier)
2546
+ end
2531
2547
 
2532
2548
  result
2533
2549
  end
2534
2550
  .,.,
2535
2551
 
2536
- module_eval(<<'.,.,', 'parser.y', 1005)
2552
+ module_eval(<<'.,.,', 'parser.y', 1014)
2537
2553
  def _reduce_148(val, _values, result)
2538
2554
  checkpoint(val[0].location)
2539
2555
  result = EnumSpecifier.new(val[1], val[3], val[4])
2540
2556
  result.head_token = val[0]
2541
2557
  result.tail_token = val[5]
2558
+ result.enumerators.each do |enum|
2559
+ @lexer.add_enumerator_name(enum.identifier)
2560
+ end
2542
2561
 
2543
2562
  result
2544
2563
  end
2545
2564
  .,.,
2546
2565
 
2547
- module_eval(<<'.,.,', 'parser.y', 1012)
2566
+ module_eval(<<'.,.,', 'parser.y', 1024)
2548
2567
  def _reduce_149(val, _values, result)
2549
2568
  checkpoint(val[0].location)
2550
2569
  result = EnumSpecifier.new(val[1], nil)
@@ -2555,7 +2574,7 @@ module_eval(<<'.,.,', 'parser.y', 1012)
2555
2574
  end
2556
2575
  .,.,
2557
2576
 
2558
- module_eval(<<'.,.,', 'parser.y', 1022)
2577
+ module_eval(<<'.,.,', 'parser.y', 1034)
2559
2578
  def _reduce_150(val, _values, result)
2560
2579
  checkpoint(val[0].location)
2561
2580
  result = val
@@ -2564,7 +2583,7 @@ module_eval(<<'.,.,', 'parser.y', 1022)
2564
2583
  end
2565
2584
  .,.,
2566
2585
 
2567
- module_eval(<<'.,.,', 'parser.y', 1027)
2586
+ module_eval(<<'.,.,', 'parser.y', 1039)
2568
2587
  def _reduce_151(val, _values, result)
2569
2588
  checkpoint(val[0].first.location)
2570
2589
  result = val[0].push(val[2])
@@ -2573,7 +2592,7 @@ module_eval(<<'.,.,', 'parser.y', 1027)
2573
2592
  end
2574
2593
  .,.,
2575
2594
 
2576
- module_eval(<<'.,.,', 'parser.y', 1035)
2595
+ module_eval(<<'.,.,', 'parser.y', 1047)
2577
2596
  def _reduce_152(val, _values, result)
2578
2597
  checkpoint(val[0].location)
2579
2598
  sym = @sym_tbl.create_new_symbol(EnumeratorName, val[0])
@@ -2584,7 +2603,7 @@ module_eval(<<'.,.,', 'parser.y', 1035)
2584
2603
  end
2585
2604
  .,.,
2586
2605
 
2587
- module_eval(<<'.,.,', 'parser.y', 1042)
2606
+ module_eval(<<'.,.,', 'parser.y', 1054)
2588
2607
  def _reduce_153(val, _values, result)
2589
2608
  checkpoint(val[0].location)
2590
2609
  val[2].full = true
@@ -2599,14 +2618,24 @@ module_eval(<<'.,.,', 'parser.y', 1042)
2599
2618
 
2600
2619
  # reduce 154 omitted
2601
2620
 
2602
- # reduce 155 omitted
2621
+ module_eval(<<'.,.,', 'parser.y', 1067)
2622
+ def _reduce_155(val, _values, result)
2623
+ result = val[0].class.new(:IDENTIFIER, val[0].value, val[0].location)
2624
+
2625
+ result
2626
+ end
2627
+ .,.,
2603
2628
 
2604
2629
  # reduce 156 omitted
2605
2630
 
2606
2631
  # reduce 157 omitted
2607
2632
 
2608
- module_eval(<<'.,.,', 'parser.y', 1064)
2609
- def _reduce_158(val, _values, result)
2633
+ # reduce 158 omitted
2634
+
2635
+ # reduce 159 omitted
2636
+
2637
+ module_eval(<<'.,.,', 'parser.y', 1084)
2638
+ def _reduce_160(val, _values, result)
2610
2639
  checkpoint(val[0].first.location)
2611
2640
  result = val[1]
2612
2641
  result.pointer = val[0]
@@ -2617,8 +2646,8 @@ module_eval(<<'.,.,', 'parser.y', 1064)
2617
2646
  end
2618
2647
  .,.,
2619
2648
 
2620
- module_eval(<<'.,.,', 'parser.y', 1072)
2621
- def _reduce_159(val, _values, result)
2649
+ module_eval(<<'.,.,', 'parser.y', 1092)
2650
+ def _reduce_161(val, _values, result)
2622
2651
  checkpoint(val[0].location)
2623
2652
  result = val[0]
2624
2653
  result.full = true
@@ -2627,8 +2656,8 @@ module_eval(<<'.,.,', 'parser.y', 1072)
2627
2656
  end
2628
2657
  .,.,
2629
2658
 
2630
- module_eval(<<'.,.,', 'parser.y', 1081)
2631
- def _reduce_160(val, _values, result)
2659
+ module_eval(<<'.,.,', 'parser.y', 1101)
2660
+ def _reduce_162(val, _values, result)
2632
2661
  checkpoint(val[0].location)
2633
2662
  @lexer.enable_identifier_translation
2634
2663
  result = IdentifierDeclarator.new(val[0])
@@ -2638,8 +2667,8 @@ module_eval(<<'.,.,', 'parser.y', 1081)
2638
2667
  end
2639
2668
  .,.,
2640
2669
 
2641
- module_eval(<<'.,.,', 'parser.y', 1088)
2642
- def _reduce_161(val, _values, result)
2670
+ module_eval(<<'.,.,', 'parser.y', 1108)
2671
+ def _reduce_163(val, _values, result)
2643
2672
  checkpoint(val[0].location)
2644
2673
  result = GroupedDeclarator.new(val[1])
2645
2674
  result.head_token = val[0]
@@ -2649,8 +2678,8 @@ module_eval(<<'.,.,', 'parser.y', 1088)
2649
2678
  end
2650
2679
  .,.,
2651
2680
 
2652
- module_eval(<<'.,.,', 'parser.y', 1095)
2653
- def _reduce_162(val, _values, result)
2681
+ module_eval(<<'.,.,', 'parser.y', 1115)
2682
+ def _reduce_164(val, _values, result)
2654
2683
  checkpoint(val[0].location)
2655
2684
  val[3].full = true
2656
2685
  result = ArrayDeclarator.new(val[0], val[3])
@@ -2661,8 +2690,8 @@ module_eval(<<'.,.,', 'parser.y', 1095)
2661
2690
  end
2662
2691
  .,.,
2663
2692
 
2664
- module_eval(<<'.,.,', 'parser.y', 1103)
2665
- def _reduce_163(val, _values, result)
2693
+ module_eval(<<'.,.,', 'parser.y', 1123)
2694
+ def _reduce_165(val, _values, result)
2666
2695
  checkpoint(val[0].location)
2667
2696
  result = ArrayDeclarator.new(val[0], nil)
2668
2697
  result.head_token = val[0].head_token
@@ -2672,8 +2701,8 @@ module_eval(<<'.,.,', 'parser.y', 1103)
2672
2701
  end
2673
2702
  .,.,
2674
2703
 
2675
- module_eval(<<'.,.,', 'parser.y', 1110)
2676
- def _reduce_164(val, _values, result)
2704
+ module_eval(<<'.,.,', 'parser.y', 1130)
2705
+ def _reduce_166(val, _values, result)
2677
2706
  checkpoint(val[0].location)
2678
2707
  val[2].full = true
2679
2708
  result = ArrayDeclarator.new(val[0], val[2])
@@ -2684,8 +2713,8 @@ module_eval(<<'.,.,', 'parser.y', 1110)
2684
2713
  end
2685
2714
  .,.,
2686
2715
 
2687
- module_eval(<<'.,.,', 'parser.y', 1119)
2688
- def _reduce_165(val, _values, result)
2716
+ module_eval(<<'.,.,', 'parser.y', 1139)
2717
+ def _reduce_167(val, _values, result)
2689
2718
  checkpoint(val[0].location)
2690
2719
  val[4].full = true
2691
2720
  result = ArrayDeclarator.new(val[0], val[4])
@@ -2696,8 +2725,8 @@ module_eval(<<'.,.,', 'parser.y', 1119)
2696
2725
  end
2697
2726
  .,.,
2698
2727
 
2699
- module_eval(<<'.,.,', 'parser.y', 1128)
2700
- def _reduce_166(val, _values, result)
2728
+ module_eval(<<'.,.,', 'parser.y', 1148)
2729
+ def _reduce_168(val, _values, result)
2701
2730
  checkpoint(val[0].location)
2702
2731
  val[4].full = true
2703
2732
  result = ArrayDeclarator.new(val[0], val[4])
@@ -2708,8 +2737,8 @@ module_eval(<<'.,.,', 'parser.y', 1128)
2708
2737
  end
2709
2738
  .,.,
2710
2739
 
2711
- module_eval(<<'.,.,', 'parser.y', 1136)
2712
- def _reduce_167(val, _values, result)
2740
+ module_eval(<<'.,.,', 'parser.y', 1156)
2741
+ def _reduce_169(val, _values, result)
2713
2742
  checkpoint(val[0].location)
2714
2743
  result = ArrayDeclarator.new(val[0], nil)
2715
2744
  result.head_token = val[0].head_token
@@ -2719,8 +2748,8 @@ module_eval(<<'.,.,', 'parser.y', 1136)
2719
2748
  end
2720
2749
  .,.,
2721
2750
 
2722
- module_eval(<<'.,.,', 'parser.y', 1143)
2723
- def _reduce_168(val, _values, result)
2751
+ module_eval(<<'.,.,', 'parser.y', 1163)
2752
+ def _reduce_170(val, _values, result)
2724
2753
  checkpoint(val[0].location)
2725
2754
  result = ArrayDeclarator.new(val[0], nil)
2726
2755
  result.head_token = val[0].head_token
@@ -2730,8 +2759,8 @@ module_eval(<<'.,.,', 'parser.y', 1143)
2730
2759
  end
2731
2760
  .,.,
2732
2761
 
2733
- module_eval(<<'.,.,', 'parser.y', 1150)
2734
- def _reduce_169(val, _values, result)
2762
+ module_eval(<<'.,.,', 'parser.y', 1170)
2763
+ def _reduce_171(val, _values, result)
2735
2764
  checkpoint(val[0].location)
2736
2765
  result = ArrayDeclarator.new(val[0], nil)
2737
2766
  result.head_token = val[0].head_token
@@ -2741,15 +2770,15 @@ module_eval(<<'.,.,', 'parser.y', 1150)
2741
2770
  end
2742
2771
  .,.,
2743
2772
 
2744
- module_eval(<<'.,.,', 'parser.y', 1155)
2745
- def _reduce_170(val, _values, result)
2773
+ module_eval(<<'.,.,', 'parser.y', 1175)
2774
+ def _reduce_172(val, _values, result)
2746
2775
  @lexer.enable_identifier_translation
2747
2776
  result
2748
2777
  end
2749
2778
  .,.,
2750
2779
 
2751
- module_eval(<<'.,.,', 'parser.y', 1158)
2752
- def _reduce_171(val, _values, result)
2780
+ module_eval(<<'.,.,', 'parser.y', 1178)
2781
+ def _reduce_173(val, _values, result)
2753
2782
  checkpoint(val[0].location)
2754
2783
  result = AnsiFunctionDeclarator.new(val[0], val[3])
2755
2784
  result.head_token = val[0].head_token
@@ -2759,8 +2788,8 @@ module_eval(<<'.,.,', 'parser.y', 1158)
2759
2788
  end
2760
2789
  .,.,
2761
2790
 
2762
- module_eval(<<'.,.,', 'parser.y', 1165)
2763
- def _reduce_172(val, _values, result)
2791
+ module_eval(<<'.,.,', 'parser.y', 1185)
2792
+ def _reduce_174(val, _values, result)
2764
2793
  checkpoint(val[0].location)
2765
2794
  result = KandRFunctionDeclarator.new(val[0], val[2])
2766
2795
  result.head_token = val[0].head_token
@@ -2770,8 +2799,8 @@ module_eval(<<'.,.,', 'parser.y', 1165)
2770
2799
  end
2771
2800
  .,.,
2772
2801
 
2773
- module_eval(<<'.,.,', 'parser.y', 1172)
2774
- def _reduce_173(val, _values, result)
2802
+ module_eval(<<'.,.,', 'parser.y', 1192)
2803
+ def _reduce_175(val, _values, result)
2775
2804
  checkpoint(val[0].location)
2776
2805
  result = AbbreviatedFunctionDeclarator.new(val[0])
2777
2806
  result.head_token = val[0].head_token
@@ -2781,8 +2810,8 @@ module_eval(<<'.,.,', 'parser.y', 1172)
2781
2810
  end
2782
2811
  .,.,
2783
2812
 
2784
- module_eval(<<'.,.,', 'parser.y', 1182)
2785
- def _reduce_174(val, _values, result)
2813
+ module_eval(<<'.,.,', 'parser.y', 1202)
2814
+ def _reduce_176(val, _values, result)
2786
2815
  checkpoint(val[0].location)
2787
2816
  result = val
2788
2817
 
@@ -2790,8 +2819,8 @@ module_eval(<<'.,.,', 'parser.y', 1182)
2790
2819
  end
2791
2820
  .,.,
2792
2821
 
2793
- module_eval(<<'.,.,', 'parser.y', 1187)
2794
- def _reduce_175(val, _values, result)
2822
+ module_eval(<<'.,.,', 'parser.y', 1207)
2823
+ def _reduce_177(val, _values, result)
2795
2824
  checkpoint(val[0].location)
2796
2825
  result = val[1].unshift(val[0])
2797
2826
 
@@ -2799,8 +2828,8 @@ module_eval(<<'.,.,', 'parser.y', 1187)
2799
2828
  end
2800
2829
  .,.,
2801
2830
 
2802
- module_eval(<<'.,.,', 'parser.y', 1192)
2803
- def _reduce_176(val, _values, result)
2831
+ module_eval(<<'.,.,', 'parser.y', 1212)
2832
+ def _reduce_178(val, _values, result)
2804
2833
  checkpoint(val[0].location)
2805
2834
  result = val[1].unshift(val[0])
2806
2835
 
@@ -2808,8 +2837,8 @@ module_eval(<<'.,.,', 'parser.y', 1192)
2808
2837
  end
2809
2838
  .,.,
2810
2839
 
2811
- module_eval(<<'.,.,', 'parser.y', 1197)
2812
- def _reduce_177(val, _values, result)
2840
+ module_eval(<<'.,.,', 'parser.y', 1217)
2841
+ def _reduce_179(val, _values, result)
2813
2842
  checkpoint(val[0].location)
2814
2843
  result = val[1].unshift(val[0]).concat(val[2])
2815
2844
 
@@ -2817,8 +2846,8 @@ module_eval(<<'.,.,', 'parser.y', 1197)
2817
2846
  end
2818
2847
  .,.,
2819
2848
 
2820
- module_eval(<<'.,.,', 'parser.y', 1205)
2821
- def _reduce_178(val, _values, result)
2849
+ module_eval(<<'.,.,', 'parser.y', 1225)
2850
+ def _reduce_180(val, _values, result)
2822
2851
  checkpoint(val[0].location)
2823
2852
  result = val
2824
2853
 
@@ -2826,8 +2855,8 @@ module_eval(<<'.,.,', 'parser.y', 1205)
2826
2855
  end
2827
2856
  .,.,
2828
2857
 
2829
- module_eval(<<'.,.,', 'parser.y', 1210)
2830
- def _reduce_179(val, _values, result)
2858
+ module_eval(<<'.,.,', 'parser.y', 1230)
2859
+ def _reduce_181(val, _values, result)
2831
2860
  checkpoint(val[0].first.location)
2832
2861
  result = val[0].push(val[1])
2833
2862
 
@@ -2835,8 +2864,8 @@ module_eval(<<'.,.,', 'parser.y', 1210)
2835
2864
  end
2836
2865
  .,.,
2837
2866
 
2838
- module_eval(<<'.,.,', 'parser.y', 1218)
2839
- def _reduce_180(val, _values, result)
2867
+ module_eval(<<'.,.,', 'parser.y', 1238)
2868
+ def _reduce_182(val, _values, result)
2840
2869
  checkpoint(val[0].first.location)
2841
2870
  result = ParameterTypeList.new(val[0], false)
2842
2871
  result.head_token = val[0].first.head_token
@@ -2846,8 +2875,8 @@ module_eval(<<'.,.,', 'parser.y', 1218)
2846
2875
  end
2847
2876
  .,.,
2848
2877
 
2849
- module_eval(<<'.,.,', 'parser.y', 1225)
2850
- def _reduce_181(val, _values, result)
2878
+ module_eval(<<'.,.,', 'parser.y', 1245)
2879
+ def _reduce_183(val, _values, result)
2851
2880
  checkpoint(val[0].first.location)
2852
2881
  result = ParameterTypeList.new(val[0], true)
2853
2882
  result.head_token = val[0].first.head_token
@@ -2857,8 +2886,8 @@ module_eval(<<'.,.,', 'parser.y', 1225)
2857
2886
  end
2858
2887
  .,.,
2859
2888
 
2860
- module_eval(<<'.,.,', 'parser.y', 1235)
2861
- def _reduce_182(val, _values, result)
2889
+ module_eval(<<'.,.,', 'parser.y', 1255)
2890
+ def _reduce_184(val, _values, result)
2862
2891
  checkpoint(val[0].location)
2863
2892
  result = val
2864
2893
 
@@ -2866,8 +2895,8 @@ module_eval(<<'.,.,', 'parser.y', 1235)
2866
2895
  end
2867
2896
  .,.,
2868
2897
 
2869
- module_eval(<<'.,.,', 'parser.y', 1240)
2870
- def _reduce_183(val, _values, result)
2898
+ module_eval(<<'.,.,', 'parser.y', 1260)
2899
+ def _reduce_185(val, _values, result)
2871
2900
  checkpoint(val[0].first.location)
2872
2901
  result = val[0].push(val[2])
2873
2902
 
@@ -2875,8 +2904,8 @@ module_eval(<<'.,.,', 'parser.y', 1240)
2875
2904
  end
2876
2905
  .,.,
2877
2906
 
2878
- module_eval(<<'.,.,', 'parser.y', 1248)
2879
- def _reduce_184(val, _values, result)
2907
+ module_eval(<<'.,.,', 'parser.y', 1268)
2908
+ def _reduce_186(val, _values, result)
2880
2909
  checkpoint(val[0].location)
2881
2910
  @lexer.enable_identifier_translation
2882
2911
  result = ParameterDeclaration.new(val[0], val[1])
@@ -2887,8 +2916,8 @@ module_eval(<<'.,.,', 'parser.y', 1248)
2887
2916
  end
2888
2917
  .,.,
2889
2918
 
2890
- module_eval(<<'.,.,', 'parser.y', 1256)
2891
- def _reduce_185(val, _values, result)
2919
+ module_eval(<<'.,.,', 'parser.y', 1276)
2920
+ def _reduce_187(val, _values, result)
2892
2921
  checkpoint(val[0].location)
2893
2922
  @lexer.enable_identifier_translation
2894
2923
  result = ParameterDeclaration.new(val[0], val[1])
@@ -2899,8 +2928,8 @@ module_eval(<<'.,.,', 'parser.y', 1256)
2899
2928
  end
2900
2929
  .,.,
2901
2930
 
2902
- module_eval(<<'.,.,', 'parser.y', 1264)
2903
- def _reduce_186(val, _values, result)
2931
+ module_eval(<<'.,.,', 'parser.y', 1284)
2932
+ def _reduce_188(val, _values, result)
2904
2933
  checkpoint(val[0].location)
2905
2934
  @lexer.enable_identifier_translation
2906
2935
  result = ParameterDeclaration.new(val[0], nil)
@@ -2911,8 +2940,8 @@ module_eval(<<'.,.,', 'parser.y', 1264)
2911
2940
  end
2912
2941
  .,.,
2913
2942
 
2914
- module_eval(<<'.,.,', 'parser.y', 1275)
2915
- def _reduce_187(val, _values, result)
2943
+ module_eval(<<'.,.,', 'parser.y', 1295)
2944
+ def _reduce_189(val, _values, result)
2916
2945
  checkpoint(val[0].location)
2917
2946
  result = val
2918
2947
 
@@ -2920,8 +2949,8 @@ module_eval(<<'.,.,', 'parser.y', 1275)
2920
2949
  end
2921
2950
  .,.,
2922
2951
 
2923
- module_eval(<<'.,.,', 'parser.y', 1280)
2924
- def _reduce_188(val, _values, result)
2952
+ module_eval(<<'.,.,', 'parser.y', 1300)
2953
+ def _reduce_190(val, _values, result)
2925
2954
  checkpoint(val[0].first.location)
2926
2955
  result = val[0].push(val[2])
2927
2956
 
@@ -2929,8 +2958,8 @@ module_eval(<<'.,.,', 'parser.y', 1280)
2929
2958
  end
2930
2959
  .,.,
2931
2960
 
2932
- module_eval(<<'.,.,', 'parser.y', 1288)
2933
- def _reduce_189(val, _values, result)
2961
+ module_eval(<<'.,.,', 'parser.y', 1308)
2962
+ def _reduce_191(val, _values, result)
2934
2963
  checkpoint(val[0].location)
2935
2964
  @lexer.enable_identifier_translation
2936
2965
  result = TypeName.new(val[0], nil, @sym_tbl)
@@ -2941,8 +2970,8 @@ module_eval(<<'.,.,', 'parser.y', 1288)
2941
2970
  end
2942
2971
  .,.,
2943
2972
 
2944
- module_eval(<<'.,.,', 'parser.y', 1296)
2945
- def _reduce_190(val, _values, result)
2973
+ module_eval(<<'.,.,', 'parser.y', 1316)
2974
+ def _reduce_192(val, _values, result)
2946
2975
  checkpoint(val[0].location)
2947
2976
  @lexer.enable_identifier_translation
2948
2977
  result = TypeName.new(val[0], val[1], @sym_tbl)
@@ -2953,8 +2982,8 @@ module_eval(<<'.,.,', 'parser.y', 1296)
2953
2982
  end
2954
2983
  .,.,
2955
2984
 
2956
- module_eval(<<'.,.,', 'parser.y', 1307)
2957
- def _reduce_191(val, _values, result)
2985
+ module_eval(<<'.,.,', 'parser.y', 1327)
2986
+ def _reduce_193(val, _values, result)
2958
2987
  checkpoint(val[0].first.location)
2959
2988
  @lexer.enable_identifier_translation
2960
2989
  result = PointerAbstractDeclarator.new(nil, val[0])
@@ -2966,8 +2995,8 @@ module_eval(<<'.,.,', 'parser.y', 1307)
2966
2995
  end
2967
2996
  .,.,
2968
2997
 
2969
- module_eval(<<'.,.,', 'parser.y', 1316)
2970
- def _reduce_192(val, _values, result)
2998
+ module_eval(<<'.,.,', 'parser.y', 1336)
2999
+ def _reduce_194(val, _values, result)
2971
3000
  checkpoint(val[0].first.location)
2972
3001
  @lexer.enable_identifier_translation
2973
3002
  result = PointerAbstractDeclarator.new(val[1], val[0])
@@ -2979,8 +3008,8 @@ module_eval(<<'.,.,', 'parser.y', 1316)
2979
3008
  end
2980
3009
  .,.,
2981
3010
 
2982
- module_eval(<<'.,.,', 'parser.y', 1325)
2983
- def _reduce_193(val, _values, result)
3011
+ module_eval(<<'.,.,', 'parser.y', 1345)
3012
+ def _reduce_195(val, _values, result)
2984
3013
  checkpoint(val[0].location)
2985
3014
  result = val[0]
2986
3015
  result.full = true
@@ -2989,8 +3018,8 @@ module_eval(<<'.,.,', 'parser.y', 1325)
2989
3018
  end
2990
3019
  .,.,
2991
3020
 
2992
- module_eval(<<'.,.,', 'parser.y', 1334)
2993
- def _reduce_194(val, _values, result)
3021
+ module_eval(<<'.,.,', 'parser.y', 1354)
3022
+ def _reduce_196(val, _values, result)
2994
3023
  checkpoint(val[0].location)
2995
3024
  result = GroupedAbstractDeclarator.new(val[1])
2996
3025
  result.head_token = val[0]
@@ -3000,8 +3029,8 @@ module_eval(<<'.,.,', 'parser.y', 1334)
3000
3029
  end
3001
3030
  .,.,
3002
3031
 
3003
- module_eval(<<'.,.,', 'parser.y', 1341)
3004
- def _reduce_195(val, _values, result)
3032
+ module_eval(<<'.,.,', 'parser.y', 1361)
3033
+ def _reduce_197(val, _values, result)
3005
3034
  checkpoint(val[0].location)
3006
3035
  result = ArrayAbstractDeclarator.new(nil, nil)
3007
3036
  result.head_token = val[0]
@@ -3011,8 +3040,8 @@ module_eval(<<'.,.,', 'parser.y', 1341)
3011
3040
  end
3012
3041
  .,.,
3013
3042
 
3014
- module_eval(<<'.,.,', 'parser.y', 1348)
3015
- def _reduce_196(val, _values, result)
3043
+ module_eval(<<'.,.,', 'parser.y', 1368)
3044
+ def _reduce_198(val, _values, result)
3016
3045
  checkpoint(val[0].location)
3017
3046
  val[1].full = true
3018
3047
  result = ArrayAbstractDeclarator.new(nil, val[1])
@@ -3023,8 +3052,8 @@ module_eval(<<'.,.,', 'parser.y', 1348)
3023
3052
  end
3024
3053
  .,.,
3025
3054
 
3026
- module_eval(<<'.,.,', 'parser.y', 1356)
3027
- def _reduce_197(val, _values, result)
3055
+ module_eval(<<'.,.,', 'parser.y', 1376)
3056
+ def _reduce_199(val, _values, result)
3028
3057
  checkpoint(val[0].location)
3029
3058
  result = ArrayAbstractDeclarator.new(val[0], nil)
3030
3059
  result.head_token = val[0].head_token
@@ -3034,8 +3063,8 @@ module_eval(<<'.,.,', 'parser.y', 1356)
3034
3063
  end
3035
3064
  .,.,
3036
3065
 
3037
- module_eval(<<'.,.,', 'parser.y', 1363)
3038
- def _reduce_198(val, _values, result)
3066
+ module_eval(<<'.,.,', 'parser.y', 1383)
3067
+ def _reduce_200(val, _values, result)
3039
3068
  checkpoint(val[0].location)
3040
3069
  val[2].full = true
3041
3070
  result = ArrayAbstractDeclarator.new(val[0], val[2])
@@ -3046,8 +3075,8 @@ module_eval(<<'.,.,', 'parser.y', 1363)
3046
3075
  end
3047
3076
  .,.,
3048
3077
 
3049
- module_eval(<<'.,.,', 'parser.y', 1371)
3050
- def _reduce_199(val, _values, result)
3078
+ module_eval(<<'.,.,', 'parser.y', 1391)
3079
+ def _reduce_201(val, _values, result)
3051
3080
  checkpoint(val[0].location)
3052
3081
  result = ArrayAbstractDeclarator.new(nil, nil)
3053
3082
  result.head_token = val[0]
@@ -3057,8 +3086,8 @@ module_eval(<<'.,.,', 'parser.y', 1371)
3057
3086
  end
3058
3087
  .,.,
3059
3088
 
3060
- module_eval(<<'.,.,', 'parser.y', 1378)
3061
- def _reduce_200(val, _values, result)
3089
+ module_eval(<<'.,.,', 'parser.y', 1398)
3090
+ def _reduce_202(val, _values, result)
3062
3091
  checkpoint(val[0].location)
3063
3092
  result = ArrayAbstractDeclarator.new(val[0], nil)
3064
3093
  result.head_token = val[0].head_token
@@ -3068,8 +3097,8 @@ module_eval(<<'.,.,', 'parser.y', 1378)
3068
3097
  end
3069
3098
  .,.,
3070
3099
 
3071
- module_eval(<<'.,.,', 'parser.y', 1385)
3072
- def _reduce_201(val, _values, result)
3100
+ module_eval(<<'.,.,', 'parser.y', 1405)
3101
+ def _reduce_203(val, _values, result)
3073
3102
  checkpoint(val[0].location)
3074
3103
  result = FunctionAbstractDeclarator.new(nil, nil)
3075
3104
  result.head_token = val[0]
@@ -3079,15 +3108,15 @@ module_eval(<<'.,.,', 'parser.y', 1385)
3079
3108
  end
3080
3109
  .,.,
3081
3110
 
3082
- module_eval(<<'.,.,', 'parser.y', 1390)
3083
- def _reduce_202(val, _values, result)
3111
+ module_eval(<<'.,.,', 'parser.y', 1410)
3112
+ def _reduce_204(val, _values, result)
3084
3113
  @lexer.enable_identifier_translation
3085
3114
  result
3086
3115
  end
3087
3116
  .,.,
3088
3117
 
3089
- module_eval(<<'.,.,', 'parser.y', 1392)
3090
- def _reduce_203(val, _values, result)
3118
+ module_eval(<<'.,.,', 'parser.y', 1412)
3119
+ def _reduce_205(val, _values, result)
3091
3120
  checkpoint(val[0].location)
3092
3121
  result = FunctionAbstractDeclarator.new(nil, val[2])
3093
3122
  result.head_token = val[0]
@@ -3097,8 +3126,8 @@ module_eval(<<'.,.,', 'parser.y', 1392)
3097
3126
  end
3098
3127
  .,.,
3099
3128
 
3100
- module_eval(<<'.,.,', 'parser.y', 1399)
3101
- def _reduce_204(val, _values, result)
3129
+ module_eval(<<'.,.,', 'parser.y', 1419)
3130
+ def _reduce_206(val, _values, result)
3102
3131
  checkpoint(val[0].location)
3103
3132
  result = FunctionAbstractDeclarator.new(val[0], nil)
3104
3133
  result.head_token = val[0].head_token
@@ -3108,15 +3137,15 @@ module_eval(<<'.,.,', 'parser.y', 1399)
3108
3137
  end
3109
3138
  .,.,
3110
3139
 
3111
- module_eval(<<'.,.,', 'parser.y', 1404)
3112
- def _reduce_205(val, _values, result)
3140
+ module_eval(<<'.,.,', 'parser.y', 1424)
3141
+ def _reduce_207(val, _values, result)
3113
3142
  @lexer.enable_identifier_translation
3114
3143
  result
3115
3144
  end
3116
3145
  .,.,
3117
3146
 
3118
- module_eval(<<'.,.,', 'parser.y', 1407)
3119
- def _reduce_206(val, _values, result)
3147
+ module_eval(<<'.,.,', 'parser.y', 1427)
3148
+ def _reduce_208(val, _values, result)
3120
3149
  checkpoint(val[0].location)
3121
3150
  result = FunctionAbstractDeclarator.new(val[0], val[3])
3122
3151
  result.head_token = val[0].head_token
@@ -3126,8 +3155,8 @@ module_eval(<<'.,.,', 'parser.y', 1407)
3126
3155
  end
3127
3156
  .,.,
3128
3157
 
3129
- module_eval(<<'.,.,', 'parser.y', 1417)
3130
- def _reduce_207(val, _values, result)
3158
+ module_eval(<<'.,.,', 'parser.y', 1437)
3159
+ def _reduce_209(val, _values, result)
3131
3160
  checkpoint(val[0].location)
3132
3161
  val[0].full = true
3133
3162
  result = Initializer.new(val[0], nil)
@@ -3138,8 +3167,8 @@ module_eval(<<'.,.,', 'parser.y', 1417)
3138
3167
  end
3139
3168
  .,.,
3140
3169
 
3141
- module_eval(<<'.,.,', 'parser.y', 1425)
3142
- def _reduce_208(val, _values, result)
3170
+ module_eval(<<'.,.,', 'parser.y', 1445)
3171
+ def _reduce_210(val, _values, result)
3143
3172
  checkpoint(val[0].location)
3144
3173
  result = Initializer.new(nil, nil)
3145
3174
  result.head_token = val[0]
@@ -3149,8 +3178,8 @@ module_eval(<<'.,.,', 'parser.y', 1425)
3149
3178
  end
3150
3179
  .,.,
3151
3180
 
3152
- module_eval(<<'.,.,', 'parser.y', 1432)
3153
- def _reduce_209(val, _values, result)
3181
+ module_eval(<<'.,.,', 'parser.y', 1452)
3182
+ def _reduce_211(val, _values, result)
3154
3183
  checkpoint(val[0].location)
3155
3184
  result = Initializer.new(nil, val[1])
3156
3185
  result.head_token = val[0]
@@ -3160,8 +3189,8 @@ module_eval(<<'.,.,', 'parser.y', 1432)
3160
3189
  end
3161
3190
  .,.,
3162
3191
 
3163
- module_eval(<<'.,.,', 'parser.y', 1439)
3164
- def _reduce_210(val, _values, result)
3192
+ module_eval(<<'.,.,', 'parser.y', 1459)
3193
+ def _reduce_212(val, _values, result)
3165
3194
  checkpoint(val[0].location)
3166
3195
  result = Initializer.new(nil, val[1])
3167
3196
  result.head_token = val[0]
@@ -3171,8 +3200,8 @@ module_eval(<<'.,.,', 'parser.y', 1439)
3171
3200
  end
3172
3201
  .,.,
3173
3202
 
3174
- module_eval(<<'.,.,', 'parser.y', 1449)
3175
- def _reduce_211(val, _values, result)
3203
+ module_eval(<<'.,.,', 'parser.y', 1469)
3204
+ def _reduce_213(val, _values, result)
3176
3205
  checkpoint(val[0].location)
3177
3206
  result = val
3178
3207
 
@@ -3180,8 +3209,8 @@ module_eval(<<'.,.,', 'parser.y', 1449)
3180
3209
  end
3181
3210
  .,.,
3182
3211
 
3183
- module_eval(<<'.,.,', 'parser.y', 1454)
3184
- def _reduce_212(val, _values, result)
3212
+ module_eval(<<'.,.,', 'parser.y', 1474)
3213
+ def _reduce_214(val, _values, result)
3185
3214
  checkpoint(val[1].location)
3186
3215
  result = [val[1]]
3187
3216
 
@@ -3189,8 +3218,8 @@ module_eval(<<'.,.,', 'parser.y', 1454)
3189
3218
  end
3190
3219
  .,.,
3191
3220
 
3192
- module_eval(<<'.,.,', 'parser.y', 1459)
3193
- def _reduce_213(val, _values, result)
3221
+ module_eval(<<'.,.,', 'parser.y', 1479)
3222
+ def _reduce_215(val, _values, result)
3194
3223
  checkpoint(val[0].first.location)
3195
3224
  result = val[0].push(val[2])
3196
3225
 
@@ -3198,8 +3227,8 @@ module_eval(<<'.,.,', 'parser.y', 1459)
3198
3227
  end
3199
3228
  .,.,
3200
3229
 
3201
- module_eval(<<'.,.,', 'parser.y', 1464)
3202
- def _reduce_214(val, _values, result)
3230
+ module_eval(<<'.,.,', 'parser.y', 1484)
3231
+ def _reduce_216(val, _values, result)
3203
3232
  checkpoint(val[0].first.location)
3204
3233
  result = val[0].push(val[3])
3205
3234
 
@@ -3207,10 +3236,6 @@ module_eval(<<'.,.,', 'parser.y', 1464)
3207
3236
  end
3208
3237
  .,.,
3209
3238
 
3210
- # reduce 215 omitted
3211
-
3212
- # reduce 216 omitted
3213
-
3214
3239
  # reduce 217 omitted
3215
3240
 
3216
3241
  # reduce 218 omitted
@@ -3229,8 +3254,12 @@ module_eval(<<'.,.,', 'parser.y', 1464)
3229
3254
 
3230
3255
  # reduce 225 omitted
3231
3256
 
3232
- module_eval(<<'.,.,', 'parser.y', 1498)
3233
- def _reduce_226(val, _values, result)
3257
+ # reduce 226 omitted
3258
+
3259
+ # reduce 227 omitted
3260
+
3261
+ module_eval(<<'.,.,', 'parser.y', 1518)
3262
+ def _reduce_228(val, _values, result)
3234
3263
  checkpoint(val[0].location)
3235
3264
  result = GenericLabeledStatement.new(val[0], val[2])
3236
3265
  result.head_token = val[0]
@@ -3240,8 +3269,8 @@ module_eval(<<'.,.,', 'parser.y', 1498)
3240
3269
  end
3241
3270
  .,.,
3242
3271
 
3243
- module_eval(<<'.,.,', 'parser.y', 1505)
3244
- def _reduce_227(val, _values, result)
3272
+ module_eval(<<'.,.,', 'parser.y', 1525)
3273
+ def _reduce_229(val, _values, result)
3245
3274
  checkpoint(val[0].location)
3246
3275
  val[1].full = true
3247
3276
  result = CaseLabeledStatement.new(val[1], val[3])
@@ -3252,8 +3281,8 @@ module_eval(<<'.,.,', 'parser.y', 1505)
3252
3281
  end
3253
3282
  .,.,
3254
3283
 
3255
- module_eval(<<'.,.,', 'parser.y', 1513)
3256
- def _reduce_228(val, _values, result)
3284
+ module_eval(<<'.,.,', 'parser.y', 1533)
3285
+ def _reduce_230(val, _values, result)
3257
3286
  checkpoint(val[0].location)
3258
3287
  result = DefaultLabeledStatement.new(val[2])
3259
3288
  result.head_token = val[0]
@@ -3263,18 +3292,18 @@ module_eval(<<'.,.,', 'parser.y', 1513)
3263
3292
  end
3264
3293
  .,.,
3265
3294
 
3266
- # reduce 229 omitted
3295
+ # reduce 231 omitted
3267
3296
 
3268
- module_eval(<<'.,.,', 'parser.y', 1524)
3269
- def _reduce_230(val, _values, result)
3297
+ module_eval(<<'.,.,', 'parser.y', 1544)
3298
+ def _reduce_232(val, _values, result)
3270
3299
  result = val[0].class.new(:IDENTIFIER, val[0].value, val[0].location)
3271
3300
 
3272
3301
  result
3273
3302
  end
3274
3303
  .,.,
3275
3304
 
3276
- module_eval(<<'.,.,', 'parser.y', 1531)
3277
- def _reduce_231(val, _values, result)
3305
+ module_eval(<<'.,.,', 'parser.y', 1551)
3306
+ def _reduce_233(val, _values, result)
3278
3307
  checkpoint(val[0].location)
3279
3308
  result = CompoundStatement.new([])
3280
3309
  result.head_token = val[0]
@@ -3284,22 +3313,22 @@ module_eval(<<'.,.,', 'parser.y', 1531)
3284
3313
  end
3285
3314
  .,.,
3286
3315
 
3287
- module_eval(<<'.,.,', 'parser.y', 1536)
3288
- def _reduce_232(val, _values, result)
3316
+ module_eval(<<'.,.,', 'parser.y', 1556)
3317
+ def _reduce_234(val, _values, result)
3289
3318
  @lexer.enter_scope
3290
3319
  result
3291
3320
  end
3292
3321
  .,.,
3293
3322
 
3294
- module_eval(<<'.,.,', 'parser.y', 1536)
3295
- def _reduce_233(val, _values, result)
3323
+ module_eval(<<'.,.,', 'parser.y', 1556)
3324
+ def _reduce_235(val, _values, result)
3296
3325
  @lexer.leave_scope
3297
3326
  result
3298
3327
  end
3299
3328
  .,.,
3300
3329
 
3301
- module_eval(<<'.,.,', 'parser.y', 1538)
3302
- def _reduce_234(val, _values, result)
3330
+ module_eval(<<'.,.,', 'parser.y', 1558)
3331
+ def _reduce_236(val, _values, result)
3303
3332
  checkpoint(val[0].location)
3304
3333
  result = CompoundStatement.new(val[2])
3305
3334
  result.head_token = val[0]
@@ -3309,8 +3338,8 @@ module_eval(<<'.,.,', 'parser.y', 1538)
3309
3338
  end
3310
3339
  .,.,
3311
3340
 
3312
- module_eval(<<'.,.,', 'parser.y', 1548)
3313
- def _reduce_235(val, _values, result)
3341
+ module_eval(<<'.,.,', 'parser.y', 1568)
3342
+ def _reduce_237(val, _values, result)
3314
3343
  checkpoint(val[0].location)
3315
3344
  result = val
3316
3345
 
@@ -3318,8 +3347,8 @@ module_eval(<<'.,.,', 'parser.y', 1548)
3318
3347
  end
3319
3348
  .,.,
3320
3349
 
3321
- module_eval(<<'.,.,', 'parser.y', 1553)
3322
- def _reduce_236(val, _values, result)
3350
+ module_eval(<<'.,.,', 'parser.y', 1573)
3351
+ def _reduce_238(val, _values, result)
3323
3352
  checkpoint(val[0].first.location)
3324
3353
  result = val[0].push(val[1])
3325
3354
 
@@ -3327,14 +3356,14 @@ module_eval(<<'.,.,', 'parser.y', 1553)
3327
3356
  end
3328
3357
  .,.,
3329
3358
 
3330
- # reduce 237 omitted
3359
+ # reduce 239 omitted
3331
3360
 
3332
- # reduce 238 omitted
3361
+ # reduce 240 omitted
3333
3362
 
3334
- # reduce 239 omitted
3363
+ # reduce 241 omitted
3335
3364
 
3336
- module_eval(<<'.,.,', 'parser.y', 1567)
3337
- def _reduce_240(val, _values, result)
3365
+ module_eval(<<'.,.,', 'parser.y', 1587)
3366
+ def _reduce_242(val, _values, result)
3338
3367
  checkpoint(val[0].location)
3339
3368
  result = ExpressionStatement.new(nil)
3340
3369
  result.head_token = result.tail_token = val[0]
@@ -3343,8 +3372,8 @@ module_eval(<<'.,.,', 'parser.y', 1567)
3343
3372
  end
3344
3373
  .,.,
3345
3374
 
3346
- module_eval(<<'.,.,', 'parser.y', 1573)
3347
- def _reduce_241(val, _values, result)
3375
+ module_eval(<<'.,.,', 'parser.y', 1593)
3376
+ def _reduce_243(val, _values, result)
3348
3377
  checkpoint(val[0].location)
3349
3378
  val[0].full = true
3350
3379
  result = ExpressionStatement.new(val[0])
@@ -3355,8 +3384,8 @@ module_eval(<<'.,.,', 'parser.y', 1573)
3355
3384
  end
3356
3385
  .,.,
3357
3386
 
3358
- module_eval(<<'.,.,', 'parser.y', 1584)
3359
- def _reduce_242(val, _values, result)
3387
+ module_eval(<<'.,.,', 'parser.y', 1604)
3388
+ def _reduce_244(val, _values, result)
3360
3389
  checkpoint(val[0].location)
3361
3390
  val[2].full = true
3362
3391
  result = IfStatement.new(val[2], val[4], val[3])
@@ -3367,8 +3396,8 @@ module_eval(<<'.,.,', 'parser.y', 1584)
3367
3396
  end
3368
3397
  .,.,
3369
3398
 
3370
- module_eval(<<'.,.,', 'parser.y', 1592)
3371
- def _reduce_243(val, _values, result)
3399
+ module_eval(<<'.,.,', 'parser.y', 1612)
3400
+ def _reduce_245(val, _values, result)
3372
3401
  checkpoint(val[0].location)
3373
3402
  val[2].full = true
3374
3403
  result = IfElseStatement.new(val[2], val[4], val[6], val[3], val[5])
@@ -3379,8 +3408,8 @@ module_eval(<<'.,.,', 'parser.y', 1592)
3379
3408
  end
3380
3409
  .,.,
3381
3410
 
3382
- module_eval(<<'.,.,', 'parser.y', 1600)
3383
- def _reduce_244(val, _values, result)
3411
+ module_eval(<<'.,.,', 'parser.y', 1620)
3412
+ def _reduce_246(val, _values, result)
3384
3413
  checkpoint(val[0].location)
3385
3414
  val[2].full = true
3386
3415
  result = SwitchStatement.new(val[2], val[4])
@@ -3391,8 +3420,8 @@ module_eval(<<'.,.,', 'parser.y', 1600)
3391
3420
  end
3392
3421
  .,.,
3393
3422
 
3394
- module_eval(<<'.,.,', 'parser.y', 1611)
3395
- def _reduce_245(val, _values, result)
3423
+ module_eval(<<'.,.,', 'parser.y', 1631)
3424
+ def _reduce_247(val, _values, result)
3396
3425
  checkpoint(val[0].location)
3397
3426
  val[2].full = true
3398
3427
  result = WhileStatement.new(val[2], val[4], val[3])
@@ -3403,8 +3432,8 @@ module_eval(<<'.,.,', 'parser.y', 1611)
3403
3432
  end
3404
3433
  .,.,
3405
3434
 
3406
- module_eval(<<'.,.,', 'parser.y', 1619)
3407
- def _reduce_246(val, _values, result)
3435
+ module_eval(<<'.,.,', 'parser.y', 1639)
3436
+ def _reduce_248(val, _values, result)
3408
3437
  checkpoint(val[0].location)
3409
3438
  val[4].full = true
3410
3439
  result = DoStatement.new(val[1], val[4], val[0], val[2])
@@ -3415,8 +3444,8 @@ module_eval(<<'.,.,', 'parser.y', 1619)
3415
3444
  end
3416
3445
  .,.,
3417
3446
 
3418
- module_eval(<<'.,.,', 'parser.y', 1627)
3419
- def _reduce_247(val, _values, result)
3447
+ module_eval(<<'.,.,', 'parser.y', 1647)
3448
+ def _reduce_249(val, _values, result)
3420
3449
  checkpoint(val[0].location)
3421
3450
  result = ForStatement.new(val[2], val[3], nil, val[5], val[4])
3422
3451
  result.head_token = val[0]
@@ -3426,8 +3455,8 @@ module_eval(<<'.,.,', 'parser.y', 1627)
3426
3455
  end
3427
3456
  .,.,
3428
3457
 
3429
- module_eval(<<'.,.,', 'parser.y', 1635)
3430
- def _reduce_248(val, _values, result)
3458
+ module_eval(<<'.,.,', 'parser.y', 1655)
3459
+ def _reduce_250(val, _values, result)
3431
3460
  checkpoint(val[0].location)
3432
3461
  val[4].full = true
3433
3462
  result = ForStatement.new(val[2], val[3], val[4], val[6], val[5])
@@ -3438,8 +3467,8 @@ module_eval(<<'.,.,', 'parser.y', 1635)
3438
3467
  end
3439
3468
  .,.,
3440
3469
 
3441
- module_eval(<<'.,.,', 'parser.y', 1643)
3442
- def _reduce_249(val, _values, result)
3470
+ module_eval(<<'.,.,', 'parser.y', 1663)
3471
+ def _reduce_251(val, _values, result)
3443
3472
  checkpoint(val[0].location)
3444
3473
  result = C99ForStatement.new(val[2], val[3], nil, val[5], val[4])
3445
3474
  result.head_token = val[0]
@@ -3449,8 +3478,8 @@ module_eval(<<'.,.,', 'parser.y', 1643)
3449
3478
  end
3450
3479
  .,.,
3451
3480
 
3452
- module_eval(<<'.,.,', 'parser.y', 1650)
3453
- def _reduce_250(val, _values, result)
3481
+ module_eval(<<'.,.,', 'parser.y', 1670)
3482
+ def _reduce_252(val, _values, result)
3454
3483
  checkpoint(val[0].location)
3455
3484
  val[4].full = true
3456
3485
  result = C99ForStatement.new(val[2], val[3], val[4], val[6], val[5])
@@ -3461,8 +3490,8 @@ module_eval(<<'.,.,', 'parser.y', 1650)
3461
3490
  end
3462
3491
  .,.,
3463
3492
 
3464
- module_eval(<<'.,.,', 'parser.y', 1661)
3465
- def _reduce_251(val, _values, result)
3493
+ module_eval(<<'.,.,', 'parser.y', 1681)
3494
+ def _reduce_253(val, _values, result)
3466
3495
  checkpoint(val[0].location)
3467
3496
  result = GotoStatement.new(val[1])
3468
3497
  result.head_token = val[0]
@@ -3472,8 +3501,8 @@ module_eval(<<'.,.,', 'parser.y', 1661)
3472
3501
  end
3473
3502
  .,.,
3474
3503
 
3475
- module_eval(<<'.,.,', 'parser.y', 1668)
3476
- def _reduce_252(val, _values, result)
3504
+ module_eval(<<'.,.,', 'parser.y', 1688)
3505
+ def _reduce_254(val, _values, result)
3477
3506
  checkpoint(val[0].location)
3478
3507
  E(:E0015, val[1].location, val[1].value)
3479
3508
  result = ErrorStatement.new(val[1])
@@ -3484,8 +3513,8 @@ module_eval(<<'.,.,', 'parser.y', 1668)
3484
3513
  end
3485
3514
  .,.,
3486
3515
 
3487
- module_eval(<<'.,.,', 'parser.y', 1676)
3488
- def _reduce_253(val, _values, result)
3516
+ module_eval(<<'.,.,', 'parser.y', 1696)
3517
+ def _reduce_255(val, _values, result)
3489
3518
  checkpoint(val[0].location)
3490
3519
  result = ContinueStatement.new
3491
3520
  result.head_token = val[0]
@@ -3495,8 +3524,8 @@ module_eval(<<'.,.,', 'parser.y', 1676)
3495
3524
  end
3496
3525
  .,.,
3497
3526
 
3498
- module_eval(<<'.,.,', 'parser.y', 1683)
3499
- def _reduce_254(val, _values, result)
3527
+ module_eval(<<'.,.,', 'parser.y', 1703)
3528
+ def _reduce_256(val, _values, result)
3500
3529
  checkpoint(val[0].location)
3501
3530
  result = BreakStatement.new
3502
3531
  result.head_token = val[0]
@@ -3506,8 +3535,8 @@ module_eval(<<'.,.,', 'parser.y', 1683)
3506
3535
  end
3507
3536
  .,.,
3508
3537
 
3509
- module_eval(<<'.,.,', 'parser.y', 1690)
3510
- def _reduce_255(val, _values, result)
3538
+ module_eval(<<'.,.,', 'parser.y', 1710)
3539
+ def _reduce_257(val, _values, result)
3511
3540
  checkpoint(val[0].location)
3512
3541
  result = ReturnStatement.new(nil)
3513
3542
  result.head_token = val[0]
@@ -3517,8 +3546,8 @@ module_eval(<<'.,.,', 'parser.y', 1690)
3517
3546
  end
3518
3547
  .,.,
3519
3548
 
3520
- module_eval(<<'.,.,', 'parser.y', 1697)
3521
- def _reduce_256(val, _values, result)
3549
+ module_eval(<<'.,.,', 'parser.y', 1717)
3550
+ def _reduce_258(val, _values, result)
3522
3551
  checkpoint(val[0].location)
3523
3552
  val[1].full = true
3524
3553
  result = ReturnStatement.new(val[1])
@@ -3529,16 +3558,16 @@ module_eval(<<'.,.,', 'parser.y', 1697)
3529
3558
  end
3530
3559
  .,.,
3531
3560
 
3532
- module_eval(<<'.,.,', 'parser.y', 1711)
3533
- def _reduce_257(val, _values, result)
3561
+ module_eval(<<'.,.,', 'parser.y', 1731)
3562
+ def _reduce_259(val, _values, result)
3534
3563
  result = TranslationUnit.new
3535
3564
 
3536
3565
  result
3537
3566
  end
3538
3567
  .,.,
3539
3568
 
3540
- module_eval(<<'.,.,', 'parser.y', 1715)
3541
- def _reduce_258(val, _values, result)
3569
+ module_eval(<<'.,.,', 'parser.y', 1735)
3570
+ def _reduce_260(val, _values, result)
3542
3571
  checkpoint(val[0].location)
3543
3572
  result = val[0]
3544
3573
  result.push(val[1])
@@ -3547,12 +3576,12 @@ module_eval(<<'.,.,', 'parser.y', 1715)
3547
3576
  end
3548
3577
  .,.,
3549
3578
 
3550
- # reduce 259 omitted
3579
+ # reduce 261 omitted
3551
3580
 
3552
- # reduce 260 omitted
3581
+ # reduce 262 omitted
3553
3582
 
3554
- module_eval(<<'.,.,', 'parser.y', 1729)
3555
- def _reduce_261(val, _values, result)
3583
+ module_eval(<<'.,.,', 'parser.y', 1749)
3584
+ def _reduce_263(val, _values, result)
3556
3585
  checkpoint(val[0].location)
3557
3586
  result = KandRFunctionDefinition.new(val[0], val[1], val[2], val[3],
3558
3587
  @sym_tbl)
@@ -3563,8 +3592,8 @@ module_eval(<<'.,.,', 'parser.y', 1729)
3563
3592
  end
3564
3593
  .,.,
3565
3594
 
3566
- module_eval(<<'.,.,', 'parser.y', 1737)
3567
- def _reduce_262(val, _values, result)
3595
+ module_eval(<<'.,.,', 'parser.y', 1757)
3596
+ def _reduce_264(val, _values, result)
3568
3597
  checkpoint(val[0].location)
3569
3598
  case val[1]
3570
3599
  when AnsiFunctionDeclarator
@@ -3582,8 +3611,8 @@ module_eval(<<'.,.,', 'parser.y', 1737)
3582
3611
  end
3583
3612
  .,.,
3584
3613
 
3585
- module_eval(<<'.,.,', 'parser.y', 1752)
3586
- def _reduce_263(val, _values, result)
3614
+ module_eval(<<'.,.,', 'parser.y', 1772)
3615
+ def _reduce_265(val, _values, result)
3587
3616
  checkpoint(val[0].location)
3588
3617
  result = KandRFunctionDefinition.new(nil, val[0], val[1], val[2],
3589
3618
  @sym_tbl)
@@ -3594,8 +3623,8 @@ module_eval(<<'.,.,', 'parser.y', 1752)
3594
3623
  end
3595
3624
  .,.,
3596
3625
 
3597
- module_eval(<<'.,.,', 'parser.y', 1760)
3598
- def _reduce_264(val, _values, result)
3626
+ module_eval(<<'.,.,', 'parser.y', 1780)
3627
+ def _reduce_266(val, _values, result)
3599
3628
  checkpoint(val[0].location)
3600
3629
  case val[0]
3601
3630
  when AnsiFunctionDeclarator
@@ -3613,8 +3642,8 @@ module_eval(<<'.,.,', 'parser.y', 1760)
3613
3642
  end
3614
3643
  .,.,
3615
3644
 
3616
- module_eval(<<'.,.,', 'parser.y', 1778)
3617
- def _reduce_265(val, _values, result)
3645
+ module_eval(<<'.,.,', 'parser.y', 1798)
3646
+ def _reduce_267(val, _values, result)
3618
3647
  checkpoint(val[0].location)
3619
3648
  result = KandRFunctionDefinition.new(val[0], val[1], val[2], val[3],
3620
3649
  @sym_tbl)
@@ -3625,8 +3654,8 @@ module_eval(<<'.,.,', 'parser.y', 1778)
3625
3654
  end
3626
3655
  .,.,
3627
3656
 
3628
- module_eval(<<'.,.,', 'parser.y', 1786)
3629
- def _reduce_266(val, _values, result)
3657
+ module_eval(<<'.,.,', 'parser.y', 1806)
3658
+ def _reduce_268(val, _values, result)
3630
3659
  checkpoint(val[0].location)
3631
3660
  case val[1]
3632
3661
  when AnsiFunctionDeclarator
@@ -3644,8 +3673,8 @@ module_eval(<<'.,.,', 'parser.y', 1786)
3644
3673
  end
3645
3674
  .,.,
3646
3675
 
3647
- module_eval(<<'.,.,', 'parser.y', 1804)
3648
- def _reduce_267(val, _values, result)
3676
+ module_eval(<<'.,.,', 'parser.y', 1824)
3677
+ def _reduce_269(val, _values, result)
3649
3678
  checkpoint(val[0].location)
3650
3679
  result = val
3651
3680
 
@@ -3653,8 +3682,8 @@ module_eval(<<'.,.,', 'parser.y', 1804)
3653
3682
  end
3654
3683
  .,.,
3655
3684
 
3656
- module_eval(<<'.,.,', 'parser.y', 1809)
3657
- def _reduce_268(val, _values, result)
3685
+ module_eval(<<'.,.,', 'parser.y', 1829)
3686
+ def _reduce_270(val, _values, result)
3658
3687
  checkpoint(val[0].first.location)
3659
3688
  result = val[0].push(val[1])
3660
3689