depager 0.3.0.b20160729 → 0.3.0.b20250423

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. checksums.yaml +5 -5
  2. data/.rubocop.yml +44 -0
  3. data/.simplecov +5 -0
  4. data/Gemfile +12 -0
  5. data/LICENSE.gpl +339 -0
  6. data/Manifest.txt +73 -0
  7. data/README.en +4 -3
  8. data/README.ja +4 -47
  9. data/Rakefile +31 -0
  10. data/bin/depager +3 -38
  11. data/examples/action_pl0d/pl0d.action.dr +4 -4
  12. data/examples/action_pl0d/test.pl0ds +2 -3
  13. data/examples/c89/c89.dr +4 -4
  14. data/examples/c89/test.c89 +1 -1
  15. data/examples/extension/astdf.rb +4 -5
  16. data/examples/extension/atree.dr +3 -3
  17. data/examples/extension/calc.atree.dr +4 -4
  18. data/examples/extension/calc.simple_action.dr +3 -3
  19. data/examples/extension/paction.dr +3 -3
  20. data/examples/extension/pactiontest.dr +3 -3
  21. data/examples/extension/simple_action.rb +26 -24
  22. data/examples/pl0d/pl0ds.dr +5 -5
  23. data/examples/pl0d/test.pl0ds +2 -2
  24. data/examples/rie_calc/calc.rie.dr +4 -4
  25. data/examples/rie_dcuse/dcuse.rie.dr +4 -4
  26. data/examples/rie_pl0/pl0.rie.dr +3 -3
  27. data/examples/slex_test/divreg.slex.dr +5 -5
  28. data/examples/slex_test/ljoin.slex.dr +5 -5
  29. data/examples/{sample_calc → tiny_calc}/calc.action.dr +4 -4
  30. data/examples/{sample_calc → tiny_calc}/calc.ast.action.dr +20 -9
  31. data/examples/{sample_calc → tiny_calc}/calc.ast.dr +19 -7
  32. data/examples/{sample_calc → tiny_calc}/calc.cst.dr +12 -7
  33. data/examples/{sample_calc → tiny_calc}/calc.dr +1 -1
  34. data/examples/{sample_calc → tiny_calc}/calc.lex.dr +2 -2
  35. data/examples/{sample_calc → tiny_calc}/calc_prec.action.dr +4 -4
  36. data/lib/depager/cli.rb +44 -0
  37. data/lib/depager/grammar.rb +72 -75
  38. data/lib/depager/lr.rb +169 -154
  39. data/lib/depager/parser.rb +90 -103
  40. data/lib/depager/plugins/_rie_debug.rb +63 -0
  41. data/lib/depager/plugins/action.rb +47 -0
  42. data/lib/depager/{ruby/plugins → plugins}/ast.dr +20 -17
  43. data/lib/depager/{ruby/plugins → plugins}/ast.rb +266 -304
  44. data/lib/depager/{ruby/plugins → plugins}/cst.dr +18 -16
  45. data/lib/depager/{ruby/plugins → plugins}/cst.rb +152 -148
  46. data/lib/depager/{ruby/plugins → plugins}/lex.dr +7 -7
  47. data/lib/depager/{ruby/plugins → plugins}/lex.rb +72 -69
  48. data/lib/depager/{ruby/plugins → plugins}/rie.dr +12 -10
  49. data/lib/depager/{ruby/plugins → plugins}/rie.rb +224 -263
  50. data/lib/depager/{ruby/plugins → plugins}/slex.dr +13 -14
  51. data/lib/depager/{ruby/plugins → plugins}/slex.rb +183 -194
  52. data/lib/depager/plugins/srp.rb +46 -0
  53. data/lib/depager/ruby/templates/extension_lalr_master.erb +6 -12
  54. data/lib/depager/ruby/templates/extension_lalr_slave.erb +31 -17
  55. data/lib/depager/ruby/templates/single_lalr_parser.erb +35 -26
  56. data/lib/depager/utils.rb +56 -46
  57. data/lib/depager/version.rb +1 -2
  58. data/lib/depager.rb +166 -176
  59. metadata +38 -33
  60. data/lib/depager/ruby/plugins/_rie_debug.rb +0 -35
  61. data/lib/depager/ruby/plugins/action.rb +0 -53
  62. data/lib/depager/ruby/plugins/srp.rb +0 -56
  63. /data/examples/{sample_calc → tiny_calc}/test.calc +0 -0
@@ -1,5 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
-
3
1
  ###
4
2
  ### Depager::RieExtension - Depager Extension (master)
5
3
  ###
@@ -11,6 +9,7 @@ module Depager ; end
11
9
  class Depager::RieExtension < Depager::Extension
12
10
 
13
11
  def initialize
12
+ super
14
13
  @master = self
15
14
  @slaves = []
16
15
  end
@@ -18,13 +17,15 @@ class Depager::RieExtension < Depager::Extension
18
17
  def extension_registered g_parser
19
18
  super g_parser
20
19
 
21
- @slaves[0] = Depager::RieExtension::Slave_post_lhs::Parser.new(g_parser, self)
22
- g_parser.hooks[:post_lhs].push [@slaves[0], :do_parse]
23
- @slaves[1] = Depager::RieExtension::Slave_post_rhs::Parser.new(g_parser, self)
24
- g_parser.hooks[:post_rhs].push [@slaves[1], :do_parse]
20
+ @slaves << Depager::RieExtension::PostLhs0::Parser.new(g_parser, self)
21
+ g_parser.hooks[:post_lhs].push [@slaves.last, :do_parse]
22
+ @slaves << Depager::RieExtension::PostRhs1::Parser.new(g_parser, self)
23
+ g_parser.hooks[:post_rhs].push [@slaves.last, :do_parse]
25
24
  end
26
25
 
27
- module_eval <<'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 8
26
+ module_eval <<'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 7
27
+ require "pp"
28
+
28
29
  module Nodes
29
30
  N_THREAD = Struct.new :lineno, :targets, :excepts
30
31
  N_TRANSFER = Struct.new :lineno, :targets, :excepts
@@ -36,7 +37,7 @@ module_eval <<'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 8
36
37
  include Nodes
37
38
 
38
39
  begin
39
- Depager.debug_mode? and require 'plugins/_rie_debug.rb'
40
+ require 'depager/plugins/_rie_debug.rb' if Depager.debug_mode?
40
41
  rescue LoadError
41
42
  end
42
43
 
@@ -52,8 +53,9 @@ module_eval <<'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 8
52
53
  @locals = [{}]
53
54
  @ecs = {}
54
55
  if Depager.debug_mode?
55
- @debug_output_path = "#{g_parser.file.path}.rie_debug.output"
56
- File.unlink @debug_output_path rescue nil
56
+ path = g_parser.file == $stdin ? "stdin" : g_parser.file.path
57
+ @debug_output_path = "#{path}.rie_debug.output"
58
+ File.write @debug_output_path, ""
57
59
  end
58
60
  end
59
61
 
@@ -484,7 +486,7 @@ module_eval <<'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 8
484
486
  end
485
487
 
486
488
  def error_exit_if_error_pending
487
- @pending_errors and (warn @pending_errors.join("\n") ; exit 1)
489
+ @pending_errors and error_exit(@pending_errors.join("\n"))
488
490
  end
489
491
 
490
492
  def debug_info s
@@ -495,7 +497,7 @@ module_eval <<'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 8
495
497
  on_reduce_code = on_reduce.map{|i| " #{i||'nil'},\n"}
496
498
  on_state_code = on_state.map{|i| " #{i||'nil'},\n"}
497
499
 
498
- generate_decorator_code(decorator_name, "#{d_parser.parsing_method}::AdvancedParser", %{
500
+ generate_decorator_code(decorator_name, "#{d_parser.parsing_method}::AdvancedParser", <<-CODE)
499
501
  on_reduce = [\n#{on_reduce_code.join}
500
502
  ]
501
503
  on_state = [\n#{on_state_code.join}
@@ -534,7 +536,7 @@ module_eval <<'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 8
534
536
  raise
535
537
  end
536
538
  \n#{action_code}
537
- }) #code
539
+ CODE
538
540
  end
539
541
 
540
542
  DEPAGER_EXPANDED_CODE
@@ -542,16 +544,15 @@ DEPAGER_EXPANDED_CODE
542
544
  end
543
545
 
544
546
  ###
545
- ### Depager::RieExtension::Slave_post_lhs - Part of Depager Extension (slave)
547
+ ### Depager::RieExtension::PostLhs0 - Part of Depager Extension (slave)
546
548
  ###
547
549
 
548
- module Depager::RieExtension::Slave_post_lhs #:nodoc:all
550
+ module Depager::RieExtension::PostLhs0 #:nodoc:all
549
551
  class Parser < Depager::LALR::Basis #:nodoc:all
550
552
  include Depager::Utils::ExtensionSlaveMethods
551
-
552
553
 
553
554
  ### Reduce Table
554
- reduce_table = [
555
+ REDUCE_TABLE = [
555
556
  [ -1, 1 ],
556
557
  [ 0, 3 ],
557
558
  [ 1, 1 ],
@@ -559,8 +560,10 @@ module Depager::RieExtension::Slave_post_lhs #:nodoc:all
559
560
  [ 2, 1 ],
560
561
  [ 2, 3 ],
561
562
  ]
563
+ def reduce_table; REDUCE_TABLE; end
564
+
562
565
  ### Term to Int
563
- term_to_int = {
566
+ TERM_TO_INT = {
564
567
  nil => 0,
565
568
  false => 1,
566
569
  "[" => 2,
@@ -569,8 +572,10 @@ module Depager::RieExtension::Slave_post_lhs #:nodoc:all
569
572
  :ID => 5,
570
573
  ":" => 6,
571
574
  }
575
+ def term_to_int; TERM_TO_INT; end
576
+
572
577
  ### Int to Term
573
- int_to_term = [
578
+ INT_TO_TERM = [
574
579
  nil,
575
580
  false,
576
581
  "[",
@@ -579,8 +584,10 @@ module Depager::RieExtension::Slave_post_lhs #:nodoc:all
579
584
  :ID,
580
585
  ":",
581
586
  ]
587
+ def int_to_term; INT_TO_TERM; end
588
+
582
589
  ### Action Table
583
- action_table = [
590
+ ACTION_TABLE = [
584
591
  [ nil, nil, 2, nil, nil, nil, nil, ],
585
592
  [ ACC, nil, nil, nil, nil, nil, nil, ],
586
593
  [ nil, nil, nil, nil, nil, 5, nil, ],
@@ -593,8 +600,10 @@ module Depager::RieExtension::Slave_post_lhs #:nodoc:all
593
600
  [ nil, nil, nil, nil, nil, nil, nil, ],
594
601
  [ nil, nil, nil, nil, nil, nil, nil, ],
595
602
  ]
603
+ def action_table; ACTION_TABLE; end
604
+
596
605
  ### Default Reduce Table
597
- defred_table = [
606
+ DEFRED_TABLE = [
598
607
  nil,
599
608
  nil,
600
609
  nil,
@@ -607,7 +616,9 @@ module Depager::RieExtension::Slave_post_lhs #:nodoc:all
607
616
  -3,
608
617
  -5,
609
618
  ]
610
- defred_after_shift_table = [
619
+ def defred_table; DEFRED_TABLE; end
620
+
621
+ DEFRED_AFTER_SHIFT_TABLE = [
611
622
  nil,
612
623
  nil,
613
624
  nil,
@@ -620,20 +631,26 @@ module Depager::RieExtension::Slave_post_lhs #:nodoc:all
620
631
  -3,
621
632
  -5,
622
633
  ]
634
+ def defred_after_shift_table; DEFRED_AFTER_SHIFT_TABLE; end
635
+
623
636
  ### Nonterm to Int
624
- nonterm_to_int = {
625
- :start => 0,
626
- :attr_list => 1,
627
- :attr => 2,
637
+ NONTERM_TO_INT = {
638
+ :start => 0,
639
+ :attr_list => 1,
640
+ :attr => 2,
628
641
  }
642
+ def nonterm_to_int; NONTERM_TO_INT; end
643
+
629
644
  ### Int to Nonterm
630
- int_to_nonterm = [
631
- :start,
632
- :attr_list,
633
- :attr,
645
+ INT_TO_NONTERM = [
646
+ :start,
647
+ :attr_list,
648
+ :attr,
634
649
  ]
650
+ def int_to_nonterm; INT_TO_NONTERM; end
651
+
635
652
  ### Goto Table
636
- goto_table = [
653
+ GOTO_TABLE = [
637
654
  [ 1, nil, nil, ],
638
655
  [ nil, nil, nil, ],
639
656
  [ nil, 3, 4, ],
@@ -646,10 +663,7 @@ module Depager::RieExtension::Slave_post_lhs #:nodoc:all
646
663
  [ nil, nil, nil, ],
647
664
  [ nil, nil, nil, ],
648
665
  ]
649
-
650
- Tables = [ reduce_table, action_table,
651
- defred_table, defred_after_shift_table, goto_table,
652
- term_to_int, int_to_term, nonterm_to_int, int_to_nonterm ]
666
+ def goto_table; GOTO_TABLE; end
653
667
 
654
668
  def initialize g_parser, master
655
669
  super()
@@ -674,40 +688,35 @@ module Depager::RieExtension::Slave_post_lhs #:nodoc:all
674
688
  "[...] / Depager::RieExtension"
675
689
  end
676
690
 
677
-
678
- def lex
679
- begin
680
- until @line.empty?
681
- case @line
682
-
691
+ def lex
692
+ begin
693
+ until @line.empty?
694
+ case @line
683
695
  when /\A\s+/
684
696
  @line = $'
685
697
 
686
698
 
687
-
688
699
  when /\A[a-zA-Z_]\w*/
689
700
  @line = $'
690
701
  yield token(:ID, $&)
691
702
 
692
-
693
703
  when /\A\]/
694
704
  @line = $'
695
705
  yield token(']'); yield token(nil)
696
706
 
697
-
698
707
  when /\A./
699
708
  @line = $'
700
709
  yield token($&)
701
710
 
702
-
703
- else
704
- raise RuntimeError, "must not happen #{@line}"
705
- end
706
- end
707
- end while @original_line = @line = file.gets
708
- yield nil, nil
709
- end
710
- module_eval <<'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 523
711
+
712
+ else
713
+ raise RuntimeError, "must not happen #{@line}"
714
+ end
715
+ end
716
+ end while @original_line = @line = file.gets
717
+ yield nil, nil
718
+ end
719
+ module_eval <<'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 525
711
720
  def do_default
712
721
  master.attributes[g_parser.lhs] = []
713
722
  end
@@ -717,41 +726,36 @@ DEPAGER_EXPANDED_CODE
717
726
  end
718
727
  end
719
728
 
720
-
721
- class Depager::RieExtension::Slave_post_lhs::Action < Depager::LALR::Action #:nodoc:all
729
+ class Depager::RieExtension::PostLhs0::Action < Depager::LALR::Action #:nodoc:all
722
730
  include Depager::Utils::ExtensionSlaveDecoratorMethods
723
-
724
- on_reduce = [
725
- nil,
731
+ ON_REDUCE = [
732
+ nil,
726
733
  :_act_1,
727
734
  :_act_2,
728
735
  :_act_3,
729
736
  :_act_4,
730
737
  :_act_5,
731
738
 
732
- ]
733
- Tables = [ on_reduce ]
739
+ ]
740
+ def on_reduce; ON_REDUCE; end
734
741
 
735
-
736
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 534
742
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 536
737
743
  def _act_1 val
738
- _, _attr_list, _, = *val
744
+ _, _attr_list, _, = *val
739
745
  master.attributes[g_parser.lhs] = _attr_list
740
746
 
741
747
  end
742
748
  DEPAGER_EXPANDED_CODE
743
-
744
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 537
749
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 539
745
750
  def _act_2 val
746
- _attr, = *val
751
+ _attr, = *val
747
752
  [ _attr ]
748
753
 
749
754
  end
750
755
  DEPAGER_EXPANDED_CODE
751
-
752
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 539
756
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 541
753
757
  def _act_3 val
754
- _attr_list, _, _attr, = *val
758
+ _attr_list, _, _attr, = *val
755
759
 
756
760
  if _attr_list.include? _attr
757
761
  warning "attribute `#{_attr}' reappeared."
@@ -762,18 +766,16 @@ def _act_3 val
762
766
 
763
767
  end
764
768
  DEPAGER_EXPANDED_CODE
765
-
766
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 549
769
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 551
767
770
  def _act_4 val
768
- _ID, = *val
771
+ _ID, = *val
769
772
  _ID.value
770
773
 
771
774
  end
772
775
  DEPAGER_EXPANDED_CODE
773
-
774
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 551
776
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 553
775
777
  def _act_5 val
776
- _ID, _, _ec, = *val
778
+ _ID, _, _ec, = *val
777
779
 
778
780
  unless _ID.value[0] == ?_
779
781
  error_exit "EC must be inherited attribute.", _ec.lineno
@@ -784,21 +786,20 @@ def _act_5 val
784
786
 
785
787
  end
786
788
  DEPAGER_EXPANDED_CODE
787
-
788
-
789
+
790
+
789
791
  end
790
-
792
+
791
793
  ###
792
- ### Depager::RieExtension::Slave_post_rhs - Part of Depager Extension (slave)
794
+ ### Depager::RieExtension::PostRhs1 - Part of Depager Extension (slave)
793
795
  ###
794
796
 
795
- module Depager::RieExtension::Slave_post_rhs #:nodoc:all
797
+ module Depager::RieExtension::PostRhs1 #:nodoc:all
796
798
  class Parser < Depager::LALR::Basis #:nodoc:all
797
799
  include Depager::Utils::ExtensionSlaveMethods
798
-
799
800
 
800
801
  ### Reduce Table
801
- reduce_table = [
802
+ REDUCE_TABLE = [
802
803
  [ -1, 1 ],
803
804
  [ 0, 3 ],
804
805
  [ 1, 1 ],
@@ -835,8 +836,10 @@ module Depager::RieExtension::Slave_post_rhs #:nodoc:all
835
836
  [ 3, 1 ],
836
837
  [ 3, 3 ],
837
838
  ]
839
+ def reduce_table; REDUCE_TABLE; end
840
+
838
841
  ### Term to Int
839
- term_to_int = {
842
+ TERM_TO_INT = {
840
843
  nil => 0,
841
844
  false => 1,
842
845
  "{" => 2,
@@ -856,8 +859,10 @@ module Depager::RieExtension::Slave_post_rhs #:nodoc:all
856
859
  "(" => 16,
857
860
  ")" => 17,
858
861
  }
862
+ def term_to_int; TERM_TO_INT; end
863
+
859
864
  ### Int to Term
860
- int_to_term = [
865
+ INT_TO_TERM = [
861
866
  nil,
862
867
  false,
863
868
  "{",
@@ -877,8 +882,10 @@ module Depager::RieExtension::Slave_post_rhs #:nodoc:all
877
882
  "(",
878
883
  ")",
879
884
  ]
885
+ def int_to_term; INT_TO_TERM; end
886
+
880
887
  ### Action Table
881
- action_table = [
888
+ ACTION_TABLE = [
882
889
  [ nil, nil, 2, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
883
890
  [ ACC, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
884
891
  [ nil, nil, 17, nil, nil, 5, 6, 7, nil, 9, 10, 13, 14, 15, 16, nil, 18, nil, ],
@@ -915,12 +922,12 @@ module Depager::RieExtension::Slave_post_rhs #:nodoc:all
915
922
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 30, nil, nil, nil, nil, nil, ],
916
923
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
917
924
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
918
- [ nil, nil, nil, nil, 51, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 50, nil, nil, ],
925
+ [ nil, nil, nil, nil, 50, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 51, nil, nil, ],
919
926
  [ nil, nil, 17, nil, nil, nil, nil, nil, nil, 34, 33, 13, 14, 15, 16, nil, 18, nil, ],
920
927
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
921
- [ nil, nil, nil, 52, 51, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
928
+ [ nil, nil, nil, 52, 50, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
922
929
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
923
- [ nil, nil, nil, nil, 51, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 53, ],
930
+ [ nil, nil, nil, nil, 50, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 53, ],
924
931
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
925
932
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 54, nil, nil, nil, nil, nil, nil, nil, ],
926
933
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 26, nil, nil, nil, nil, nil, nil, nil, ],
@@ -929,17 +936,19 @@ module Depager::RieExtension::Slave_post_rhs #:nodoc:all
929
936
  [ nil, nil, 17, nil, nil, nil, nil, nil, nil, 34, 33, 13, 14, 15, 16, nil, 18, nil, ],
930
937
  [ nil, nil, 17, nil, nil, nil, nil, nil, nil, 34, 33, 13, 14, 15, 16, nil, 18, nil, ],
931
938
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
932
- [ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
933
939
  [ nil, nil, 17, nil, nil, nil, nil, nil, nil, 34, 33, 13, 14, 15, 16, nil, 18, nil, ],
934
940
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
935
941
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
936
942
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
937
943
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
944
+ [ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
938
945
  [ nil, nil, 17, nil, nil, nil, nil, nil, nil, 34, 33, 13, 14, 15, 16, nil, 18, nil, ],
939
946
  [ nil, nil, 17, nil, nil, nil, nil, nil, nil, 34, 33, 13, 14, 15, 16, nil, 18, nil, ],
940
947
  ]
948
+ def action_table; ACTION_TABLE; end
949
+
941
950
  ### Default Reduce Table
942
- defred_table = [
951
+ DEFRED_TABLE = [
943
952
  nil,
944
953
  nil,
945
954
  -4,
@@ -990,8 +999,8 @@ module Depager::RieExtension::Slave_post_rhs #:nodoc:all
990
999
  -10,
991
1000
  -11,
992
1001
  -32,
993
- -25,
994
1002
  -14,
1003
+ -25,
995
1004
  -27,
996
1005
  -29,
997
1006
  -34,
@@ -999,7 +1008,9 @@ module Depager::RieExtension::Slave_post_rhs #:nodoc:all
999
1008
  -8,
1000
1009
  -15,
1001
1010
  ]
1002
- defred_after_shift_table = [
1011
+ def defred_table; DEFRED_TABLE; end
1012
+
1013
+ DEFRED_AFTER_SHIFT_TABLE = [
1003
1014
  nil,
1004
1015
  nil,
1005
1016
  nil,
@@ -1050,8 +1061,8 @@ module Depager::RieExtension::Slave_post_rhs #:nodoc:all
1050
1061
  nil,
1051
1062
  nil,
1052
1063
  -32,
1053
- -25,
1054
1064
  nil,
1065
+ -25,
1055
1066
  -27,
1056
1067
  -29,
1057
1068
  -34,
@@ -1059,32 +1070,38 @@ module Depager::RieExtension::Slave_post_rhs #:nodoc:all
1059
1070
  nil,
1060
1071
  nil,
1061
1072
  ]
1073
+ def defred_after_shift_table; DEFRED_AFTER_SHIFT_TABLE; end
1074
+
1062
1075
  ### Nonterm to Int
1063
- nonterm_to_int = {
1064
- :start => 0,
1065
- :stmt_list => 1,
1066
- :stmt => 2,
1067
- :id_list => 3,
1068
- :lhs_list => 4,
1069
- :lhs => 5,
1070
- :rbexpr => 6,
1071
- :rbexpr_list => 7,
1072
- :rbelem => 8,
1076
+ NONTERM_TO_INT = {
1077
+ :start => 0,
1078
+ :stmt_list => 1,
1079
+ :stmt => 2,
1080
+ :id_list => 3,
1081
+ :lhs_list => 4,
1082
+ :lhs => 5,
1083
+ :rbexpr => 6,
1084
+ :rbexpr_list => 7,
1085
+ :rbelem => 8,
1073
1086
  }
1087
+ def nonterm_to_int; NONTERM_TO_INT; end
1088
+
1074
1089
  ### Int to Nonterm
1075
- int_to_nonterm = [
1076
- :start,
1077
- :stmt_list,
1078
- :stmt,
1079
- :id_list,
1080
- :lhs_list,
1081
- :lhs,
1082
- :rbexpr,
1083
- :rbexpr_list,
1084
- :rbelem,
1090
+ INT_TO_NONTERM = [
1091
+ :start,
1092
+ :stmt_list,
1093
+ :stmt,
1094
+ :id_list,
1095
+ :lhs_list,
1096
+ :lhs,
1097
+ :rbexpr,
1098
+ :rbexpr_list,
1099
+ :rbelem,
1085
1100
  ]
1101
+ def int_to_nonterm; INT_TO_NONTERM; end
1102
+
1086
1103
  ### Goto Table
1087
- goto_table = [
1104
+ GOTO_TABLE = [
1088
1105
  [ 1, nil, nil, nil, nil, nil, nil, nil, nil, ],
1089
1106
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
1090
1107
  [ nil, 3, 4, nil, nil, 8, 11, nil, 12, ],
@@ -1135,19 +1152,16 @@ module Depager::RieExtension::Slave_post_rhs #:nodoc:all
1135
1152
  [ nil, nil, nil, nil, nil, 32, nil, nil, 31, ],
1136
1153
  [ nil, nil, nil, nil, nil, 32, nil, nil, 31, ],
1137
1154
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
1138
- [ nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
1139
1155
  [ nil, nil, nil, nil, nil, 32, 57, nil, 12, ],
1140
1156
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
1141
1157
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
1142
1158
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
1143
1159
  [ nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
1160
+ [ nil, nil, nil, nil, nil, nil, nil, nil, nil, ],
1144
1161
  [ nil, nil, nil, nil, nil, 32, nil, nil, 31, ],
1145
1162
  [ nil, nil, nil, nil, nil, 32, nil, nil, 31, ],
1146
1163
  ]
1147
-
1148
- Tables = [ reduce_table, action_table,
1149
- defred_table, defred_after_shift_table, goto_table,
1150
- term_to_int, int_to_term, nonterm_to_int, int_to_nonterm ]
1164
+ def goto_table; GOTO_TABLE; end
1151
1165
 
1152
1166
  def initialize g_parser, master
1153
1167
  super()
@@ -1172,92 +1186,74 @@ module Depager::RieExtension::Slave_post_rhs #:nodoc:all
1172
1186
  "{...} / Depager::RieExtension"
1173
1187
  end
1174
1188
 
1175
-
1176
- def lex
1177
- begin
1178
- until @line.empty?
1179
- case @line
1180
-
1189
+ def lex
1190
+ begin
1191
+ until @line.empty?
1192
+ case @line
1181
1193
  when /\A#.*/
1182
1194
  @line = $'
1183
1195
 
1184
1196
 
1185
-
1186
1197
  when /\A[ \t]+/
1187
1198
  @line = $'
1188
1199
 
1189
1200
 
1190
-
1191
1201
  when /\A\r?\n/
1192
1202
  @line = $'
1193
1203
  yield token(';')
1194
1204
 
1195
-
1196
1205
  when /\A\s*\(/
1197
1206
  @line = $'
1198
1207
  yield token('(', $&) ; skip_space
1199
1208
 
1200
-
1201
1209
  when /\A\s*\[/
1202
1210
  @line = $'
1203
1211
  yield token('[', $&) ; skip_space
1204
1212
 
1205
-
1206
1213
  when /\A\s*\{/
1207
1214
  @line = $'
1208
1215
  yield token('{', $&) ; skip_space ; @nest +=1
1209
1216
 
1210
-
1211
1217
  when /\A\}/
1212
1218
  @line = $'
1213
1219
  yield token('}'); (@nest-=1) == 0 and yield token(nil)
1214
1220
 
1215
-
1216
1221
  when /\A\./
1217
1222
  @line = $'
1218
1223
  yield token('.') ; @_mode = :AFTER_DOT
1219
1224
 
1220
-
1221
1225
  when /\A,/
1222
1226
  @line = $'
1223
1227
  yield token(','); @line.match(/[\s\n]*/) and @line = $'
1224
1228
 
1225
-
1226
1229
  when /\A%transfer/
1227
1230
  @line = $'
1228
1231
  yield token(:TRANSFER)
1229
1232
 
1230
-
1231
1233
  when /\A%thread/
1232
1234
  @line = $'
1233
1235
  yield token(:THREAD)
1234
1236
 
1235
-
1236
1237
  when /\A%except/
1237
1238
  @line = $'
1238
1239
  yield token(:EXCEPT)
1239
1240
 
1240
-
1241
1241
  when /\A\$\./
1242
1242
  @line = $'
1243
1243
  yield token(:ID, '$'); yield token('.') ; @_mode = :AFTER_DOT
1244
1244
 
1245
-
1246
1245
  when /\A'([^'\\]+|\\.)*'/, /\A"([^"\\]+|\\.)*"/, /\A\/([^\/\\]+|\\.)*\//, /\A(@|$|:)[a-zA-Z_]\w*/, /\A[a-zA-Z_]\w*[!?]/, /\A\d+/
1247
1246
  @line = $'
1248
1247
  yield token(:RBTOKEN, $&)
1249
1248
 
1250
-
1251
1249
  when /\A(<=|>=|=>|==|===|!=|and|or)/, /\A([+!~*\-\/%^<>&|?:]+|\.\.\.?)/
1252
1250
  @line = $'
1253
1251
  yield token(:RBTOKEN, $&) ; skip_space
1254
1252
 
1255
-
1256
1253
  when /\A=/
1257
1254
  @line = $'
1258
1255
  yield token('=') ; skip_space
1259
1256
 
1260
-
1261
1257
  when /\A[a-zA-Z_]\w*/
1262
1258
  @line = $'
1263
1259
 
@@ -1268,20 +1264,19 @@ module Depager::RieExtension::Slave_post_rhs #:nodoc:all
1268
1264
  yield token(:ID, $&)
1269
1265
  end
1270
1266
 
1271
-
1272
1267
  when /\A./
1273
1268
  @line = $'
1274
1269
  yield token($&)
1275
1270
 
1276
-
1277
- else
1278
- raise RuntimeError, "must not happen #{@line}"
1279
- end
1280
- end
1281
- end while @original_line = @line = file.gets
1282
- yield nil, nil
1283
- end
1284
- module_eval <<'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 567
1271
+
1272
+ else
1273
+ raise RuntimeError, "must not happen #{@line}"
1274
+ end
1275
+ end
1276
+ end while @original_line = @line = file.gets
1277
+ yield nil, nil
1278
+ end
1279
+ module_eval <<'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 569
1285
1280
  attr_accessor :locals
1286
1281
  def before_parse
1287
1282
  @nest = 0
@@ -1307,12 +1302,10 @@ DEPAGER_EXPANDED_CODE
1307
1302
  end
1308
1303
  end
1309
1304
 
1310
-
1311
- class Depager::RieExtension::Slave_post_rhs::Action < Depager::LALR::Action #:nodoc:all
1305
+ class Depager::RieExtension::PostRhs1::Action < Depager::LALR::Action #:nodoc:all
1312
1306
  include Depager::Utils::ExtensionSlaveDecoratorMethods
1313
-
1314
- on_reduce = [
1315
- nil,
1307
+ ON_REDUCE = [
1308
+ nil,
1316
1309
  :_act_1,
1317
1310
  :_act_2,
1318
1311
  :_act_3,
@@ -1348,24 +1341,22 @@ class Depager::RieExtension::Slave_post_rhs::Action < Depager::LALR::Action #:no
1348
1341
  :_act_33,
1349
1342
  :_act_34,
1350
1343
 
1351
- ]
1352
- Tables = [ on_reduce ]
1353
-
1354
- include Depager::RieExtension::Nodes
1344
+ ]
1345
+ def on_reduce; ON_REDUCE; end
1355
1346
 
1356
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 631
1347
+ include Depager::RieExtension::Nodes
1348
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 633
1357
1349
  def _act_1 val
1358
- _, _stmt_list, _, = *val
1350
+ _, _stmt_list, _, = *val
1359
1351
 
1360
1352
  basis.locals.clear
1361
1353
  master.semantics[g_parser.rules.size-1] = _stmt_list.compact
1362
1354
 
1363
1355
  end
1364
1356
  DEPAGER_EXPANDED_CODE
1365
-
1366
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 640
1357
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 642
1367
1358
  def _act_2 val
1368
- _stmt, = *val
1359
+ _stmt, = *val
1369
1360
 
1370
1361
  if _stmt.is_a? N_EXCEPT
1371
1362
  error_exit "invalid %except.", _stmt.lineno
@@ -1374,10 +1365,9 @@ def _act_2 val
1374
1365
 
1375
1366
  end
1376
1367
  DEPAGER_EXPANDED_CODE
1377
-
1378
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 647
1368
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 649
1379
1369
  def _act_3 val
1380
- _stmt_list, _, _stmt, = *val
1370
+ _stmt_list, _, _stmt, = *val
1381
1371
 
1382
1372
  if _stmt.is_a? N_EXCEPT
1383
1373
  unless [N_THREAD, N_TRANSFER].include?(_stmt_list.last.class)
@@ -1397,257 +1387,228 @@ def _act_3 val
1397
1387
 
1398
1388
  end
1399
1389
  DEPAGER_EXPANDED_CODE
1400
-
1401
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 666
1390
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 668
1402
1391
  def _act_4 val
1392
+ # empty rule
1403
1393
  nil
1404
1394
 
1405
1395
  end
1406
1396
  DEPAGER_EXPANDED_CODE
1407
-
1408
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 667
1397
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 669
1409
1398
  def _act_5 val
1410
- _THREAD, _id_list, = *val
1399
+ _THREAD, _id_list, = *val
1411
1400
  N_THREAD[val[0].lineno, _id_list, []]
1412
1401
 
1413
1402
  end
1414
1403
  DEPAGER_EXPANDED_CODE
1415
-
1416
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 668
1404
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 670
1417
1405
  def _act_6 val
1418
- _TRANSFER, _id_list, = *val
1406
+ _TRANSFER, _id_list, = *val
1419
1407
  N_TRANSFER[val[0].lineno, _id_list, []]
1420
1408
 
1421
1409
  end
1422
1410
  DEPAGER_EXPANDED_CODE
1423
-
1424
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 669
1411
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 671
1425
1412
  def _act_7 val
1426
- _EXCEPT, _lhs_list, = *val
1413
+ _EXCEPT, _lhs_list, = *val
1427
1414
  N_EXCEPT[val[0].lineno, lhs_list]
1428
1415
 
1429
1416
  end
1430
1417
  DEPAGER_EXPANDED_CODE
1431
-
1432
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 670
1418
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 672
1433
1419
  def _act_8 val
1434
- _EXCEPT, _lhs, _, _rbexpr, = *val
1420
+ _EXCEPT, _lhs, _, _rbexpr, = *val
1435
1421
  N_EXCEPT[val[0].lineno, N_LET[_lhs.lineno, _lhs, _rbexpr]]
1436
1422
 
1437
1423
  end
1438
1424
  DEPAGER_EXPANDED_CODE
1439
-
1440
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 671
1425
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 673
1441
1426
  def _act_9 val
1442
- _lhs, _, _rbexpr, = *val
1427
+ _lhs, _, _rbexpr, = *val
1443
1428
  N_LET[_lhs.lineno, _lhs, _rbexpr]
1444
1429
 
1445
1430
  end
1446
1431
  DEPAGER_EXPANDED_CODE
1447
-
1448
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 673
1432
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 675
1449
1433
  def _act_10 val
1450
- _LID, _, _rbexpr, = *val
1434
+ _LID, _, _rbexpr, = *val
1451
1435
 
1452
1436
  N_LET[val[0].lineno, N_ATOC[val[0].lineno, nil, _LID.value, g_parser.rules.size-1], _rbexpr]
1453
1437
 
1454
1438
  end
1455
1439
  DEPAGER_EXPANDED_CODE
1456
-
1457
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 677
1440
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 679
1458
1441
  def _act_11 val
1459
- _ID, _, _rbexpr, = *val
1442
+ _ID, _, _rbexpr, = *val
1460
1443
 
1461
1444
  basis.locals[_ID.value] = true
1462
1445
  N_LET[val[0].lineno, N_ATOC[val[0].lineno, nil, _ID.value, g_parser.rules.size-1], _rbexpr]
1463
1446
 
1464
1447
  end
1465
1448
  DEPAGER_EXPANDED_CODE
1466
-
1467
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 681
1449
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 683
1468
1450
  def _act_12 val
1469
- _rbexpr, = *val
1451
+ _rbexpr, = *val
1470
1452
  N_ACTION[basis.file.lineno, _rbexpr ]
1471
1453
 
1472
1454
  end
1473
1455
  DEPAGER_EXPANDED_CODE
1474
-
1475
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 685
1456
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 687
1476
1457
  def _act_13 val
1477
- _rbexpr, = *val
1458
+ _rbexpr, = *val
1478
1459
  _rbexpr
1479
1460
 
1480
1461
  end
1481
1462
  DEPAGER_EXPANDED_CODE
1482
-
1483
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 686
1463
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 688
1484
1464
  def _act_14 val
1485
- _rbexpr_list, _, = *val
1465
+ _rbexpr_list, _, = *val
1486
1466
  _rbexpr_list
1487
1467
 
1488
1468
  end
1489
1469
  DEPAGER_EXPANDED_CODE
1490
-
1491
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 687
1470
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 689
1492
1471
  def _act_15 val
1493
- _rbexpr_list, _, _rbexpr, = *val
1472
+ _rbexpr_list, _, _rbexpr, = *val
1494
1473
  (_rbexpr_list << ';').concat _rbexpr
1495
1474
 
1496
1475
  end
1497
1476
  DEPAGER_EXPANDED_CODE
1498
-
1499
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 690
1477
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 692
1500
1478
  def _act_16 val
1501
- _rbelem, = *val
1479
+ _rbelem, = *val
1502
1480
  _rbelem
1503
1481
 
1504
1482
  end
1505
1483
  DEPAGER_EXPANDED_CODE
1506
-
1507
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 691
1484
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 693
1508
1485
  def _act_17 val
1509
- _rbexpr, _rbelem, = *val
1486
+ _rbexpr, _rbelem, = *val
1510
1487
  _rbexpr.concat _rbelem
1511
1488
 
1512
1489
  end
1513
1490
  DEPAGER_EXPANDED_CODE
1514
-
1515
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 694
1491
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 696
1516
1492
  def _act_18 val
1517
- _lhs, = *val
1493
+ _lhs, = *val
1518
1494
  [_lhs]
1519
1495
 
1520
1496
  end
1521
1497
  DEPAGER_EXPANDED_CODE
1522
-
1523
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 695
1498
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 697
1524
1499
  def _act_19 val
1525
- _ID, = *val
1500
+ _ID, = *val
1526
1501
  [_ID.value]
1527
1502
 
1528
1503
  end
1529
1504
  DEPAGER_EXPANDED_CODE
1530
-
1531
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 696
1505
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 698
1532
1506
  def _act_20 val
1533
- _LID, = *val
1507
+ _LID, = *val
1534
1508
  [ N_ATOC[_LID.lineno, nil, _LID.value, g_parser.rules.size-1] ]
1535
1509
 
1536
1510
  end
1537
1511
  DEPAGER_EXPANDED_CODE
1538
-
1539
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 697
1512
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 699
1540
1513
  def _act_21 val
1541
- _RBTOKEN, = *val
1514
+ _RBTOKEN, = *val
1542
1515
  [_RBTOKEN.value]
1543
1516
 
1544
1517
  end
1545
1518
  DEPAGER_EXPANDED_CODE
1546
-
1547
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 698
1519
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 700
1548
1520
  def _act_22 val
1549
- _, = *val
1521
+ _, = *val
1550
1522
  ['.']
1551
1523
 
1552
1524
  end
1553
1525
  DEPAGER_EXPANDED_CODE
1554
-
1555
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 699
1526
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 701
1556
1527
  def _act_23 val
1557
- _, = *val
1528
+ _, = *val
1558
1529
  [',']
1559
1530
 
1560
1531
  end
1561
1532
  DEPAGER_EXPANDED_CODE
1562
-
1563
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 700
1533
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 702
1564
1534
  def _act_24 val
1565
- _, _, = *val
1535
+ _, _, = *val
1566
1536
  [ val[0].value, ']' ]
1567
1537
 
1568
1538
  end
1569
1539
  DEPAGER_EXPANDED_CODE
1570
-
1571
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 701
1540
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 703
1572
1541
  def _act_25 val
1573
- _, _rbexpr_list, _, = *val
1542
+ _, _rbexpr_list, _, = *val
1574
1543
  [ val[0].value ].concat(_rbexpr_list) << ']'
1575
1544
 
1576
1545
  end
1577
1546
  DEPAGER_EXPANDED_CODE
1578
-
1579
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 702
1547
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 704
1580
1548
  def _act_26 val
1581
- _, _, = *val
1549
+ _, _, = *val
1582
1550
  [ val[0].value, '}' ]
1583
1551
 
1584
1552
  end
1585
1553
  DEPAGER_EXPANDED_CODE
1586
-
1587
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 703
1554
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 705
1588
1555
  def _act_27 val
1589
- _, _rbexpr_list, _, = *val
1556
+ _, _rbexpr_list, _, = *val
1590
1557
  [ val[0].value ].concat(_rbexpr_list) << '}'
1591
1558
 
1592
1559
  end
1593
1560
  DEPAGER_EXPANDED_CODE
1594
-
1595
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 704
1561
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 706
1596
1562
  def _act_28 val
1597
- _, _, = *val
1563
+ _, _, = *val
1598
1564
  [ val[0].value, ')' ]
1599
1565
 
1600
1566
  end
1601
1567
  DEPAGER_EXPANDED_CODE
1602
-
1603
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 705
1568
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 707
1604
1569
  def _act_29 val
1605
- _, _rbexpr_list, _, = *val
1570
+ _, _rbexpr_list, _, = *val
1606
1571
  [ val[0].value ].concat(_rbexpr_list) << ')'
1607
1572
 
1608
1573
  end
1609
1574
  DEPAGER_EXPANDED_CODE
1610
-
1611
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 710
1575
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 712
1612
1576
  def _act_30 val
1613
- _lhs, = *val
1577
+ _lhs, = *val
1614
1578
  [ _lhs ]
1615
1579
 
1616
1580
  end
1617
1581
  DEPAGER_EXPANDED_CODE
1618
-
1619
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 711
1582
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 713
1620
1583
  def _act_31 val
1621
- _lhs_list, _, _lhs, = *val
1584
+ _lhs_list, _, _lhs, = *val
1622
1585
  lhs_list << lhs
1623
1586
 
1624
1587
  end
1625
1588
  DEPAGER_EXPANDED_CODE
1626
-
1627
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 714
1589
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 716
1628
1590
  def _act_32 val
1629
- _ID, _, _attr, = *val
1591
+ _ID, _, _attr, = *val
1630
1592
  N_ATOC[_ID.lineno, _ID.value, _attr.value, g_parser.rules.size-1]
1631
1593
 
1632
1594
  end
1633
1595
  DEPAGER_EXPANDED_CODE
1634
-
1635
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 717
1596
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 719
1636
1597
  def _act_33 val
1637
- _ID, = *val
1598
+ _ID, = *val
1638
1599
  [ _ID.value ]
1639
1600
 
1640
1601
  end
1641
1602
  DEPAGER_EXPANDED_CODE
1642
-
1643
- module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/ruby/plugins/rie.dr', 718
1603
+ module_eval <<-'DEPAGER_EXPANDED_CODE', 'lib/depager/plugins/rie.dr', 720
1644
1604
  def _act_34 val
1645
- _id_list, _, _ID, = *val
1605
+ _id_list, _, _ID, = *val
1646
1606
  _id_list << _ID.value
1647
1607
 
1648
1608
  end
1649
1609
  DEPAGER_EXPANDED_CODE
1650
-
1651
-
1610
+
1611
+
1652
1612
  end
1653
-
1613
+
1614
+