depager 0.1.9 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. data/ChangeLog +4 -0
  2. data/bin/depager +1 -0
  3. data/data/depager/misc/depager-mode.el +35 -24
  4. data/data/depager/pre-setup.rb +3 -0
  5. data/examples/Rakefile +36 -0
  6. data/examples/c89/c89.dr +496 -0
  7. data/examples/c89/c89.tab.rb +2197 -0
  8. data/examples/c89/test.c89 +10 -0
  9. data/{data/depager/sample → examples}/extension/paction.dr +0 -0
  10. data/{data/depager/sample → examples}/extension/pactiontest.dr +0 -0
  11. data/{data/depager/sample → examples}/pl0d/pl0ds.dr +0 -0
  12. data/examples/pl0d/pl0ds.tab.rb +1702 -0
  13. data/{data/depager/sample/pl0d/pl0test.pl0 → examples/pl0d/test.pl0ds} +0 -0
  14. data/{data/depager/sample → examples}/sample_calc/calc.action.dr +0 -0
  15. data/examples/sample_calc/calc.action.tab.rb +283 -0
  16. data/{data/depager/sample → examples}/sample_calc/calc.astdf.dr +0 -0
  17. data/examples/sample_calc/calc.astdf.tab.rb +476 -0
  18. data/{data/depager/sample → examples}/sample_calc/calc.astl.action.dr +0 -0
  19. data/examples/sample_calc/calc.astl.action.tab.rb +593 -0
  20. data/{data/depager/sample → examples}/sample_calc/calc.astl.dr +0 -0
  21. data/examples/sample_calc/calc.astl.tab.rb +501 -0
  22. data/{data/depager/sample → examples}/sample_calc/calc.atree.dr +0 -0
  23. data/examples/sample_calc/calc.atree.tab.rb +277 -0
  24. data/{data/depager/sample → examples}/sample_calc/calc.cst.dr +0 -0
  25. data/examples/sample_calc/calc.cst.tab.rb +478 -0
  26. data/{data/depager/sample → examples}/sample_calc/calc.dr +0 -0
  27. data/{data/depager/sample → examples}/sample_calc/calc.lex.dr +0 -0
  28. data/examples/sample_calc/calc.lex.tab.rb +192 -0
  29. data/{data/depager/sample → examples}/sample_calc/calc.nvaction.dr +0 -0
  30. data/examples/sample_calc/calc.nvaction.tab.rb +291 -0
  31. data/examples/sample_calc/calc.tab.rb +183 -0
  32. data/{data/depager/sample → examples}/sample_calc/calc_prec.nvaction.dr +0 -0
  33. data/examples/sample_calc/calc_prec.nvaction.tab.rb +257 -0
  34. data/examples/sample_calc/test.calc +1 -0
  35. data/{data/depager/sample/slex_test/slextest1.dr → examples/slex_test/divreg.slex.dr} +3 -11
  36. data/examples/slex_test/divreg.slex.tab.rb +227 -0
  37. data/{data/depager/sample/slex_test/slextest2.dr → examples/slex_test/ljoin.slex.dr} +10 -7
  38. data/examples/slex_test/ljoin.slex.tab.rb +277 -0
  39. data/examples/slex_test/test.divreg +1 -0
  40. data/examples/slex_test/test.ljoin +3 -0
  41. data/lib/depager.rb +194 -127
  42. data/lib/depager/Rakefile +8 -4
  43. data/lib/depager/ast_base.dr +3 -3
  44. data/lib/depager/ast_base.rb +197 -144
  45. data/lib/depager/atree.rb +55 -36
  46. data/lib/depager/cst.dr +6 -4
  47. data/lib/depager/cst.rb +69 -49
  48. data/lib/depager/grammar.rb +136 -0
  49. data/lib/depager/lex.dr +22 -8
  50. data/lib/depager/lex.rb +94 -53
  51. data/lib/depager/lr.rb +101 -167
  52. data/lib/depager/parse_action.rb +1 -1
  53. data/lib/depager/parser.rb +34 -7
  54. data/lib/depager/slex.dr +76 -36
  55. data/lib/depager/slex.rb +345 -151
  56. data/lib/depager/srp.rb +3 -2
  57. data/lib/depager/template/extension_lalr_slave.erb +1 -1
  58. data/lib/depager/template/single_lalr_parser.erb +1 -1
  59. data/lib/depager/utils.rb +2 -1
  60. data/lib/depager/version.rb +2 -2
  61. metadata +42 -28
  62. data/Manifest.txt +0 -52
  63. data/lib/depager/psrtmpl.rb +0 -33
data/lib/depager/Rakefile CHANGED
@@ -2,8 +2,6 @@ Dir.chdir(File.dirname(__FILE__))
2
2
 
3
3
  require 'rake/clean'
4
4
 
5
- task :default => [".extensions"]
6
-
7
5
  SRC = FileList["*.dr"]
8
6
  SRC.delete('lex.dr')
9
7
  SRC.unshift('lex.dr')
@@ -14,13 +12,19 @@ PREFIX="../.."
14
12
  LIBDIR = "#{PREFIX}/lib"
15
13
  BINDIR = "#{PREFIX}/bin"
16
14
 
15
+ task :default => OBJ
16
+
17
17
  SRC.each do |fn|
18
18
  fn = fn.sub(/\.[^.]*$/, '')
19
- file("#{fn}.rb" => [
19
+ depends = [
20
20
  "#{fn}.dr",
21
+ 'lex.dr',
22
+ 'nvaction.rb',
23
+ 'Rakefile',
21
24
  'template/extension_lalr_master.erb',
22
25
  'template/extension_lalr_slave.erb',
23
- ]) do
26
+ ].uniq
27
+ file("#{fn}.rb" => depends) do
24
28
  sh "ruby -I#{LIBDIR} #{BINDIR}/depager -g -o #{fn}.rb #{fn}.dr"
25
29
  end
26
30
  end
@@ -25,10 +25,10 @@
25
25
  %LEX{
26
26
  /\s+/, /#.*/ { }
27
27
  /%\}\s*\Z/ { @line = $'; yield nil,nil }
28
- /Node/ { yield _Token(:NODE, $&) }
29
- /Visitor/ { yield _Token(:VISITOR, $&) }
28
+ 'Node' { yield _Token(:NODE, $&) }
29
+ 'Visitor' { yield _Token(:VISITOR, $&) }
30
30
  /[a-zA-Z][a-zA-Z0-9_]*/ { yield _Token(:ID, $&) }
31
- /\{/ { ln = lineno; yield _Token(:ACTION, parse_action, ln); //=~'' }
31
+ '{' ! { ln = lineno; yield _Token(:ACTION, parse_action, ln) }
32
32
  /./ { yield _Token($&, $&) }
33
33
  %}
34
34
 
@@ -60,7 +60,7 @@ end
60
60
  module D4ASTBuilderBaseExtension_prerulelist #:nodoc:all
61
61
  end
62
62
 
63
- class ASTBuilderBaseExtension_prerulelist < Basis #:nodoc:all
63
+ class ASTBuilderBaseExtension_prerulelist < Depager::LALR::Basis #:nodoc:all
64
64
  include Depager::ExtensionUtils
65
65
 
66
66
  include ActionParser
@@ -373,30 +373,49 @@ class ASTBuilderBaseExtension_prerulelist < Basis #:nodoc:all
373
373
 
374
374
  def lex
375
375
  begin
376
- until @line.empty? do
376
+ until @line.empty?
377
377
  case @line
378
- when /\A\s+/, /\A#.*/
379
-
380
- when /\A%\}\s*\Z/
381
- @line = $'; yield nil,nil
382
- when /\ANode/
383
- yield _Token(:NODE, $&)
384
- when /\AVisitor/
385
- yield _Token(:VISITOR, $&)
386
- when /\A[a-zA-Z][a-zA-Z0-9_]*/
387
- yield _Token(:ID, $&)
388
- when /\A\{/
389
- ln = lineno; yield _Token(:ACTION, parse_action, ln); //=~''
390
- when /\A./
391
- yield _Token($&, $&)
378
+
379
+ when /\A\s+/, /\A#.*/
380
+ @oldline = @line; @line = $'
381
+
392
382
 
383
+
384
+ when /\A%\}\s*\Z/
385
+ @oldline = @line; @line = $'
386
+ @line = $'; yield nil,nil
387
+
388
+
389
+ when /\ANode/
390
+ @oldline = @line; @line = $'
391
+ yield _Token(:NODE, $&)
392
+
393
+
394
+ when /\AVisitor/
395
+ @oldline = @line; @line = $'
396
+ yield _Token(:VISITOR, $&)
397
+
398
+
399
+ when /\A[a-zA-Z][a-zA-Z0-9_]*/
400
+ @oldline = @line; @line = $'
401
+ yield _Token(:ID, $&)
402
+
403
+
404
+ when /\A\{/
405
+ #
406
+ ln = lineno; yield _Token(:ACTION, parse_action, ln)
407
+
408
+
409
+ when /\A./
410
+ @oldline = @line; @line = $'
411
+ yield _Token($&, $&)
412
+
413
+
393
414
  else
394
415
  raise RuntimeError, "must not happen #{@line}"
395
416
  end
396
- @oldline = @line
397
- @line = $'
398
417
  end
399
- end while @line = getline
418
+ end while @line0 = @line = getline
400
419
  yield nil, nil
401
420
  end
402
421
 
@@ -404,7 +423,7 @@ end
404
423
 
405
424
  ### Outer Code
406
425
 
407
- class D4ASTBuilderBaseExtension_prerulelist::NVAction < Depager::Action #:nodoc:all
426
+ class D4ASTBuilderBaseExtension_prerulelist::NVAction < Depager::LALR::Action #:nodoc:all
408
427
  include Depager::DecoratorUtils
409
428
  include ActionParser
410
429
 
@@ -445,7 +464,7 @@ class D4ASTBuilderBaseExtension_prerulelist::NVAction < Depager::Action #:nodoc:
445
464
  end
446
465
 
447
466
 
448
- module_eval <<-'.,.,11802814595060.,.,', 'ast_base.dr', 36
467
+ module_eval <<-'.,.,118754107738065.,.,', 'ast_base.dr', 36
449
468
  def _act_0 val
450
469
  _opt_defnode, _opt_defvis, _defnode_list = *val
451
470
 
@@ -468,17 +487,17 @@ module_eval <<-'.,.,11802814595060.,.,', 'ast_base.dr', 36
468
487
 
469
488
  end
470
489
 
471
- .,.,11802814595060.,.,
490
+ .,.,118754107738065.,.,
472
491
 
473
- module_eval <<-'.,.,118028145910468.,.,', 'ast_base.dr', 56
492
+ module_eval <<-'.,.,11875410776514.,.,', 'ast_base.dr', 56
474
493
  def _act_1 val
475
494
  ""
476
495
 
477
496
  end
478
497
 
479
- .,.,118028145910468.,.,
498
+ .,.,11875410776514.,.,
480
499
 
481
- module_eval <<-'.,.,118028145948978.,.,', 'ast_base.dr', 58
500
+ module_eval <<-'.,.,118754107720386.,.,', 'ast_base.dr', 58
482
501
  def _act_2 val
483
502
  _NODE, _opt_attr, _ACTION = *val
484
503
 
@@ -491,17 +510,17 @@ module_eval <<-'.,.,118028145948978.,.,', 'ast_base.dr', 58
491
510
 
492
511
  end
493
512
 
494
- .,.,118028145948978.,.,
513
+ .,.,118754107720386.,.,
495
514
 
496
- module_eval <<-'.,.,118028145959009.,.,', 'ast_base.dr', 68
515
+ module_eval <<-'.,.,118754107736984.,.,', 'ast_base.dr', 68
497
516
  def _act_3 val
498
517
  []
499
518
 
500
519
  end
501
520
 
502
- .,.,118028145959009.,.,
521
+ .,.,118754107736984.,.,
503
522
 
504
- module_eval <<-'.,.,118028145914706.,.,', 'ast_base.dr', 70
523
+ module_eval <<-'.,.,118754107764916.,.,', 'ast_base.dr', 70
505
524
  def _act_4 val
506
525
  _VISITOR, _opt_action = *val
507
526
 
@@ -513,27 +532,27 @@ module_eval <<-'.,.,118028145914706.,.,', 'ast_base.dr', 70
513
532
 
514
533
  end
515
534
 
516
- .,.,118028145914706.,.,
535
+ .,.,118754107764916.,.,
517
536
 
518
- module_eval <<-'.,.,118028145935339.,.,', 'ast_base.dr', 79
537
+ module_eval <<-'.,.,118754107745518.,.,', 'ast_base.dr', 79
519
538
  def _act_5 val
520
539
  _defnode = *val
521
540
  _defnode
522
541
 
523
542
  end
524
543
 
525
- .,.,118028145935339.,.,
544
+ .,.,118754107745518.,.,
526
545
 
527
- module_eval <<-'.,.,11802814593872.,.,', 'ast_base.dr', 80
546
+ module_eval <<-'.,.,118754107734821.,.,', 'ast_base.dr', 80
528
547
  def _act_6 val
529
548
  _defnode_list, _defnode = *val
530
549
  _defnode_list << _defnode
531
550
 
532
551
  end
533
552
 
534
- .,.,11802814593872.,.,
553
+ .,.,118754107734821.,.,
535
554
 
536
- module_eval <<-'.,.,118028145918044.,.,', 'ast_base.dr', 84
555
+ module_eval <<-'.,.,118754107753400.,.,', 'ast_base.dr', 84
537
556
  def _act_7 val
538
557
  _defnode_header, _opt_attr, _opt_action = *val
539
558
 
@@ -559,124 +578,124 @@ module_eval <<-'.,.,118028145918044.,.,', 'ast_base.dr', 84
559
578
 
560
579
  end
561
580
 
562
- .,.,118028145918044.,.,
581
+ .,.,118754107753400.,.,
563
582
 
564
- module_eval <<-'.,.,118028145922702.,.,', 'ast_base.dr', 107
583
+ module_eval <<-'.,.,118754107753793.,.,', 'ast_base.dr', 107
565
584
  def _act_8 val
566
585
  _ID, _, _ = *val
567
586
  [_ID.value, nil]
568
587
 
569
588
  end
570
589
 
571
- .,.,118028145922702.,.,
590
+ .,.,118754107753793.,.,
572
591
 
573
- module_eval <<-'.,.,118028145943087.,.,', 'ast_base.dr', 108
592
+ module_eval <<-'.,.,118754107756494.,.,', 'ast_base.dr', 108
574
593
  def _act_9 val
575
594
  _ID, _, _fact_list, _ = *val
576
595
  [_ID.value, _fact_list]
577
596
 
578
597
  end
579
598
 
580
- .,.,118028145943087.,.,
599
+ .,.,118754107756494.,.,
581
600
 
582
- module_eval <<-'.,.,118028145952231.,.,', 'ast_base.dr', 111
601
+ module_eval <<-'.,.,118754107730627.,.,', 'ast_base.dr', 111
583
602
  def _act_10 val
584
603
  []
585
604
 
586
605
  end
587
606
 
588
- .,.,118028145952231.,.,
607
+ .,.,118754107730627.,.,
589
608
 
590
- module_eval <<-'.,.,118028145935942.,.,', 'ast_base.dr', 112
609
+ module_eval <<-'.,.,118754107717207.,.,', 'ast_base.dr', 112
591
610
  def _act_11 val
592
611
  _, _ = *val
593
612
  []
594
613
 
595
614
  end
596
615
 
597
- .,.,118028145935942.,.,
616
+ .,.,118754107717207.,.,
598
617
 
599
- module_eval <<-'.,.,11802814593749.,.,', 'ast_base.dr', 113
618
+ module_eval <<-'.,.,118754107738971.,.,', 'ast_base.dr', 113
600
619
  def _act_12 val
601
620
  _, _id_list, _ = *val
602
621
  _id_list
603
622
 
604
623
  end
605
624
 
606
- .,.,11802814593749.,.,
625
+ .,.,118754107738971.,.,
607
626
 
608
- module_eval <<-'.,.,118028145926271.,.,', 'ast_base.dr', 116
627
+ module_eval <<-'.,.,118754107752060.,.,', 'ast_base.dr', 116
609
628
  def _act_13 val
610
629
  _fact = *val
611
630
  [_fact]
612
631
 
613
632
  end
614
633
 
615
- .,.,118028145926271.,.,
634
+ .,.,118754107752060.,.,
616
635
 
617
- module_eval <<-'.,.,118028145923579.,.,', 'ast_base.dr', 117
636
+ module_eval <<-'.,.,118754107715890.,.,', 'ast_base.dr', 117
618
637
  def _act_14 val
619
638
  _fact_list, _, _fact = *val
620
639
  _fact_list.push _fact
621
640
 
622
641
  end
623
642
 
624
- .,.,118028145923579.,.,
643
+ .,.,118754107715890.,.,
625
644
 
626
- module_eval <<-'.,.,118028145926511.,.,', 'ast_base.dr', 120
645
+ module_eval <<-'.,.,118754107746326.,.,', 'ast_base.dr', 120
627
646
  def _act_15 val
628
647
  _ID = *val
629
648
  _ID.value
630
649
 
631
650
  end
632
651
 
633
- .,.,118028145926511.,.,
652
+ .,.,118754107746326.,.,
634
653
 
635
- module_eval <<-'.,.,118028145913425.,.,', 'ast_base.dr', 121
654
+ module_eval <<-'.,.,11875410778315.,.,', 'ast_base.dr', 121
636
655
  def _act_16 val
637
656
  _, _ID = *val
638
657
  '-' + _ID.value
639
658
 
640
659
  end
641
660
 
642
- .,.,118028145913425.,.,
661
+ .,.,11875410778315.,.,
643
662
 
644
- module_eval <<-'.,.,118028145915593.,.,', 'ast_base.dr', 124
663
+ module_eval <<-'.,.,118754107752669.,.,', 'ast_base.dr', 124
645
664
  def _act_17 val
646
665
  _ID = *val
647
666
  [ _ID.value ]
648
667
 
649
668
  end
650
669
 
651
- .,.,118028145915593.,.,
670
+ .,.,118754107752669.,.,
652
671
 
653
- module_eval <<-'.,.,118028145940054.,.,', 'ast_base.dr', 125
672
+ module_eval <<-'.,.,118754107765360.,.,', 'ast_base.dr', 125
654
673
  def _act_18 val
655
674
  _id_list, _, _ID = *val
656
675
  _id_list.push _ID.value
657
676
 
658
677
  end
659
678
 
660
- .,.,118028145940054.,.,
679
+ .,.,118754107765360.,.,
661
680
 
662
- module_eval <<-'.,.,118028145930606.,.,', 'ast_base.dr', 128
681
+ module_eval <<-'.,.,118754107744253.,.,', 'ast_base.dr', 128
663
682
  def _act_19 val
664
683
  {nil => Token['', 0]}
665
684
 
666
685
  end
667
686
 
668
- .,.,118028145930606.,.,
687
+ .,.,118754107744253.,.,
669
688
 
670
- module_eval <<-'.,.,118028145946101.,.,', 'ast_base.dr', 129
689
+ module_eval <<-'.,.,118754107754433.,.,', 'ast_base.dr', 129
671
690
  def _act_20 val
672
691
  _ACTION = *val
673
692
  {nil => _ACTION}
674
693
 
675
694
  end
676
695
 
677
- .,.,118028145946101.,.,
696
+ .,.,118754107754433.,.,
678
697
 
679
- module_eval <<-'.,.,11802814595489.,.,', 'ast_base.dr', 131
698
+ module_eval <<-'.,.,1187541077547.,.,', 'ast_base.dr', 131
680
699
  def _act_21 val
681
700
  _pass_action_list = *val
682
701
 
@@ -684,34 +703,34 @@ module_eval <<-'.,.,11802814595489.,.,', 'ast_base.dr', 131
684
703
 
685
704
  end
686
705
 
687
- .,.,11802814595489.,.,
706
+ .,.,1187541077547.,.,
688
707
 
689
- module_eval <<-'.,.,118028145917240.,.,', 'ast_base.dr', 136
708
+ module_eval <<-'.,.,118754107719437.,.,', 'ast_base.dr', 136
690
709
  def _act_22 val
691
710
  _pass_action = *val
692
711
  _pass_action
693
712
 
694
713
  end
695
714
 
696
- .,.,118028145917240.,.,
715
+ .,.,118754107719437.,.,
697
716
 
698
- module_eval <<-'.,.,118028145943695.,.,', 'ast_base.dr', 137
717
+ module_eval <<-'.,.,118754107742276.,.,', 'ast_base.dr', 137
699
718
  def _act_23 val
700
719
  _pass_action_list, _pass_action = *val
701
720
  _pass_action_list << _pass_action
702
721
 
703
722
  end
704
723
 
705
- .,.,118028145943695.,.,
724
+ .,.,118754107742276.,.,
706
725
 
707
- module_eval <<-'.,.,118028145933103.,.,', 'ast_base.dr', 141
726
+ module_eval <<-'.,.,118754107745765.,.,', 'ast_base.dr', 141
708
727
  def _act_24 val
709
728
  _, _ID, _, _ACTION = *val
710
729
  [_ID.value, _ACTION]
711
730
 
712
731
  end
713
732
 
714
- .,.,118028145933103.,.,
733
+ .,.,118754107745765.,.,
715
734
 
716
735
  end
717
736
 
@@ -722,7 +741,7 @@ end
722
741
  module D4ASTBuilderBaseExtension_postrhs #:nodoc:all
723
742
  end
724
743
 
725
- class ASTBuilderBaseExtension_postrhs < Basis #:nodoc:all
744
+ class ASTBuilderBaseExtension_postrhs < Depager::LALR::Basis #:nodoc:all
726
745
  include Depager::ExtensionUtils
727
746
 
728
747
 
@@ -820,8 +839,8 @@ class ASTBuilderBaseExtension_postrhs < Basis #:nodoc:all
820
839
  [ nil, nil, nil, nil, nil, nil, 27, nil, nil, nil, nil, nil, nil, nil, 26, nil, nil, ],
821
840
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
822
841
  [ nil, nil, nil, nil, nil, 28, 27, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
823
- [ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 17, 18, ],
824
- [ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 17, 18, ],
842
+ [ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
843
+ [ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
825
844
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
826
845
  [ nil, nil, nil, 5, nil, nil, nil, 12, 3, 6, 8, 10, nil, 13, nil, nil, nil, ],
827
846
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
@@ -885,8 +904,8 @@ class ASTBuilderBaseExtension_postrhs < Basis #:nodoc:all
885
904
  nil,
886
905
  -2,
887
906
  nil,
888
- nil,
889
- nil,
907
+ -19,
908
+ -20,
890
909
  -18,
891
910
  nil,
892
911
  -3,
@@ -970,40 +989,74 @@ class ASTBuilderBaseExtension_postrhs < Basis #:nodoc:all
970
989
 
971
990
  def lex
972
991
  begin
973
- until @line.empty? do
992
+ until @line.empty?
974
993
  case @line
975
- when /\A[ \t]+/
976
-
977
- when /\A\r?\n/
978
- yield nil, nil
979
- when /\A<</
980
- yield _Token(:LL, $&)
981
- when /\A=>/
982
- yield _Token(:EG, $&)
983
- when /\A%([a-zA-Z0-9_]+)((::[a-zA-Z0-9_]+)*)/
984
- yield _Token(:CONST, $1+$2)
985
- when /\A%\((.+)\)%/
986
- yield _Token(:EMBED, $1)
987
- when /\Anil/
988
- yield _Token(:NIL, $&)
989
- when /\A[0-9]+/
990
- yield _Token(:NUMBER, $&.to_i)
991
- when /\A:[a-zA-Z0-9_]+/
992
- yield _Token(:SYMBOL, $&)
993
- when /\A[a-zA-Z][a-zA-Z0-9_]*/
994
- yield _Token(:ID, $&)
995
- when /\A'(.+)'/
996
- yield _Token(:STR, $1)
997
- when /\A./
998
- yield _Token($&, $&)
994
+
995
+ when /\A[ \t]+/
996
+ @oldline = @line; @line = $'
997
+
998
+
999
+
1000
+ when /\A\r?\n/
1001
+ @oldline = @line; @line = $'
1002
+ yield nil, nil
1003
+
1004
+
1005
+ when /\A<</
1006
+ @oldline = @line; @line = $'
1007
+ yield _Token(:LL, $&)
1008
+
1009
+
1010
+ when /\A=>/
1011
+ @oldline = @line; @line = $'
1012
+ yield _Token(:EG, $&)
1013
+
1014
+
1015
+ when /\A%([a-zA-Z0-9_]+)((::[a-zA-Z0-9_]+)*)/
1016
+ @oldline = @line; @line = $'
1017
+ yield _Token(:CONST, $1+$2)
1018
+
1019
+
1020
+ when /\A%\((.+)\)%/
1021
+ @oldline = @line; @line = $'
1022
+ yield _Token(:EMBED, $1)
1023
+
1024
+
1025
+ when /\Anil/
1026
+ @oldline = @line; @line = $'
1027
+ yield _Token(:NIL, $&)
999
1028
 
1029
+
1030
+ when /\A[0-9]+/
1031
+ @oldline = @line; @line = $'
1032
+ yield _Token(:NUMBER, $&.to_i)
1033
+
1034
+
1035
+ when /\A:[a-zA-Z0-9_]+/
1036
+ @oldline = @line; @line = $'
1037
+ yield _Token(:SYMBOL, $&)
1038
+
1039
+
1040
+ when /\A[a-zA-Z][a-zA-Z0-9_]*/
1041
+ @oldline = @line; @line = $'
1042
+ yield _Token(:ID, $&)
1043
+
1044
+
1045
+ when /\A'(.+)'/
1046
+ @oldline = @line; @line = $'
1047
+ yield _Token(:STR, $1)
1048
+
1049
+
1050
+ when /\A./
1051
+ @oldline = @line; @line = $'
1052
+ yield _Token($&, $&)
1053
+
1054
+
1000
1055
  else
1001
1056
  raise RuntimeError, "must not happen #{@line}"
1002
1057
  end
1003
- @oldline = @line
1004
- @line = $'
1005
1058
  end
1006
- end while @line = getline
1059
+ end while @line0 = @line = getline
1007
1060
  yield nil, nil
1008
1061
  end
1009
1062
 
@@ -1011,7 +1064,7 @@ end
1011
1064
 
1012
1065
  ### Outer Code
1013
1066
 
1014
- class D4ASTBuilderBaseExtension_postrhs::NVAction < Depager::Action #:nodoc:all
1067
+ class D4ASTBuilderBaseExtension_postrhs::NVAction < Depager::LALR::Action #:nodoc:all
1015
1068
  include Depager::DecoratorUtils
1016
1069
 
1017
1070
  on_reduce = [
@@ -1046,7 +1099,7 @@ class D4ASTBuilderBaseExtension_postrhs::NVAction < Depager::Action #:nodoc:all
1046
1099
  end
1047
1100
 
1048
1101
 
1049
- module_eval <<-'.,.,118028145920523.,.,', 'ast_base.dr', 170
1102
+ module_eval <<-'.,.,118754107714013.,.,', 'ast_base.dr', 170
1050
1103
  def _act_0 val
1051
1104
  _EG, _fnl = *val
1052
1105
 
@@ -1057,18 +1110,18 @@ module_eval <<-'.,.,118028145920523.,.,', 'ast_base.dr', 170
1057
1110
 
1058
1111
  end
1059
1112
 
1060
- .,.,118028145920523.,.,
1113
+ .,.,118754107714013.,.,
1061
1114
 
1062
- module_eval <<-'.,.,118028145933310.,.,', 'ast_base.dr', 178
1115
+ module_eval <<-'.,.,118754107760130.,.,', 'ast_base.dr', 178
1063
1116
  def _act_1 val
1064
1117
  _ID, _, _ = *val
1065
1118
  "Node_#{_ID.value}.new(basis.file.lineno)"
1066
1119
 
1067
1120
  end
1068
1121
 
1069
- .,.,118028145933310.,.,
1122
+ .,.,118754107760130.,.,
1070
1123
 
1071
- module_eval <<-'.,.,118028145931729.,.,', 'ast_base.dr', 180
1124
+ module_eval <<-'.,.,118754107725185.,.,', 'ast_base.dr', 180
1072
1125
  def _act_2 val
1073
1126
  _ID, _, _fnlpair, _ = *val
1074
1127
 
@@ -1080,54 +1133,54 @@ module_eval <<-'.,.,118028145931729.,.,', 'ast_base.dr', 180
1080
1133
 
1081
1134
  end
1082
1135
 
1083
- .,.,118028145931729.,.,
1136
+ .,.,118754107725185.,.,
1084
1137
 
1085
- module_eval <<-'.,.,118028145932240.,.,', 'ast_base.dr', 189
1138
+ module_eval <<-'.,.,118754107718708.,.,', 'ast_base.dr', 189
1086
1139
  def _act_3 val
1087
1140
  _fnl = *val
1088
1141
  [_fnl]
1089
1142
 
1090
1143
  end
1091
1144
 
1092
- .,.,118028145932240.,.,
1145
+ .,.,118754107718708.,.,
1093
1146
 
1094
- module_eval <<-'.,.,11802814592286.,.,', 'ast_base.dr', 190
1147
+ module_eval <<-'.,.,118754107758988.,.,', 'ast_base.dr', 190
1095
1148
  def _act_4 val
1096
1149
  _fnlpair, _, _fnl = *val
1097
1150
  _fnlpair << _fnl
1098
1151
 
1099
1152
  end
1100
1153
 
1101
- .,.,11802814592286.,.,
1154
+ .,.,118754107758988.,.,
1102
1155
 
1103
- module_eval <<-'.,.,118028145958117.,.,', 'ast_base.dr', 193
1156
+ module_eval <<-'.,.,118754107723770.,.,', 'ast_base.dr', 193
1104
1157
  def _act_5 val
1105
1158
  _fact = *val
1106
1159
  _fact
1107
1160
 
1108
1161
  end
1109
1162
 
1110
- .,.,118028145958117.,.,
1163
+ .,.,118754107723770.,.,
1111
1164
 
1112
- module_eval <<-'.,.,118028145929246.,.,', 'ast_base.dr', 194
1165
+ module_eval <<-'.,.,118754107750177.,.,', 'ast_base.dr', 194
1113
1166
  def _act_6 val
1114
1167
  _node = *val
1115
1168
  _node
1116
1169
 
1117
1170
  end
1118
1171
 
1119
- .,.,118028145929246.,.,
1172
+ .,.,118754107750177.,.,
1120
1173
 
1121
- module_eval <<-'.,.,11802814599659.,.,', 'ast_base.dr', 195
1174
+ module_eval <<-'.,.,118754107731712.,.,', 'ast_base.dr', 195
1122
1175
  def _act_7 val
1123
1176
  _list = *val
1124
1177
  _list
1125
1178
 
1126
1179
  end
1127
1180
 
1128
- .,.,11802814599659.,.,
1181
+ .,.,118754107731712.,.,
1129
1182
 
1130
- module_eval <<-'.,.,11802814595130.,.,', 'ast_base.dr', 199
1183
+ module_eval <<-'.,.,118754107736385.,.,', 'ast_base.dr', 199
1131
1184
  def _act_8 val
1132
1185
  _ID, _opt_embed = *val
1133
1186
 
@@ -1139,80 +1192,80 @@ module_eval <<-'.,.,11802814595130.,.,', 'ast_base.dr', 199
1139
1192
 
1140
1193
  end
1141
1194
 
1142
- .,.,11802814595130.,.,
1195
+ .,.,118754107736385.,.,
1143
1196
 
1144
- module_eval <<-'.,.,118028145918865.,.,', 'ast_base.dr', 206
1197
+ module_eval <<-'.,.,118754107744168.,.,', 'ast_base.dr', 206
1145
1198
  def _act_9 val
1146
1199
  _CONST = *val
1147
1200
  "Depager::Token[#{_CONST.value}]"
1148
1201
 
1149
1202
  end
1150
1203
 
1151
- .,.,118028145918865.,.,
1204
+ .,.,118754107744168.,.,
1152
1205
 
1153
- module_eval <<-'.,.,118028145942743.,.,', 'ast_base.dr', 207
1206
+ module_eval <<-'.,.,118754107728765.,.,', 'ast_base.dr', 207
1154
1207
  def _act_10 val
1155
1208
  _SYMBOL = *val
1156
1209
  "Depager::Token[#{_SYMBOL.value}]"
1157
1210
 
1158
1211
  end
1159
1212
 
1160
- .,.,118028145942743.,.,
1213
+ .,.,118754107728765.,.,
1161
1214
 
1162
- module_eval <<-'.,.,118028145949711.,.,', 'ast_base.dr', 208
1215
+ module_eval <<-'.,.,118754107732274.,.,', 'ast_base.dr', 208
1163
1216
  def _act_11 val
1164
1217
  _STR = *val
1165
1218
  "Depager::Token['#{_STR.value}']"
1166
1219
 
1167
1220
  end
1168
1221
 
1169
- .,.,118028145949711.,.,
1222
+ .,.,118754107732274.,.,
1170
1223
 
1171
- module_eval <<-'.,.,118028145937354.,.,', 'ast_base.dr', 209
1224
+ module_eval <<-'.,.,11875410774520.,.,', 'ast_base.dr', 209
1172
1225
  def _act_12 val
1173
1226
  _NIL = *val
1174
1227
  "nil"
1175
1228
 
1176
1229
  end
1177
1230
 
1178
- .,.,118028145937354.,.,
1231
+ .,.,11875410774520.,.,
1179
1232
 
1180
- module_eval <<-'.,.,11802814595860.,.,', 'ast_base.dr', 210
1233
+ module_eval <<-'.,.,118754107711537.,.,', 'ast_base.dr', 210
1181
1234
  def _act_13 val
1182
1235
  _NUMBER = *val
1183
1236
  "Depager::Token[#{_NUMBER.value}]"
1184
1237
 
1185
1238
  end
1186
1239
 
1187
- .,.,11802814595860.,.,
1240
+ .,.,118754107711537.,.,
1188
1241
 
1189
- module_eval <<-'.,.,118028145945394.,.,', 'ast_base.dr', 213
1242
+ module_eval <<-'.,.,118754107736080.,.,', 'ast_base.dr', 213
1190
1243
  def _act_14 val
1191
1244
  ''
1192
1245
 
1193
1246
  end
1194
1247
 
1195
- .,.,118028145945394.,.,
1248
+ .,.,118754107736080.,.,
1196
1249
 
1197
- module_eval <<-'.,.,11802814596768.,.,', 'ast_base.dr', 214
1250
+ module_eval <<-'.,.,118754107755265.,.,', 'ast_base.dr', 214
1198
1251
  def _act_15 val
1199
1252
  _EMBED = *val
1200
1253
  _EMBED.value
1201
1254
 
1202
1255
  end
1203
1256
 
1204
- .,.,11802814596768.,.,
1257
+ .,.,118754107755265.,.,
1205
1258
 
1206
- module_eval <<-'.,.,118028145922451.,.,', 'ast_base.dr', 217
1259
+ module_eval <<-'.,.,11875410774449.,.,', 'ast_base.dr', 217
1207
1260
  def _act_16 val
1208
1261
  _, _ = *val
1209
1262
  "NodeList.new(basis.file.lineno, [])"
1210
1263
 
1211
1264
  end
1212
1265
 
1213
- .,.,118028145922451.,.,
1266
+ .,.,11875410774449.,.,
1214
1267
 
1215
- module_eval <<-'.,.,118028145947303.,.,', 'ast_base.dr', 219
1268
+ module_eval <<-'.,.,118754107747720.,.,', 'ast_base.dr', 219
1216
1269
  def _act_17 val
1217
1270
  _, _fnlpair, _ = *val
1218
1271
 
@@ -1224,25 +1277,25 @@ module_eval <<-'.,.,118028145947303.,.,', 'ast_base.dr', 219
1224
1277
 
1225
1278
  end
1226
1279
 
1227
- .,.,118028145947303.,.,
1280
+ .,.,118754107747720.,.,
1228
1281
 
1229
- module_eval <<-'.,.,118028145933697.,.,', 'ast_base.dr', 226
1282
+ module_eval <<-'.,.,118754107749519.,.,', 'ast_base.dr', 226
1230
1283
  def _act_18 val
1231
1284
  _l, _LL, _r = *val
1232
1285
  "#{_l}.push(#{_r})"
1233
1286
 
1234
1287
  end
1235
1288
 
1236
- .,.,118028145933697.,.,
1289
+ .,.,118754107749519.,.,
1237
1290
 
1238
- module_eval <<-'.,.,118028145918237.,.,', 'ast_base.dr', 227
1291
+ module_eval <<-'.,.,118754107726284.,.,', 'ast_base.dr', 227
1239
1292
  def _act_19 val
1240
1293
  _l, _, _r = *val
1241
1294
  "#{_l}.concat(#{_r})"
1242
1295
 
1243
1296
  end
1244
1297
 
1245
- .,.,118028145918237.,.,
1298
+ .,.,118754107726284.,.,
1246
1299
 
1247
1300
  end
1248
1301