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.
- checksums.yaml +5 -5
- data/.rubocop.yml +44 -0
- data/.simplecov +5 -0
- data/Gemfile +12 -0
- data/LICENSE.gpl +339 -0
- data/Manifest.txt +73 -0
- data/README.en +4 -3
- data/README.ja +4 -47
- data/Rakefile +31 -0
- data/bin/depager +3 -38
- data/examples/action_pl0d/pl0d.action.dr +4 -4
- data/examples/action_pl0d/test.pl0ds +2 -3
- data/examples/c89/c89.dr +4 -4
- data/examples/c89/test.c89 +1 -1
- data/examples/extension/astdf.rb +4 -5
- data/examples/extension/atree.dr +3 -3
- data/examples/extension/calc.atree.dr +4 -4
- data/examples/extension/calc.simple_action.dr +3 -3
- data/examples/extension/paction.dr +3 -3
- data/examples/extension/pactiontest.dr +3 -3
- data/examples/extension/simple_action.rb +26 -24
- data/examples/pl0d/pl0ds.dr +5 -5
- data/examples/pl0d/test.pl0ds +2 -2
- data/examples/rie_calc/calc.rie.dr +4 -4
- data/examples/rie_dcuse/dcuse.rie.dr +4 -4
- data/examples/rie_pl0/pl0.rie.dr +3 -3
- data/examples/slex_test/divreg.slex.dr +5 -5
- data/examples/slex_test/ljoin.slex.dr +5 -5
- data/examples/{sample_calc → tiny_calc}/calc.action.dr +4 -4
- data/examples/{sample_calc → tiny_calc}/calc.ast.action.dr +20 -9
- data/examples/{sample_calc → tiny_calc}/calc.ast.dr +19 -7
- data/examples/{sample_calc → tiny_calc}/calc.cst.dr +12 -7
- data/examples/{sample_calc → tiny_calc}/calc.dr +1 -1
- data/examples/{sample_calc → tiny_calc}/calc.lex.dr +2 -2
- data/examples/{sample_calc → tiny_calc}/calc_prec.action.dr +4 -4
- data/lib/depager/cli.rb +44 -0
- data/lib/depager/grammar.rb +72 -75
- data/lib/depager/lr.rb +169 -154
- data/lib/depager/parser.rb +90 -103
- data/lib/depager/plugins/_rie_debug.rb +63 -0
- data/lib/depager/plugins/action.rb +47 -0
- data/lib/depager/{ruby/plugins → plugins}/ast.dr +20 -17
- data/lib/depager/{ruby/plugins → plugins}/ast.rb +266 -304
- data/lib/depager/{ruby/plugins → plugins}/cst.dr +18 -16
- data/lib/depager/{ruby/plugins → plugins}/cst.rb +152 -148
- data/lib/depager/{ruby/plugins → plugins}/lex.dr +7 -7
- data/lib/depager/{ruby/plugins → plugins}/lex.rb +72 -69
- data/lib/depager/{ruby/plugins → plugins}/rie.dr +12 -10
- data/lib/depager/{ruby/plugins → plugins}/rie.rb +224 -263
- data/lib/depager/{ruby/plugins → plugins}/slex.dr +13 -14
- data/lib/depager/{ruby/plugins → plugins}/slex.rb +183 -194
- data/lib/depager/plugins/srp.rb +46 -0
- data/lib/depager/ruby/templates/extension_lalr_master.erb +6 -12
- data/lib/depager/ruby/templates/extension_lalr_slave.erb +31 -17
- data/lib/depager/ruby/templates/single_lalr_parser.erb +35 -26
- data/lib/depager/utils.rb +56 -46
- data/lib/depager/version.rb +1 -2
- data/lib/depager.rb +166 -176
- metadata +38 -33
- data/lib/depager/ruby/plugins/_rie_debug.rb +0 -35
- data/lib/depager/ruby/plugins/action.rb +0 -53
- data/lib/depager/ruby/plugins/srp.rb +0 -56
- /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
|
22
|
-
g_parser.hooks[:post_lhs].push [@slaves
|
23
|
-
@slaves
|
24
|
-
g_parser.hooks[:post_rhs].push [@slaves
|
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/
|
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
|
-
|
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
|
-
|
56
|
-
|
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 (
|
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
|
-
|
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::
|
547
|
+
### Depager::RieExtension::PostLhs0 - Part of Depager Extension (slave)
|
546
548
|
###
|
547
549
|
|
548
|
-
module Depager::RieExtension::
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
679
|
-
|
680
|
-
|
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
|
-
|
704
|
-
|
705
|
-
|
706
|
-
|
707
|
-
|
708
|
-
|
709
|
-
|
710
|
-
|
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
|
-
|
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
|
-
|
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::
|
794
|
+
### Depager::RieExtension::PostRhs1 - Part of Depager Extension (slave)
|
793
795
|
###
|
794
796
|
|
795
|
-
module Depager::RieExtension::
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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,
|
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,
|
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,
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
1177
|
-
|
1178
|
-
|
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
|
-
|
1278
|
-
|
1279
|
-
|
1280
|
-
|
1281
|
-
|
1282
|
-
|
1283
|
-
|
1284
|
-
|
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
|
-
|
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
|
-
|
1353
|
-
|
1354
|
-
include Depager::RieExtension::Nodes
|
1344
|
+
]
|
1345
|
+
def on_reduce; ON_REDUCE; end
|
1355
1346
|
|
1356
|
-
|
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
|
+
|