adlint 1.0.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
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