depager 0.1.9 → 0.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 (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