adlint 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. data/AUTHORS +3 -2
  2. data/ChangeLog +208 -63
  3. data/MANIFEST +4 -0
  4. data/NEWS +24 -5
  5. data/etc/conf.d/fallback/traits.erb +1 -1
  6. data/etc/conf.d/i686-cygwin/traits-gcc_4.3.4.erb +1 -1
  7. data/etc/conf.d/i686-devkit/traits-gcc_4.5.2.erb +1 -1
  8. data/etc/conf.d/i686-linux/traits-gcc_4.5.1.erb +1 -1
  9. data/etc/conf.d/i686-mingw/traits-gcc_4.6.1.erb +1 -1
  10. data/etc/mesg.d/en_US/messages.yml +3 -3
  11. data/etc/mesg.d/ja_JP/messages.yml +4 -4
  12. data/lib/adlint/c/builtin.rb +3 -3
  13. data/lib/adlint/c/ctrlexpr.rb +7 -11
  14. data/lib/adlint/c/expr.rb +548 -363
  15. data/lib/adlint/c/interp.rb +233 -525
  16. data/lib/adlint/c/mediator.rb +1 -0
  17. data/lib/adlint/c/message.rb +144 -1
  18. data/lib/adlint/c/object.rb +15 -6
  19. data/lib/adlint/c/parser.rb +170 -128
  20. data/lib/adlint/c/parser.y +36 -0
  21. data/lib/adlint/c/phase.rb +4 -0
  22. data/lib/adlint/c/seqp.rb +72 -0
  23. data/lib/adlint/c/syntax.rb +254 -3
  24. data/lib/adlint/c.rb +1 -0
  25. data/lib/adlint/cpp/code.rb +2 -2
  26. data/lib/adlint/cpp/eval.rb +29 -13
  27. data/lib/adlint/cpp/message.rb +71 -70
  28. data/lib/adlint/cpp/message_shima.rb +100 -0
  29. data/lib/adlint/cpp/phase.rb +4 -0
  30. data/lib/adlint/cpp/syntax.rb +5 -1
  31. data/lib/adlint/cpp.rb +1 -0
  32. data/lib/adlint/message.rb +6 -3
  33. data/lib/adlint/traits.rb +1 -1
  34. data/lib/adlint/version.rb +5 -5
  35. data/share/demo/Makefile +3 -1
  36. data/share/demo/bad_line/bad_line.c +27 -0
  37. data/share/demo/sequence_point/sequence_point.c +31 -0
  38. data/share/doc/adlint_on_vim_en.png +0 -0
  39. data/share/doc/adlint_on_vim_ja.png +0 -0
  40. data/share/doc/developers_guide_ja.html +3 -3
  41. data/share/doc/developers_guide_ja.texi +1 -1
  42. data/share/doc/users_guide_en.html +3118 -41
  43. data/share/doc/users_guide_en.texi +3090 -37
  44. data/share/doc/users_guide_ja.html +3120 -47
  45. data/share/doc/users_guide_ja.texi +3106 -65
  46. data/share/sample/ctags-5.8/adlint/GNUmakefile +13 -1
  47. data/share/sample/ctags-5.8/adlint/adlint_cinit.h +14 -2
  48. data/share/sample/ctags-5.8/adlint/adlint_pinit.h +14 -4
  49. data/share/sample/ctags-5.8/adlint/adlint_traits.yml +14 -1
  50. data/share/sample/flex-2.5.35/adlint/GNUmakefile +13 -1
  51. data/share/sample/flex-2.5.35/adlint/adlint_cinit.h +14 -2
  52. data/share/sample/flex-2.5.35/adlint/adlint_pinit.h +14 -4
  53. data/share/sample/flex-2.5.35/adlint/adlint_traits.yml +14 -1
  54. metadata +6 -2
@@ -16,7 +16,7 @@ module AdLint
16
16
  module C
17
17
  class Parser < Racc::Parser
18
18
 
19
- module_eval(<<'...end parser.y/module_eval...', 'parser.y', 1992)
19
+ module_eval(<<'...end parser.y/module_eval...', 'parser.y', 2028)
20
20
 
21
21
  include MonitorUtil
22
22
  include ReportUtil
@@ -829,7 +829,7 @@ racc_reduce_table = [
829
829
  1, 124, :_reduce_none,
830
830
  1, 125, :_reduce_none,
831
831
  2, 127, :_reduce_159,
832
- 1, 127, :_reduce_none,
832
+ 1, 127, :_reduce_160,
833
833
  1, 140, :_reduce_161,
834
834
  3, 140, :_reduce_162,
835
835
  5, 140, :_reduce_163,
@@ -862,7 +862,7 @@ racc_reduce_table = [
862
862
  2, 99, :_reduce_190,
863
863
  1, 146, :_reduce_191,
864
864
  2, 146, :_reduce_192,
865
- 1, 146, :_reduce_none,
865
+ 1, 146, :_reduce_193,
866
866
  3, 147, :_reduce_194,
867
867
  2, 147, :_reduce_195,
868
868
  3, 147, :_reduce_196,
@@ -2269,6 +2269,7 @@ module_eval(<<'.,.,', 'parser.y', 852)
2269
2269
  def _reduce_120(val, _values, result)
2270
2270
  checkpoint(val[0].location)
2271
2271
 
2272
+ val[2].full = true
2272
2273
  result = TypeofTypeSpecifier.new(val[2], nil)
2273
2274
  result.head_token = val[0]
2274
2275
  result.tail_token = val[3]
@@ -2277,7 +2278,7 @@ module_eval(<<'.,.,', 'parser.y', 852)
2277
2278
  end
2278
2279
  .,.,
2279
2280
 
2280
- module_eval(<<'.,.,', 'parser.y', 860)
2281
+ module_eval(<<'.,.,', 'parser.y', 861)
2281
2282
  def _reduce_121(val, _values, result)
2282
2283
  checkpoint(val[0].location)
2283
2284
 
@@ -2289,7 +2290,7 @@ module_eval(<<'.,.,', 'parser.y', 860)
2289
2290
  end
2290
2291
  .,.,
2291
2292
 
2292
- module_eval(<<'.,.,', 'parser.y', 871)
2293
+ module_eval(<<'.,.,', 'parser.y', 872)
2293
2294
  def _reduce_122(val, _values, result)
2294
2295
  checkpoint(val[0].location)
2295
2296
 
@@ -2301,7 +2302,7 @@ module_eval(<<'.,.,', 'parser.y', 871)
2301
2302
  end
2302
2303
  .,.,
2303
2304
 
2304
- module_eval(<<'.,.,', 'parser.y', 879)
2305
+ module_eval(<<'.,.,', 'parser.y', 880)
2305
2306
  def _reduce_123(val, _values, result)
2306
2307
  checkpoint(val[0].location)
2307
2308
 
@@ -2313,7 +2314,7 @@ module_eval(<<'.,.,', 'parser.y', 879)
2313
2314
  end
2314
2315
  .,.,
2315
2316
 
2316
- module_eval(<<'.,.,', 'parser.y', 887)
2317
+ module_eval(<<'.,.,', 'parser.y', 888)
2317
2318
  def _reduce_124(val, _values, result)
2318
2319
  checkpoint(val[0].location)
2319
2320
 
@@ -2325,7 +2326,7 @@ module_eval(<<'.,.,', 'parser.y', 887)
2325
2326
  end
2326
2327
  .,.,
2327
2328
 
2328
- module_eval(<<'.,.,', 'parser.y', 895)
2329
+ module_eval(<<'.,.,', 'parser.y', 896)
2329
2330
  def _reduce_125(val, _values, result)
2330
2331
  checkpoint(val[0].location)
2331
2332
 
@@ -2337,7 +2338,7 @@ module_eval(<<'.,.,', 'parser.y', 895)
2337
2338
  end
2338
2339
  .,.,
2339
2340
 
2340
- module_eval(<<'.,.,', 'parser.y', 903)
2341
+ module_eval(<<'.,.,', 'parser.y', 904)
2341
2342
  def _reduce_126(val, _values, result)
2342
2343
  checkpoint(val[0].location)
2343
2344
 
@@ -2349,7 +2350,7 @@ module_eval(<<'.,.,', 'parser.y', 903)
2349
2350
  end
2350
2351
  .,.,
2351
2352
 
2352
- module_eval(<<'.,.,', 'parser.y', 911)
2353
+ module_eval(<<'.,.,', 'parser.y', 912)
2353
2354
  def _reduce_127(val, _values, result)
2354
2355
  checkpoint(val[0].location)
2355
2356
 
@@ -2361,7 +2362,7 @@ module_eval(<<'.,.,', 'parser.y', 911)
2361
2362
  end
2362
2363
  .,.,
2363
2364
 
2364
- module_eval(<<'.,.,', 'parser.y', 919)
2365
+ module_eval(<<'.,.,', 'parser.y', 920)
2365
2366
  def _reduce_128(val, _values, result)
2366
2367
  checkpoint(val[0].location)
2367
2368
 
@@ -2373,7 +2374,7 @@ module_eval(<<'.,.,', 'parser.y', 919)
2373
2374
  end
2374
2375
  .,.,
2375
2376
 
2376
- module_eval(<<'.,.,', 'parser.y', 927)
2377
+ module_eval(<<'.,.,', 'parser.y', 928)
2377
2378
  def _reduce_129(val, _values, result)
2378
2379
  checkpoint(val[0].location)
2379
2380
 
@@ -2385,7 +2386,7 @@ module_eval(<<'.,.,', 'parser.y', 927)
2385
2386
  end
2386
2387
  .,.,
2387
2388
 
2388
- module_eval(<<'.,.,', 'parser.y', 935)
2389
+ module_eval(<<'.,.,', 'parser.y', 936)
2389
2390
  def _reduce_130(val, _values, result)
2390
2391
  checkpoint(val[0].location)
2391
2392
 
@@ -2397,7 +2398,7 @@ module_eval(<<'.,.,', 'parser.y', 935)
2397
2398
  end
2398
2399
  .,.,
2399
2400
 
2400
- module_eval(<<'.,.,', 'parser.y', 943)
2401
+ module_eval(<<'.,.,', 'parser.y', 944)
2401
2402
  def _reduce_131(val, _values, result)
2402
2403
  checkpoint(val[0].location)
2403
2404
 
@@ -2409,7 +2410,7 @@ module_eval(<<'.,.,', 'parser.y', 943)
2409
2410
  end
2410
2411
  .,.,
2411
2412
 
2412
- module_eval(<<'.,.,', 'parser.y', 954)
2413
+ module_eval(<<'.,.,', 'parser.y', 955)
2413
2414
  def _reduce_132(val, _values, result)
2414
2415
  checkpoint(val[0].location)
2415
2416
 
@@ -2419,7 +2420,7 @@ module_eval(<<'.,.,', 'parser.y', 954)
2419
2420
  end
2420
2421
  .,.,
2421
2422
 
2422
- module_eval(<<'.,.,', 'parser.y', 960)
2423
+ module_eval(<<'.,.,', 'parser.y', 961)
2423
2424
  def _reduce_133(val, _values, result)
2424
2425
  checkpoint(val[0].first.location)
2425
2426
 
@@ -2429,7 +2430,7 @@ module_eval(<<'.,.,', 'parser.y', 960)
2429
2430
  end
2430
2431
  .,.,
2431
2432
 
2432
- module_eval(<<'.,.,', 'parser.y', 969)
2433
+ module_eval(<<'.,.,', 'parser.y', 970)
2433
2434
  def _reduce_134(val, _values, result)
2434
2435
  checkpoint(val[0].location)
2435
2436
 
@@ -2443,14 +2444,14 @@ module_eval(<<'.,.,', 'parser.y', 969)
2443
2444
  end
2444
2445
  .,.,
2445
2446
 
2446
- module_eval(<<'.,.,', 'parser.y', 977)
2447
+ module_eval(<<'.,.,', 'parser.y', 978)
2447
2448
  def _reduce_135(val, _values, result)
2448
2449
  @lexer.stop_identifier_translation
2449
2450
  result
2450
2451
  end
2451
2452
  .,.,
2452
2453
 
2453
- module_eval(<<'.,.,', 'parser.y', 980)
2454
+ module_eval(<<'.,.,', 'parser.y', 981)
2454
2455
  def _reduce_136(val, _values, result)
2455
2456
  checkpoint(val[0].location)
2456
2457
 
@@ -2462,7 +2463,7 @@ module_eval(<<'.,.,', 'parser.y', 980)
2462
2463
  end
2463
2464
  .,.,
2464
2465
 
2465
- module_eval(<<'.,.,', 'parser.y', 991)
2466
+ module_eval(<<'.,.,', 'parser.y', 992)
2466
2467
  def _reduce_137(val, _values, result)
2467
2468
  checkpoint(val[0].location)
2468
2469
 
@@ -2476,7 +2477,7 @@ module_eval(<<'.,.,', 'parser.y', 991)
2476
2477
  end
2477
2478
  .,.,
2478
2479
 
2479
- module_eval(<<'.,.,', 'parser.y', 1001)
2480
+ module_eval(<<'.,.,', 'parser.y', 1002)
2480
2481
  def _reduce_138(val, _values, result)
2481
2482
  checkpoint(val[0].location)
2482
2483
 
@@ -2491,7 +2492,7 @@ module_eval(<<'.,.,', 'parser.y', 1001)
2491
2492
  end
2492
2493
  .,.,
2493
2494
 
2494
- module_eval(<<'.,.,', 'parser.y', 1012)
2495
+ module_eval(<<'.,.,', 'parser.y', 1013)
2495
2496
  def _reduce_139(val, _values, result)
2496
2497
  checkpoint(val[0].location)
2497
2498
 
@@ -2503,7 +2504,7 @@ module_eval(<<'.,.,', 'parser.y', 1012)
2503
2504
  end
2504
2505
  .,.,
2505
2506
 
2506
- module_eval(<<'.,.,', 'parser.y', 1020)
2507
+ module_eval(<<'.,.,', 'parser.y', 1021)
2507
2508
  def _reduce_140(val, _values, result)
2508
2509
  checkpoint(val[0].location)
2509
2510
 
@@ -2515,7 +2516,7 @@ module_eval(<<'.,.,', 'parser.y', 1020)
2515
2516
  end
2516
2517
  .,.,
2517
2518
 
2518
- module_eval(<<'.,.,', 'parser.y', 1031)
2519
+ module_eval(<<'.,.,', 'parser.y', 1032)
2519
2520
  def _reduce_141(val, _values, result)
2520
2521
  checkpoint(val[0].location)
2521
2522
 
@@ -2525,7 +2526,7 @@ module_eval(<<'.,.,', 'parser.y', 1031)
2525
2526
  end
2526
2527
  .,.,
2527
2528
 
2528
- module_eval(<<'.,.,', 'parser.y', 1037)
2529
+ module_eval(<<'.,.,', 'parser.y', 1038)
2529
2530
  def _reduce_142(val, _values, result)
2530
2531
  checkpoint(val[0].first.location)
2531
2532
 
@@ -2535,7 +2536,7 @@ module_eval(<<'.,.,', 'parser.y', 1037)
2535
2536
  end
2536
2537
  .,.,
2537
2538
 
2538
- module_eval(<<'.,.,', 'parser.y', 1046)
2539
+ module_eval(<<'.,.,', 'parser.y', 1047)
2539
2540
  def _reduce_143(val, _values, result)
2540
2541
  checkpoint(val[0].location)
2541
2542
 
@@ -2547,10 +2548,11 @@ module_eval(<<'.,.,', 'parser.y', 1046)
2547
2548
  end
2548
2549
  .,.,
2549
2550
 
2550
- module_eval(<<'.,.,', 'parser.y', 1054)
2551
+ module_eval(<<'.,.,', 'parser.y', 1055)
2551
2552
  def _reduce_144(val, _values, result)
2552
2553
  checkpoint(val[0].location)
2553
2554
 
2555
+ val[1].full = true
2554
2556
  result = StructDeclarator.new(nil, val[1])
2555
2557
  result.head_token = val[0]
2556
2558
  result.tail_token = val[1].tail_token
@@ -2559,10 +2561,11 @@ module_eval(<<'.,.,', 'parser.y', 1054)
2559
2561
  end
2560
2562
  .,.,
2561
2563
 
2562
- module_eval(<<'.,.,', 'parser.y', 1062)
2564
+ module_eval(<<'.,.,', 'parser.y', 1064)
2563
2565
  def _reduce_145(val, _values, result)
2564
2566
  checkpoint(val[0].location)
2565
2567
 
2568
+ val[2].full = true
2566
2569
  result = StructDeclarator.new(val[0], val[2])
2567
2570
  result.head_token = val[0].head_token
2568
2571
  result.tail_token = val[2].tail_token
@@ -2571,7 +2574,7 @@ module_eval(<<'.,.,', 'parser.y', 1062)
2571
2574
  end
2572
2575
  .,.,
2573
2576
 
2574
- module_eval(<<'.,.,', 'parser.y', 1073)
2577
+ module_eval(<<'.,.,', 'parser.y', 1076)
2575
2578
  def _reduce_146(val, _values, result)
2576
2579
  checkpoint(val[0].location)
2577
2580
 
@@ -2583,7 +2586,7 @@ module_eval(<<'.,.,', 'parser.y', 1073)
2583
2586
  end
2584
2587
  .,.,
2585
2588
 
2586
- module_eval(<<'.,.,', 'parser.y', 1081)
2589
+ module_eval(<<'.,.,', 'parser.y', 1084)
2587
2590
  def _reduce_147(val, _values, result)
2588
2591
  checkpoint(val[0].location)
2589
2592
 
@@ -2595,7 +2598,7 @@ module_eval(<<'.,.,', 'parser.y', 1081)
2595
2598
  end
2596
2599
  .,.,
2597
2600
 
2598
- module_eval(<<'.,.,', 'parser.y', 1089)
2601
+ module_eval(<<'.,.,', 'parser.y', 1092)
2599
2602
  def _reduce_148(val, _values, result)
2600
2603
  checkpoint(val[0].location)
2601
2604
 
@@ -2607,7 +2610,7 @@ module_eval(<<'.,.,', 'parser.y', 1089)
2607
2610
  end
2608
2611
  .,.,
2609
2612
 
2610
- module_eval(<<'.,.,', 'parser.y', 1097)
2613
+ module_eval(<<'.,.,', 'parser.y', 1100)
2611
2614
  def _reduce_149(val, _values, result)
2612
2615
  checkpoint(val[0].location)
2613
2616
 
@@ -2619,7 +2622,7 @@ module_eval(<<'.,.,', 'parser.y', 1097)
2619
2622
  end
2620
2623
  .,.,
2621
2624
 
2622
- module_eval(<<'.,.,', 'parser.y', 1105)
2625
+ module_eval(<<'.,.,', 'parser.y', 1108)
2623
2626
  def _reduce_150(val, _values, result)
2624
2627
  checkpoint(val[0].location)
2625
2628
 
@@ -2631,7 +2634,7 @@ module_eval(<<'.,.,', 'parser.y', 1105)
2631
2634
  end
2632
2635
  .,.,
2633
2636
 
2634
- module_eval(<<'.,.,', 'parser.y', 1116)
2637
+ module_eval(<<'.,.,', 'parser.y', 1119)
2635
2638
  def _reduce_151(val, _values, result)
2636
2639
  checkpoint(val[0].location)
2637
2640
 
@@ -2641,7 +2644,7 @@ module_eval(<<'.,.,', 'parser.y', 1116)
2641
2644
  end
2642
2645
  .,.,
2643
2646
 
2644
- module_eval(<<'.,.,', 'parser.y', 1122)
2647
+ module_eval(<<'.,.,', 'parser.y', 1125)
2645
2648
  def _reduce_152(val, _values, result)
2646
2649
  checkpoint(val[0].first.location)
2647
2650
 
@@ -2651,7 +2654,7 @@ module_eval(<<'.,.,', 'parser.y', 1122)
2651
2654
  end
2652
2655
  .,.,
2653
2656
 
2654
- module_eval(<<'.,.,', 'parser.y', 1131)
2657
+ module_eval(<<'.,.,', 'parser.y', 1134)
2655
2658
  def _reduce_153(val, _values, result)
2656
2659
  checkpoint(val[0].location)
2657
2660
 
@@ -2663,10 +2666,11 @@ module_eval(<<'.,.,', 'parser.y', 1131)
2663
2666
  end
2664
2667
  .,.,
2665
2668
 
2666
- module_eval(<<'.,.,', 'parser.y', 1139)
2669
+ module_eval(<<'.,.,', 'parser.y', 1142)
2667
2670
  def _reduce_154(val, _values, result)
2668
2671
  checkpoint(val[0].location)
2669
2672
 
2673
+ val[2].full = true
2670
2674
  symbol = @symbol_table.create_new_symbol(EnumeratorName, val[0])
2671
2675
  result = Enumerator.new(val[0], val[2], symbol)
2672
2676
  result.head_token = val[0]
@@ -2684,21 +2688,31 @@ module_eval(<<'.,.,', 'parser.y', 1139)
2684
2688
 
2685
2689
  # reduce 158 omitted
2686
2690
 
2687
- module_eval(<<'.,.,', 'parser.y', 1161)
2691
+ module_eval(<<'.,.,', 'parser.y', 1165)
2688
2692
  def _reduce_159(val, _values, result)
2689
2693
  checkpoint(val[0].first.location)
2690
2694
 
2691
2695
  result = val[1]
2692
2696
  result.pointer = val[0]
2693
2697
  result.head_token = val[0].first
2698
+ result.full = true
2694
2699
 
2695
2700
  result
2696
2701
  end
2697
2702
  .,.,
2698
2703
 
2699
- # reduce 160 omitted
2704
+ module_eval(<<'.,.,', 'parser.y', 1174)
2705
+ def _reduce_160(val, _values, result)
2706
+ checkpoint(val[0].location)
2707
+
2708
+ result = val[0]
2709
+ result.full = true
2710
+
2711
+ result
2712
+ end
2713
+ .,.,
2700
2714
 
2701
- module_eval(<<'.,.,', 'parser.y', 1173)
2715
+ module_eval(<<'.,.,', 'parser.y', 1184)
2702
2716
  def _reduce_161(val, _values, result)
2703
2717
  checkpoint(val[0].location)
2704
2718
 
@@ -2711,7 +2725,7 @@ module_eval(<<'.,.,', 'parser.y', 1173)
2711
2725
  end
2712
2726
  .,.,
2713
2727
 
2714
- module_eval(<<'.,.,', 'parser.y', 1182)
2728
+ module_eval(<<'.,.,', 'parser.y', 1193)
2715
2729
  def _reduce_162(val, _values, result)
2716
2730
  checkpoint(val[0].location)
2717
2731
 
@@ -2723,10 +2737,11 @@ module_eval(<<'.,.,', 'parser.y', 1182)
2723
2737
  end
2724
2738
  .,.,
2725
2739
 
2726
- module_eval(<<'.,.,', 'parser.y', 1190)
2740
+ module_eval(<<'.,.,', 'parser.y', 1201)
2727
2741
  def _reduce_163(val, _values, result)
2728
2742
  checkpoint(val[0].location)
2729
2743
 
2744
+ val[3].full = true
2730
2745
  result = ArrayDeclarator.new(val[0], val[3])
2731
2746
  result.head_token = val[0].head_token
2732
2747
  result.tail_token = val[4]
@@ -2735,7 +2750,7 @@ module_eval(<<'.,.,', 'parser.y', 1190)
2735
2750
  end
2736
2751
  .,.,
2737
2752
 
2738
- module_eval(<<'.,.,', 'parser.y', 1198)
2753
+ module_eval(<<'.,.,', 'parser.y', 1210)
2739
2754
  def _reduce_164(val, _values, result)
2740
2755
  checkpoint(val[0].location)
2741
2756
 
@@ -2747,10 +2762,11 @@ module_eval(<<'.,.,', 'parser.y', 1198)
2747
2762
  end
2748
2763
  .,.,
2749
2764
 
2750
- module_eval(<<'.,.,', 'parser.y', 1206)
2765
+ module_eval(<<'.,.,', 'parser.y', 1218)
2751
2766
  def _reduce_165(val, _values, result)
2752
2767
  checkpoint(val[0].location)
2753
2768
 
2769
+ val[2].full = true
2754
2770
  result = ArrayDeclarator.new(val[0], val[2])
2755
2771
  result.head_token = val[0].head_token
2756
2772
  result.tail_token = val[3]
@@ -2759,10 +2775,11 @@ module_eval(<<'.,.,', 'parser.y', 1206)
2759
2775
  end
2760
2776
  .,.,
2761
2777
 
2762
- module_eval(<<'.,.,', 'parser.y', 1215)
2778
+ module_eval(<<'.,.,', 'parser.y', 1228)
2763
2779
  def _reduce_166(val, _values, result)
2764
2780
  checkpoint(val[0].location)
2765
2781
 
2782
+ val[3].full = true
2766
2783
  result = ArrayDeclarator.new(val[0], val[4])
2767
2784
  result.head_token = val[0].head_token
2768
2785
  result.tail_token = val[5]
@@ -2771,10 +2788,11 @@ module_eval(<<'.,.,', 'parser.y', 1215)
2771
2788
  end
2772
2789
  .,.,
2773
2790
 
2774
- module_eval(<<'.,.,', 'parser.y', 1224)
2791
+ module_eval(<<'.,.,', 'parser.y', 1238)
2775
2792
  def _reduce_167(val, _values, result)
2776
2793
  checkpoint(val[0].location)
2777
2794
 
2795
+ val[4].full = true
2778
2796
  result = ArrayDeclarator.new(val[0], val[4])
2779
2797
  result.head_token = val[0].head_token
2780
2798
  result.tail_token = val[5]
@@ -2783,7 +2801,7 @@ module_eval(<<'.,.,', 'parser.y', 1224)
2783
2801
  end
2784
2802
  .,.,
2785
2803
 
2786
- module_eval(<<'.,.,', 'parser.y', 1232)
2804
+ module_eval(<<'.,.,', 'parser.y', 1247)
2787
2805
  def _reduce_168(val, _values, result)
2788
2806
  checkpoint(val[0].location)
2789
2807
 
@@ -2795,7 +2813,7 @@ module_eval(<<'.,.,', 'parser.y', 1232)
2795
2813
  end
2796
2814
  .,.,
2797
2815
 
2798
- module_eval(<<'.,.,', 'parser.y', 1240)
2816
+ module_eval(<<'.,.,', 'parser.y', 1255)
2799
2817
  def _reduce_169(val, _values, result)
2800
2818
  checkpoint(val[0].location)
2801
2819
 
@@ -2807,7 +2825,7 @@ module_eval(<<'.,.,', 'parser.y', 1240)
2807
2825
  end
2808
2826
  .,.,
2809
2827
 
2810
- module_eval(<<'.,.,', 'parser.y', 1248)
2828
+ module_eval(<<'.,.,', 'parser.y', 1263)
2811
2829
  def _reduce_170(val, _values, result)
2812
2830
  checkpoint(val[0].location)
2813
2831
 
@@ -2819,7 +2837,7 @@ module_eval(<<'.,.,', 'parser.y', 1248)
2819
2837
  end
2820
2838
  .,.,
2821
2839
 
2822
- module_eval(<<'.,.,', 'parser.y', 1256)
2840
+ module_eval(<<'.,.,', 'parser.y', 1271)
2823
2841
  def _reduce_171(val, _values, result)
2824
2842
  checkpoint(val[0].location)
2825
2843
 
@@ -2831,7 +2849,7 @@ module_eval(<<'.,.,', 'parser.y', 1256)
2831
2849
  end
2832
2850
  .,.,
2833
2851
 
2834
- module_eval(<<'.,.,', 'parser.y', 1264)
2852
+ module_eval(<<'.,.,', 'parser.y', 1279)
2835
2853
  def _reduce_172(val, _values, result)
2836
2854
  checkpoint(val[0].location)
2837
2855
 
@@ -2843,7 +2861,7 @@ module_eval(<<'.,.,', 'parser.y', 1264)
2843
2861
  end
2844
2862
  .,.,
2845
2863
 
2846
- module_eval(<<'.,.,', 'parser.y', 1272)
2864
+ module_eval(<<'.,.,', 'parser.y', 1287)
2847
2865
  def _reduce_173(val, _values, result)
2848
2866
  checkpoint(val[0].location)
2849
2867
 
@@ -2855,7 +2873,7 @@ module_eval(<<'.,.,', 'parser.y', 1272)
2855
2873
  end
2856
2874
  .,.,
2857
2875
 
2858
- module_eval(<<'.,.,', 'parser.y', 1283)
2876
+ module_eval(<<'.,.,', 'parser.y', 1298)
2859
2877
  def _reduce_174(val, _values, result)
2860
2878
  checkpoint(val[0].location)
2861
2879
 
@@ -2865,7 +2883,7 @@ module_eval(<<'.,.,', 'parser.y', 1283)
2865
2883
  end
2866
2884
  .,.,
2867
2885
 
2868
- module_eval(<<'.,.,', 'parser.y', 1289)
2886
+ module_eval(<<'.,.,', 'parser.y', 1304)
2869
2887
  def _reduce_175(val, _values, result)
2870
2888
  checkpoint(val[0].location)
2871
2889
 
@@ -2875,7 +2893,7 @@ module_eval(<<'.,.,', 'parser.y', 1289)
2875
2893
  end
2876
2894
  .,.,
2877
2895
 
2878
- module_eval(<<'.,.,', 'parser.y', 1295)
2896
+ module_eval(<<'.,.,', 'parser.y', 1310)
2879
2897
  def _reduce_176(val, _values, result)
2880
2898
  checkpoint(val[0].location)
2881
2899
 
@@ -2885,7 +2903,7 @@ module_eval(<<'.,.,', 'parser.y', 1295)
2885
2903
  end
2886
2904
  .,.,
2887
2905
 
2888
- module_eval(<<'.,.,', 'parser.y', 1301)
2906
+ module_eval(<<'.,.,', 'parser.y', 1316)
2889
2907
  def _reduce_177(val, _values, result)
2890
2908
  checkpoint(val[0].location)
2891
2909
 
@@ -2895,7 +2913,7 @@ module_eval(<<'.,.,', 'parser.y', 1301)
2895
2913
  end
2896
2914
  .,.,
2897
2915
 
2898
- module_eval(<<'.,.,', 'parser.y', 1310)
2916
+ module_eval(<<'.,.,', 'parser.y', 1325)
2899
2917
  def _reduce_178(val, _values, result)
2900
2918
  checkpoint(val[0].location)
2901
2919
 
@@ -2905,7 +2923,7 @@ module_eval(<<'.,.,', 'parser.y', 1310)
2905
2923
  end
2906
2924
  .,.,
2907
2925
 
2908
- module_eval(<<'.,.,', 'parser.y', 1316)
2926
+ module_eval(<<'.,.,', 'parser.y', 1331)
2909
2927
  def _reduce_179(val, _values, result)
2910
2928
  checkpoint(val[0].first.location)
2911
2929
 
@@ -2915,7 +2933,7 @@ module_eval(<<'.,.,', 'parser.y', 1316)
2915
2933
  end
2916
2934
  .,.,
2917
2935
 
2918
- module_eval(<<'.,.,', 'parser.y', 1325)
2936
+ module_eval(<<'.,.,', 'parser.y', 1340)
2919
2937
  def _reduce_180(val, _values, result)
2920
2938
  checkpoint(val[0].first.location)
2921
2939
 
@@ -2927,7 +2945,7 @@ module_eval(<<'.,.,', 'parser.y', 1325)
2927
2945
  end
2928
2946
  .,.,
2929
2947
 
2930
- module_eval(<<'.,.,', 'parser.y', 1333)
2948
+ module_eval(<<'.,.,', 'parser.y', 1348)
2931
2949
  def _reduce_181(val, _values, result)
2932
2950
  checkpoint(val[0].first.location)
2933
2951
 
@@ -2939,7 +2957,7 @@ module_eval(<<'.,.,', 'parser.y', 1333)
2939
2957
  end
2940
2958
  .,.,
2941
2959
 
2942
- module_eval(<<'.,.,', 'parser.y', 1344)
2960
+ module_eval(<<'.,.,', 'parser.y', 1359)
2943
2961
  def _reduce_182(val, _values, result)
2944
2962
  checkpoint(val[0].location)
2945
2963
 
@@ -2949,7 +2967,7 @@ module_eval(<<'.,.,', 'parser.y', 1344)
2949
2967
  end
2950
2968
  .,.,
2951
2969
 
2952
- module_eval(<<'.,.,', 'parser.y', 1350)
2970
+ module_eval(<<'.,.,', 'parser.y', 1365)
2953
2971
  def _reduce_183(val, _values, result)
2954
2972
  checkpoint(val[0].first.location)
2955
2973
 
@@ -2959,7 +2977,7 @@ module_eval(<<'.,.,', 'parser.y', 1350)
2959
2977
  end
2960
2978
  .,.,
2961
2979
 
2962
- module_eval(<<'.,.,', 'parser.y', 1359)
2980
+ module_eval(<<'.,.,', 'parser.y', 1374)
2963
2981
  def _reduce_184(val, _values, result)
2964
2982
  checkpoint(val[0].location)
2965
2983
 
@@ -2971,7 +2989,7 @@ module_eval(<<'.,.,', 'parser.y', 1359)
2971
2989
  end
2972
2990
  .,.,
2973
2991
 
2974
- module_eval(<<'.,.,', 'parser.y', 1367)
2992
+ module_eval(<<'.,.,', 'parser.y', 1382)
2975
2993
  def _reduce_185(val, _values, result)
2976
2994
  checkpoint(val[0].location)
2977
2995
 
@@ -2983,7 +3001,7 @@ module_eval(<<'.,.,', 'parser.y', 1367)
2983
3001
  end
2984
3002
  .,.,
2985
3003
 
2986
- module_eval(<<'.,.,', 'parser.y', 1375)
3004
+ module_eval(<<'.,.,', 'parser.y', 1390)
2987
3005
  def _reduce_186(val, _values, result)
2988
3006
  checkpoint(val[0].location)
2989
3007
 
@@ -2997,7 +3015,7 @@ module_eval(<<'.,.,', 'parser.y', 1375)
2997
3015
  end
2998
3016
  .,.,
2999
3017
 
3000
- module_eval(<<'.,.,', 'parser.y', 1388)
3018
+ module_eval(<<'.,.,', 'parser.y', 1403)
3001
3019
  def _reduce_187(val, _values, result)
3002
3020
  checkpoint(val[0].location)
3003
3021
 
@@ -3007,7 +3025,7 @@ module_eval(<<'.,.,', 'parser.y', 1388)
3007
3025
  end
3008
3026
  .,.,
3009
3027
 
3010
- module_eval(<<'.,.,', 'parser.y', 1394)
3028
+ module_eval(<<'.,.,', 'parser.y', 1409)
3011
3029
  def _reduce_188(val, _values, result)
3012
3030
  checkpoint(val[0].first.location)
3013
3031
 
@@ -3017,7 +3035,7 @@ module_eval(<<'.,.,', 'parser.y', 1394)
3017
3035
  end
3018
3036
  .,.,
3019
3037
 
3020
- module_eval(<<'.,.,', 'parser.y', 1403)
3038
+ module_eval(<<'.,.,', 'parser.y', 1418)
3021
3039
  def _reduce_189(val, _values, result)
3022
3040
  checkpoint(val[0].location)
3023
3041
 
@@ -3031,7 +3049,7 @@ module_eval(<<'.,.,', 'parser.y', 1403)
3031
3049
  end
3032
3050
  .,.,
3033
3051
 
3034
- module_eval(<<'.,.,', 'parser.y', 1413)
3052
+ module_eval(<<'.,.,', 'parser.y', 1428)
3035
3053
  def _reduce_190(val, _values, result)
3036
3054
  checkpoint(val[0].location)
3037
3055
 
@@ -3043,7 +3061,7 @@ module_eval(<<'.,.,', 'parser.y', 1413)
3043
3061
  end
3044
3062
  .,.,
3045
3063
 
3046
- module_eval(<<'.,.,', 'parser.y', 1424)
3064
+ module_eval(<<'.,.,', 'parser.y', 1439)
3047
3065
  def _reduce_191(val, _values, result)
3048
3066
  checkpoint(val[0].first.location)
3049
3067
 
@@ -3052,26 +3070,37 @@ module_eval(<<'.,.,', 'parser.y', 1424)
3052
3070
  result = PointerAbstractDeclarator.new(nil, val[0])
3053
3071
  result.head_token = val[0].first
3054
3072
  result.tail_token = val[0].last
3073
+ result.full = true
3055
3074
 
3056
3075
  result
3057
3076
  end
3058
3077
  .,.,
3059
3078
 
3060
- module_eval(<<'.,.,', 'parser.y', 1434)
3079
+ module_eval(<<'.,.,', 'parser.y', 1450)
3061
3080
  def _reduce_192(val, _values, result)
3062
3081
  checkpoint(val[0].first.location)
3063
3082
 
3064
3083
  result = PointerAbstractDeclarator.new(val[1], val[0])
3065
3084
  result.head_token = val[0].first
3066
3085
  result.tail_token = val[1].tail_token
3086
+ result.full = true
3067
3087
 
3068
3088
  result
3069
3089
  end
3070
3090
  .,.,
3071
3091
 
3072
- # reduce 193 omitted
3092
+ module_eval(<<'.,.,', 'parser.y', 1459)
3093
+ def _reduce_193(val, _values, result)
3094
+ checkpoint(val[0].location)
3073
3095
 
3074
- module_eval(<<'.,.,', 'parser.y', 1446)
3096
+ result = val[0]
3097
+ result.full = true
3098
+
3099
+ result
3100
+ end
3101
+ .,.,
3102
+
3103
+ module_eval(<<'.,.,', 'parser.y', 1469)
3075
3104
  def _reduce_194(val, _values, result)
3076
3105
  checkpoint(val[0].location)
3077
3106
 
@@ -3085,7 +3114,7 @@ module_eval(<<'.,.,', 'parser.y', 1446)
3085
3114
  end
3086
3115
  .,.,
3087
3116
 
3088
- module_eval(<<'.,.,', 'parser.y', 1456)
3117
+ module_eval(<<'.,.,', 'parser.y', 1479)
3089
3118
  def _reduce_195(val, _values, result)
3090
3119
  checkpoint(val[0].location)
3091
3120
 
@@ -3099,12 +3128,13 @@ module_eval(<<'.,.,', 'parser.y', 1456)
3099
3128
  end
3100
3129
  .,.,
3101
3130
 
3102
- module_eval(<<'.,.,', 'parser.y', 1466)
3131
+ module_eval(<<'.,.,', 'parser.y', 1489)
3103
3132
  def _reduce_196(val, _values, result)
3104
3133
  checkpoint(val[0].location)
3105
3134
 
3106
3135
  @lexer.start_identifier_translation
3107
3136
 
3137
+ val[1].full = true
3108
3138
  result = ArrayAbstractDeclarator.new(nil, val[1])
3109
3139
  result.head_token = val[0]
3110
3140
  result.tail_token = val[2]
@@ -3113,7 +3143,7 @@ module_eval(<<'.,.,', 'parser.y', 1466)
3113
3143
  end
3114
3144
  .,.,
3115
3145
 
3116
- module_eval(<<'.,.,', 'parser.y', 1476)
3146
+ module_eval(<<'.,.,', 'parser.y', 1500)
3117
3147
  def _reduce_197(val, _values, result)
3118
3148
  checkpoint(val[0].location)
3119
3149
 
@@ -3125,10 +3155,11 @@ module_eval(<<'.,.,', 'parser.y', 1476)
3125
3155
  end
3126
3156
  .,.,
3127
3157
 
3128
- module_eval(<<'.,.,', 'parser.y', 1484)
3158
+ module_eval(<<'.,.,', 'parser.y', 1508)
3129
3159
  def _reduce_198(val, _values, result)
3130
3160
  checkpoint(val[0].location)
3131
3161
 
3162
+ val[2].full = true
3132
3163
  result = ArrayAbstractDeclarator.new(val[0], val[2])
3133
3164
  result.head_token = val[0].head_token
3134
3165
  result.tail_token = val[3]
@@ -3137,7 +3168,7 @@ module_eval(<<'.,.,', 'parser.y', 1484)
3137
3168
  end
3138
3169
  .,.,
3139
3170
 
3140
- module_eval(<<'.,.,', 'parser.y', 1492)
3171
+ module_eval(<<'.,.,', 'parser.y', 1517)
3141
3172
  def _reduce_199(val, _values, result)
3142
3173
  checkpoint(val[0].location)
3143
3174
 
@@ -3151,7 +3182,7 @@ module_eval(<<'.,.,', 'parser.y', 1492)
3151
3182
  end
3152
3183
  .,.,
3153
3184
 
3154
- module_eval(<<'.,.,', 'parser.y', 1502)
3185
+ module_eval(<<'.,.,', 'parser.y', 1527)
3155
3186
  def _reduce_200(val, _values, result)
3156
3187
  checkpoint(val[0].location)
3157
3188
 
@@ -3163,7 +3194,7 @@ module_eval(<<'.,.,', 'parser.y', 1502)
3163
3194
  end
3164
3195
  .,.,
3165
3196
 
3166
- module_eval(<<'.,.,', 'parser.y', 1510)
3197
+ module_eval(<<'.,.,', 'parser.y', 1535)
3167
3198
  def _reduce_201(val, _values, result)
3168
3199
  checkpoint(val[0].location)
3169
3200
 
@@ -3177,14 +3208,14 @@ module_eval(<<'.,.,', 'parser.y', 1510)
3177
3208
  end
3178
3209
  .,.,
3179
3210
 
3180
- module_eval(<<'.,.,', 'parser.y', 1518)
3211
+ module_eval(<<'.,.,', 'parser.y', 1543)
3181
3212
  def _reduce_202(val, _values, result)
3182
3213
  @lexer.start_identifier_translation
3183
3214
  result
3184
3215
  end
3185
3216
  .,.,
3186
3217
 
3187
- module_eval(<<'.,.,', 'parser.y', 1520)
3218
+ module_eval(<<'.,.,', 'parser.y', 1545)
3188
3219
  def _reduce_203(val, _values, result)
3189
3220
  checkpoint(val[0].location)
3190
3221
 
@@ -3196,7 +3227,7 @@ module_eval(<<'.,.,', 'parser.y', 1520)
3196
3227
  end
3197
3228
  .,.,
3198
3229
 
3199
- module_eval(<<'.,.,', 'parser.y', 1528)
3230
+ module_eval(<<'.,.,', 'parser.y', 1553)
3200
3231
  def _reduce_204(val, _values, result)
3201
3232
  checkpoint(val[0].location)
3202
3233
 
@@ -3210,7 +3241,7 @@ module_eval(<<'.,.,', 'parser.y', 1528)
3210
3241
  end
3211
3242
  .,.,
3212
3243
 
3213
- module_eval(<<'.,.,', 'parser.y', 1538)
3244
+ module_eval(<<'.,.,', 'parser.y', 1563)
3214
3245
  def _reduce_205(val, _values, result)
3215
3246
  checkpoint(val[0].location)
3216
3247
 
@@ -3222,10 +3253,11 @@ module_eval(<<'.,.,', 'parser.y', 1538)
3222
3253
  end
3223
3254
  .,.,
3224
3255
 
3225
- module_eval(<<'.,.,', 'parser.y', 1549)
3256
+ module_eval(<<'.,.,', 'parser.y', 1574)
3226
3257
  def _reduce_206(val, _values, result)
3227
3258
  checkpoint(val[0].location)
3228
3259
 
3260
+ val[0].full = true
3229
3261
  result = Initializer.new(val[0], nil)
3230
3262
  result.head_token = val[0].head_token
3231
3263
  result.tail_token = val[0].tail_token
@@ -3234,7 +3266,7 @@ module_eval(<<'.,.,', 'parser.y', 1549)
3234
3266
  end
3235
3267
  .,.,
3236
3268
 
3237
- module_eval(<<'.,.,', 'parser.y', 1557)
3269
+ module_eval(<<'.,.,', 'parser.y', 1583)
3238
3270
  def _reduce_207(val, _values, result)
3239
3271
  checkpoint(val[0].location)
3240
3272
 
@@ -3246,7 +3278,7 @@ module_eval(<<'.,.,', 'parser.y', 1557)
3246
3278
  end
3247
3279
  .,.,
3248
3280
 
3249
- module_eval(<<'.,.,', 'parser.y', 1565)
3281
+ module_eval(<<'.,.,', 'parser.y', 1591)
3250
3282
  def _reduce_208(val, _values, result)
3251
3283
  checkpoint(val[0].location)
3252
3284
 
@@ -3258,7 +3290,7 @@ module_eval(<<'.,.,', 'parser.y', 1565)
3258
3290
  end
3259
3291
  .,.,
3260
3292
 
3261
- module_eval(<<'.,.,', 'parser.y', 1573)
3293
+ module_eval(<<'.,.,', 'parser.y', 1599)
3262
3294
  def _reduce_209(val, _values, result)
3263
3295
  checkpoint(val[0].location)
3264
3296
 
@@ -3270,7 +3302,7 @@ module_eval(<<'.,.,', 'parser.y', 1573)
3270
3302
  end
3271
3303
  .,.,
3272
3304
 
3273
- module_eval(<<'.,.,', 'parser.y', 1584)
3305
+ module_eval(<<'.,.,', 'parser.y', 1610)
3274
3306
  def _reduce_210(val, _values, result)
3275
3307
  checkpoint(val[0].location)
3276
3308
 
@@ -3280,7 +3312,7 @@ module_eval(<<'.,.,', 'parser.y', 1584)
3280
3312
  end
3281
3313
  .,.,
3282
3314
 
3283
- module_eval(<<'.,.,', 'parser.y', 1590)
3315
+ module_eval(<<'.,.,', 'parser.y', 1616)
3284
3316
  def _reduce_211(val, _values, result)
3285
3317
  checkpoint(val[1].location)
3286
3318
 
@@ -3290,7 +3322,7 @@ module_eval(<<'.,.,', 'parser.y', 1590)
3290
3322
  end
3291
3323
  .,.,
3292
3324
 
3293
- module_eval(<<'.,.,', 'parser.y', 1596)
3325
+ module_eval(<<'.,.,', 'parser.y', 1622)
3294
3326
  def _reduce_212(val, _values, result)
3295
3327
  checkpoint(val[0].first.location)
3296
3328
 
@@ -3300,7 +3332,7 @@ module_eval(<<'.,.,', 'parser.y', 1596)
3300
3332
  end
3301
3333
  .,.,
3302
3334
 
3303
- module_eval(<<'.,.,', 'parser.y', 1602)
3335
+ module_eval(<<'.,.,', 'parser.y', 1628)
3304
3336
  def _reduce_213(val, _values, result)
3305
3337
  checkpoint(val[0].first.location)
3306
3338
 
@@ -3332,7 +3364,7 @@ module_eval(<<'.,.,', 'parser.y', 1602)
3332
3364
 
3333
3365
  # reduce 224 omitted
3334
3366
 
3335
- module_eval(<<'.,.,', 'parser.y', 1637)
3367
+ module_eval(<<'.,.,', 'parser.y', 1663)
3336
3368
  def _reduce_225(val, _values, result)
3337
3369
  checkpoint(val[0].location)
3338
3370
 
@@ -3344,10 +3376,11 @@ module_eval(<<'.,.,', 'parser.y', 1637)
3344
3376
  end
3345
3377
  .,.,
3346
3378
 
3347
- module_eval(<<'.,.,', 'parser.y', 1645)
3379
+ module_eval(<<'.,.,', 'parser.y', 1671)
3348
3380
  def _reduce_226(val, _values, result)
3349
3381
  checkpoint(val[0].location)
3350
3382
 
3383
+ val[1].full = true
3351
3384
  result = CaseLabeledStatement.new(val[1], val[3])
3352
3385
  result.head_token = val[0]
3353
3386
  result.tail_token = val[3].tail_token
@@ -3356,7 +3389,7 @@ module_eval(<<'.,.,', 'parser.y', 1645)
3356
3389
  end
3357
3390
  .,.,
3358
3391
 
3359
- module_eval(<<'.,.,', 'parser.y', 1653)
3392
+ module_eval(<<'.,.,', 'parser.y', 1680)
3360
3393
  def _reduce_227(val, _values, result)
3361
3394
  checkpoint(val[0].location)
3362
3395
 
@@ -3368,7 +3401,7 @@ module_eval(<<'.,.,', 'parser.y', 1653)
3368
3401
  end
3369
3402
  .,.,
3370
3403
 
3371
- module_eval(<<'.,.,', 'parser.y', 1664)
3404
+ module_eval(<<'.,.,', 'parser.y', 1691)
3372
3405
  def _reduce_228(val, _values, result)
3373
3406
  checkpoint(val[0].location)
3374
3407
 
@@ -3380,21 +3413,21 @@ module_eval(<<'.,.,', 'parser.y', 1664)
3380
3413
  end
3381
3414
  .,.,
3382
3415
 
3383
- module_eval(<<'.,.,', 'parser.y', 1670)
3416
+ module_eval(<<'.,.,', 'parser.y', 1697)
3384
3417
  def _reduce_229(val, _values, result)
3385
3418
  @lexer.enter_scope
3386
3419
  result
3387
3420
  end
3388
3421
  .,.,
3389
3422
 
3390
- module_eval(<<'.,.,', 'parser.y', 1670)
3423
+ module_eval(<<'.,.,', 'parser.y', 1697)
3391
3424
  def _reduce_230(val, _values, result)
3392
3425
  @lexer.leave_scope
3393
3426
  result
3394
3427
  end
3395
3428
  .,.,
3396
3429
 
3397
- module_eval(<<'.,.,', 'parser.y', 1672)
3430
+ module_eval(<<'.,.,', 'parser.y', 1699)
3398
3431
  def _reduce_231(val, _values, result)
3399
3432
  checkpoint(val[0].location)
3400
3433
 
@@ -3406,7 +3439,7 @@ module_eval(<<'.,.,', 'parser.y', 1672)
3406
3439
  end
3407
3440
  .,.,
3408
3441
 
3409
- module_eval(<<'.,.,', 'parser.y', 1683)
3442
+ module_eval(<<'.,.,', 'parser.y', 1710)
3410
3443
  def _reduce_232(val, _values, result)
3411
3444
  checkpoint(val[0].location)
3412
3445
 
@@ -3416,7 +3449,7 @@ module_eval(<<'.,.,', 'parser.y', 1683)
3416
3449
  end
3417
3450
  .,.,
3418
3451
 
3419
- module_eval(<<'.,.,', 'parser.y', 1689)
3452
+ module_eval(<<'.,.,', 'parser.y', 1716)
3420
3453
  def _reduce_233(val, _values, result)
3421
3454
  checkpoint(val[0].first.location)
3422
3455
 
@@ -3432,7 +3465,7 @@ module_eval(<<'.,.,', 'parser.y', 1689)
3432
3465
 
3433
3466
  # reduce 236 omitted
3434
3467
 
3435
- module_eval(<<'.,.,', 'parser.y', 1704)
3468
+ module_eval(<<'.,.,', 'parser.y', 1731)
3436
3469
  def _reduce_237(val, _values, result)
3437
3470
  checkpoint(val[0].location)
3438
3471
 
@@ -3443,10 +3476,11 @@ module_eval(<<'.,.,', 'parser.y', 1704)
3443
3476
  end
3444
3477
  .,.,
3445
3478
 
3446
- module_eval(<<'.,.,', 'parser.y', 1711)
3479
+ module_eval(<<'.,.,', 'parser.y', 1738)
3447
3480
  def _reduce_238(val, _values, result)
3448
3481
  checkpoint(val[0].location)
3449
3482
 
3483
+ val[0].full = true
3450
3484
  result = ExpressionStatement.new(val[0])
3451
3485
  result.head_token = val[0].head_token
3452
3486
  result.tail_token = val[1]
@@ -3455,10 +3489,11 @@ module_eval(<<'.,.,', 'parser.y', 1711)
3455
3489
  end
3456
3490
  .,.,
3457
3491
 
3458
- module_eval(<<'.,.,', 'parser.y', 1722)
3492
+ module_eval(<<'.,.,', 'parser.y', 1750)
3459
3493
  def _reduce_239(val, _values, result)
3460
3494
  checkpoint(val[0].location)
3461
3495
 
3496
+ val[2].full = true
3462
3497
  result = IfStatement.new(val[2], val[4], val[3])
3463
3498
  result.head_token = val[0]
3464
3499
  result.tail_token = val[4].tail_token
@@ -3467,10 +3502,11 @@ module_eval(<<'.,.,', 'parser.y', 1722)
3467
3502
  end
3468
3503
  .,.,
3469
3504
 
3470
- module_eval(<<'.,.,', 'parser.y', 1730)
3505
+ module_eval(<<'.,.,', 'parser.y', 1759)
3471
3506
  def _reduce_240(val, _values, result)
3472
3507
  checkpoint(val[0].location)
3473
3508
 
3509
+ val[2].full = true
3474
3510
  result = IfElseStatement.new(val[2], val[4], val[6], val[3], val[5])
3475
3511
  result.head_token = val[0]
3476
3512
  result.tail_token = val[6].tail_token
@@ -3479,10 +3515,11 @@ module_eval(<<'.,.,', 'parser.y', 1730)
3479
3515
  end
3480
3516
  .,.,
3481
3517
 
3482
- module_eval(<<'.,.,', 'parser.y', 1738)
3518
+ module_eval(<<'.,.,', 'parser.y', 1768)
3483
3519
  def _reduce_241(val, _values, result)
3484
3520
  checkpoint(val[0].location)
3485
3521
 
3522
+ val[2].full = true
3486
3523
  result = SwitchStatement.new(val[2], val[4])
3487
3524
  result.head_token = val[0]
3488
3525
  result.tail_token = val[4].tail_token
@@ -3491,10 +3528,11 @@ module_eval(<<'.,.,', 'parser.y', 1738)
3491
3528
  end
3492
3529
  .,.,
3493
3530
 
3494
- module_eval(<<'.,.,', 'parser.y', 1749)
3531
+ module_eval(<<'.,.,', 'parser.y', 1780)
3495
3532
  def _reduce_242(val, _values, result)
3496
3533
  checkpoint(val[0].location)
3497
3534
 
3535
+ val[2].full = true
3498
3536
  result = WhileStatement.new(val[2], val[4], val[3])
3499
3537
  result.head_token = val[0]
3500
3538
  result.tail_token = val[4].tail_token
@@ -3503,10 +3541,11 @@ module_eval(<<'.,.,', 'parser.y', 1749)
3503
3541
  end
3504
3542
  .,.,
3505
3543
 
3506
- module_eval(<<'.,.,', 'parser.y', 1757)
3544
+ module_eval(<<'.,.,', 'parser.y', 1789)
3507
3545
  def _reduce_243(val, _values, result)
3508
3546
  checkpoint(val[0].location)
3509
3547
 
3548
+ val[4].full = true
3510
3549
  result = DoStatement.new(val[1], val[4], val[0], val[2])
3511
3550
  result.head_token = val[0]
3512
3551
  result.tail_token = val[6]
@@ -3515,7 +3554,7 @@ module_eval(<<'.,.,', 'parser.y', 1757)
3515
3554
  end
3516
3555
  .,.,
3517
3556
 
3518
- module_eval(<<'.,.,', 'parser.y', 1765)
3557
+ module_eval(<<'.,.,', 'parser.y', 1798)
3519
3558
  def _reduce_244(val, _values, result)
3520
3559
  checkpoint(val[0].location)
3521
3560
 
@@ -3527,10 +3566,11 @@ module_eval(<<'.,.,', 'parser.y', 1765)
3527
3566
  end
3528
3567
  .,.,
3529
3568
 
3530
- module_eval(<<'.,.,', 'parser.y', 1774)
3569
+ module_eval(<<'.,.,', 'parser.y', 1807)
3531
3570
  def _reduce_245(val, _values, result)
3532
3571
  checkpoint(val[0].location)
3533
3572
 
3573
+ val[4].full = true
3534
3574
  result = ForStatement.new(val[2], val[3], val[4], val[6], val[5])
3535
3575
  result.head_token = val[0]
3536
3576
  result.tail_token = val[6].tail_token
@@ -3539,7 +3579,7 @@ module_eval(<<'.,.,', 'parser.y', 1774)
3539
3579
  end
3540
3580
  .,.,
3541
3581
 
3542
- module_eval(<<'.,.,', 'parser.y', 1782)
3582
+ module_eval(<<'.,.,', 'parser.y', 1816)
3543
3583
  def _reduce_246(val, _values, result)
3544
3584
  checkpoint(val[0].location)
3545
3585
 
@@ -3551,10 +3591,11 @@ module_eval(<<'.,.,', 'parser.y', 1782)
3551
3591
  end
3552
3592
  .,.,
3553
3593
 
3554
- module_eval(<<'.,.,', 'parser.y', 1790)
3594
+ module_eval(<<'.,.,', 'parser.y', 1824)
3555
3595
  def _reduce_247(val, _values, result)
3556
3596
  checkpoint(val[0].location)
3557
3597
 
3598
+ val[4].full = true
3558
3599
  result = C99ForStatement.new(val[2], val[3], val[4], val[6], val[5])
3559
3600
  result.head_token = val[0]
3560
3601
  result.tail_token = val[6].tail_token
@@ -3563,7 +3604,7 @@ module_eval(<<'.,.,', 'parser.y', 1790)
3563
3604
  end
3564
3605
  .,.,
3565
3606
 
3566
- module_eval(<<'.,.,', 'parser.y', 1801)
3607
+ module_eval(<<'.,.,', 'parser.y', 1836)
3567
3608
  def _reduce_248(val, _values, result)
3568
3609
  checkpoint(val[0].location)
3569
3610
 
@@ -3575,7 +3616,7 @@ module_eval(<<'.,.,', 'parser.y', 1801)
3575
3616
  end
3576
3617
  .,.,
3577
3618
 
3578
- module_eval(<<'.,.,', 'parser.y', 1809)
3619
+ module_eval(<<'.,.,', 'parser.y', 1844)
3579
3620
  def _reduce_249(val, _values, result)
3580
3621
  checkpoint(val[0].location)
3581
3622
 
@@ -3588,7 +3629,7 @@ module_eval(<<'.,.,', 'parser.y', 1809)
3588
3629
  end
3589
3630
  .,.,
3590
3631
 
3591
- module_eval(<<'.,.,', 'parser.y', 1818)
3632
+ module_eval(<<'.,.,', 'parser.y', 1853)
3592
3633
  def _reduce_250(val, _values, result)
3593
3634
  checkpoint(val[0].location)
3594
3635
 
@@ -3600,7 +3641,7 @@ module_eval(<<'.,.,', 'parser.y', 1818)
3600
3641
  end
3601
3642
  .,.,
3602
3643
 
3603
- module_eval(<<'.,.,', 'parser.y', 1826)
3644
+ module_eval(<<'.,.,', 'parser.y', 1861)
3604
3645
  def _reduce_251(val, _values, result)
3605
3646
  checkpoint(val[0].location)
3606
3647
 
@@ -3612,7 +3653,7 @@ module_eval(<<'.,.,', 'parser.y', 1826)
3612
3653
  end
3613
3654
  .,.,
3614
3655
 
3615
- module_eval(<<'.,.,', 'parser.y', 1834)
3656
+ module_eval(<<'.,.,', 'parser.y', 1869)
3616
3657
  def _reduce_252(val, _values, result)
3617
3658
  checkpoint(val[0].location)
3618
3659
 
@@ -3624,10 +3665,11 @@ module_eval(<<'.,.,', 'parser.y', 1834)
3624
3665
  end
3625
3666
  .,.,
3626
3667
 
3627
- module_eval(<<'.,.,', 'parser.y', 1842)
3668
+ module_eval(<<'.,.,', 'parser.y', 1877)
3628
3669
  def _reduce_253(val, _values, result)
3629
3670
  checkpoint(val[0].location)
3630
3671
 
3672
+ val[1].full = true
3631
3673
  result = ReturnStatement.new(val[1])
3632
3674
  result.head_token = val[0]
3633
3675
  result.tail_token = val[2]
@@ -3636,7 +3678,7 @@ module_eval(<<'.,.,', 'parser.y', 1842)
3636
3678
  end
3637
3679
  .,.,
3638
3680
 
3639
- module_eval(<<'.,.,', 'parser.y', 1856)
3681
+ module_eval(<<'.,.,', 'parser.y', 1892)
3640
3682
  def _reduce_254(val, _values, result)
3641
3683
  result = TranslationUnit.new
3642
3684
 
@@ -3644,7 +3686,7 @@ module_eval(<<'.,.,', 'parser.y', 1856)
3644
3686
  end
3645
3687
  .,.,
3646
3688
 
3647
- module_eval(<<'.,.,', 'parser.y', 1860)
3689
+ module_eval(<<'.,.,', 'parser.y', 1896)
3648
3690
  def _reduce_255(val, _values, result)
3649
3691
  checkpoint(val[0].location)
3650
3692
 
@@ -3663,7 +3705,7 @@ module_eval(<<'.,.,', 'parser.y', 1860)
3663
3705
 
3664
3706
  # reduce 257 omitted
3665
3707
 
3666
- module_eval(<<'.,.,', 'parser.y', 1879)
3708
+ module_eval(<<'.,.,', 'parser.y', 1915)
3667
3709
  def _reduce_258(val, _values, result)
3668
3710
  checkpoint(val[0].location)
3669
3711
 
@@ -3676,7 +3718,7 @@ module_eval(<<'.,.,', 'parser.y', 1879)
3676
3718
  end
3677
3719
  .,.,
3678
3720
 
3679
- module_eval(<<'.,.,', 'parser.y', 1888)
3721
+ module_eval(<<'.,.,', 'parser.y', 1924)
3680
3722
  def _reduce_259(val, _values, result)
3681
3723
  checkpoint(val[0].location)
3682
3724
 
@@ -3699,7 +3741,7 @@ module_eval(<<'.,.,', 'parser.y', 1888)
3699
3741
  end
3700
3742
  .,.,
3701
3743
 
3702
- module_eval(<<'.,.,', 'parser.y', 1907)
3744
+ module_eval(<<'.,.,', 'parser.y', 1943)
3703
3745
  def _reduce_260(val, _values, result)
3704
3746
  checkpoint(val[0].location)
3705
3747
 
@@ -3712,7 +3754,7 @@ module_eval(<<'.,.,', 'parser.y', 1907)
3712
3754
  end
3713
3755
  .,.,
3714
3756
 
3715
- module_eval(<<'.,.,', 'parser.y', 1916)
3757
+ module_eval(<<'.,.,', 'parser.y', 1952)
3716
3758
  def _reduce_261(val, _values, result)
3717
3759
  checkpoint(val[0].location)
3718
3760
 
@@ -3735,7 +3777,7 @@ module_eval(<<'.,.,', 'parser.y', 1916)
3735
3777
  end
3736
3778
  .,.,
3737
3779
 
3738
- module_eval(<<'.,.,', 'parser.y', 1938)
3780
+ module_eval(<<'.,.,', 'parser.y', 1974)
3739
3781
  def _reduce_262(val, _values, result)
3740
3782
  checkpoint(val[0].location)
3741
3783
 
@@ -3748,7 +3790,7 @@ module_eval(<<'.,.,', 'parser.y', 1938)
3748
3790
  end
3749
3791
  .,.,
3750
3792
 
3751
- module_eval(<<'.,.,', 'parser.y', 1947)
3793
+ module_eval(<<'.,.,', 'parser.y', 1983)
3752
3794
  def _reduce_263(val, _values, result)
3753
3795
  checkpoint(val[0].location)
3754
3796
 
@@ -3771,7 +3813,7 @@ module_eval(<<'.,.,', 'parser.y', 1947)
3771
3813
  end
3772
3814
  .,.,
3773
3815
 
3774
- module_eval(<<'.,.,', 'parser.y', 1969)
3816
+ module_eval(<<'.,.,', 'parser.y', 2005)
3775
3817
  def _reduce_264(val, _values, result)
3776
3818
  checkpoint(val[0].location)
3777
3819
 
@@ -3781,7 +3823,7 @@ module_eval(<<'.,.,', 'parser.y', 1969)
3781
3823
  end
3782
3824
  .,.,
3783
3825
 
3784
- module_eval(<<'.,.,', 'parser.y', 1975)
3826
+ module_eval(<<'.,.,', 'parser.y', 2011)
3785
3827
  def _reduce_265(val, _values, result)
3786
3828
  checkpoint(val[0].first.location)
3787
3829