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.
- data/ChangeLog +4 -0
- data/bin/depager +1 -0
- data/data/depager/misc/depager-mode.el +35 -24
- data/data/depager/pre-setup.rb +3 -0
- data/examples/Rakefile +36 -0
- data/examples/c89/c89.dr +496 -0
- data/examples/c89/c89.tab.rb +2197 -0
- data/examples/c89/test.c89 +10 -0
- data/{data/depager/sample → examples}/extension/paction.dr +0 -0
- data/{data/depager/sample → examples}/extension/pactiontest.dr +0 -0
- data/{data/depager/sample → examples}/pl0d/pl0ds.dr +0 -0
- data/examples/pl0d/pl0ds.tab.rb +1702 -0
- data/{data/depager/sample/pl0d/pl0test.pl0 → examples/pl0d/test.pl0ds} +0 -0
- data/{data/depager/sample → examples}/sample_calc/calc.action.dr +0 -0
- data/examples/sample_calc/calc.action.tab.rb +283 -0
- data/{data/depager/sample → examples}/sample_calc/calc.astdf.dr +0 -0
- data/examples/sample_calc/calc.astdf.tab.rb +476 -0
- data/{data/depager/sample → examples}/sample_calc/calc.astl.action.dr +0 -0
- data/examples/sample_calc/calc.astl.action.tab.rb +593 -0
- data/{data/depager/sample → examples}/sample_calc/calc.astl.dr +0 -0
- data/examples/sample_calc/calc.astl.tab.rb +501 -0
- data/{data/depager/sample → examples}/sample_calc/calc.atree.dr +0 -0
- data/examples/sample_calc/calc.atree.tab.rb +277 -0
- data/{data/depager/sample → examples}/sample_calc/calc.cst.dr +0 -0
- data/examples/sample_calc/calc.cst.tab.rb +478 -0
- data/{data/depager/sample → examples}/sample_calc/calc.dr +0 -0
- data/{data/depager/sample → examples}/sample_calc/calc.lex.dr +0 -0
- data/examples/sample_calc/calc.lex.tab.rb +192 -0
- data/{data/depager/sample → examples}/sample_calc/calc.nvaction.dr +0 -0
- data/examples/sample_calc/calc.nvaction.tab.rb +291 -0
- data/examples/sample_calc/calc.tab.rb +183 -0
- data/{data/depager/sample → examples}/sample_calc/calc_prec.nvaction.dr +0 -0
- data/examples/sample_calc/calc_prec.nvaction.tab.rb +257 -0
- data/examples/sample_calc/test.calc +1 -0
- data/{data/depager/sample/slex_test/slextest1.dr → examples/slex_test/divreg.slex.dr} +3 -11
- data/examples/slex_test/divreg.slex.tab.rb +227 -0
- data/{data/depager/sample/slex_test/slextest2.dr → examples/slex_test/ljoin.slex.dr} +10 -7
- data/examples/slex_test/ljoin.slex.tab.rb +277 -0
- data/examples/slex_test/test.divreg +1 -0
- data/examples/slex_test/test.ljoin +3 -0
- data/lib/depager.rb +194 -127
- data/lib/depager/Rakefile +8 -4
- data/lib/depager/ast_base.dr +3 -3
- data/lib/depager/ast_base.rb +197 -144
- data/lib/depager/atree.rb +55 -36
- data/lib/depager/cst.dr +6 -4
- data/lib/depager/cst.rb +69 -49
- data/lib/depager/grammar.rb +136 -0
- data/lib/depager/lex.dr +22 -8
- data/lib/depager/lex.rb +94 -53
- data/lib/depager/lr.rb +101 -167
- data/lib/depager/parse_action.rb +1 -1
- data/lib/depager/parser.rb +34 -7
- data/lib/depager/slex.dr +76 -36
- data/lib/depager/slex.rb +345 -151
- data/lib/depager/srp.rb +3 -2
- data/lib/depager/template/extension_lalr_slave.erb +1 -1
- data/lib/depager/template/single_lalr_parser.erb +1 -1
- data/lib/depager/utils.rb +2 -1
- data/lib/depager/version.rb +2 -2
- metadata +42 -28
- data/Manifest.txt +0 -52
- 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
|
-
|
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
|
-
]
|
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
|
data/lib/depager/ast_base.dr
CHANGED
@@ -25,10 +25,10 @@
|
|
25
25
|
%LEX{
|
26
26
|
/\s+/, /#.*/ { }
|
27
27
|
/%\}\s*\Z/ { @line = $'; yield nil,nil }
|
28
|
-
|
29
|
-
|
28
|
+
'Node' { yield _Token(:NODE, $&) }
|
29
|
+
'Visitor' { yield _Token(:VISITOR, $&) }
|
30
30
|
/[a-zA-Z][a-zA-Z0-9_]*/ { yield _Token(:ID, $&) }
|
31
|
-
|
31
|
+
'{' ! { ln = lineno; yield _Token(:ACTION, parse_action, ln) }
|
32
32
|
/./ { yield _Token($&, $&) }
|
33
33
|
%}
|
34
34
|
|
data/lib/depager/ast_base.rb
CHANGED
@@ -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?
|
376
|
+
until @line.empty?
|
377
377
|
case @line
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
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 <<-'.,.,
|
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
|
-
.,.,
|
490
|
+
.,.,118754107738065.,.,
|
472
491
|
|
473
|
-
module_eval <<-'.,.,
|
492
|
+
module_eval <<-'.,.,11875410776514.,.,', 'ast_base.dr', 56
|
474
493
|
def _act_1 val
|
475
494
|
""
|
476
495
|
|
477
496
|
end
|
478
497
|
|
479
|
-
.,.,
|
498
|
+
.,.,11875410776514.,.,
|
480
499
|
|
481
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
513
|
+
.,.,118754107720386.,.,
|
495
514
|
|
496
|
-
module_eval <<-'.,.,
|
515
|
+
module_eval <<-'.,.,118754107736984.,.,', 'ast_base.dr', 68
|
497
516
|
def _act_3 val
|
498
517
|
[]
|
499
518
|
|
500
519
|
end
|
501
520
|
|
502
|
-
.,.,
|
521
|
+
.,.,118754107736984.,.,
|
503
522
|
|
504
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
535
|
+
.,.,118754107764916.,.,
|
517
536
|
|
518
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
544
|
+
.,.,118754107745518.,.,
|
526
545
|
|
527
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
553
|
+
.,.,118754107734821.,.,
|
535
554
|
|
536
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
581
|
+
.,.,118754107753400.,.,
|
563
582
|
|
564
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
590
|
+
.,.,118754107753793.,.,
|
572
591
|
|
573
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
599
|
+
.,.,118754107756494.,.,
|
581
600
|
|
582
|
-
module_eval <<-'.,.,
|
601
|
+
module_eval <<-'.,.,118754107730627.,.,', 'ast_base.dr', 111
|
583
602
|
def _act_10 val
|
584
603
|
[]
|
585
604
|
|
586
605
|
end
|
587
606
|
|
588
|
-
.,.,
|
607
|
+
.,.,118754107730627.,.,
|
589
608
|
|
590
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
616
|
+
.,.,118754107717207.,.,
|
598
617
|
|
599
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
625
|
+
.,.,118754107738971.,.,
|
607
626
|
|
608
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
634
|
+
.,.,118754107752060.,.,
|
616
635
|
|
617
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
643
|
+
.,.,118754107715890.,.,
|
625
644
|
|
626
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
652
|
+
.,.,118754107746326.,.,
|
634
653
|
|
635
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
661
|
+
.,.,11875410778315.,.,
|
643
662
|
|
644
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
670
|
+
.,.,118754107752669.,.,
|
652
671
|
|
653
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
679
|
+
.,.,118754107765360.,.,
|
661
680
|
|
662
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
687
|
+
.,.,118754107744253.,.,
|
669
688
|
|
670
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
696
|
+
.,.,118754107754433.,.,
|
678
697
|
|
679
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
706
|
+
.,.,1187541077547.,.,
|
688
707
|
|
689
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
715
|
+
.,.,118754107719437.,.,
|
697
716
|
|
698
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
724
|
+
.,.,118754107742276.,.,
|
706
725
|
|
707
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
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,
|
824
|
-
[ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
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
|
-
|
889
|
-
|
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?
|
992
|
+
until @line.empty?
|
974
993
|
case @line
|
975
|
-
|
976
|
-
|
977
|
-
|
978
|
-
|
979
|
-
|
980
|
-
|
981
|
-
when /\A
|
982
|
-
|
983
|
-
|
984
|
-
|
985
|
-
|
986
|
-
|
987
|
-
|
988
|
-
|
989
|
-
|
990
|
-
|
991
|
-
when /\A
|
992
|
-
|
993
|
-
|
994
|
-
|
995
|
-
|
996
|
-
|
997
|
-
|
998
|
-
|
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 <<-'.,.,
|
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
|
-
.,.,
|
1113
|
+
.,.,118754107714013.,.,
|
1061
1114
|
|
1062
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
1122
|
+
.,.,118754107760130.,.,
|
1070
1123
|
|
1071
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
1136
|
+
.,.,118754107725185.,.,
|
1084
1137
|
|
1085
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
1145
|
+
.,.,118754107718708.,.,
|
1093
1146
|
|
1094
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
1154
|
+
.,.,118754107758988.,.,
|
1102
1155
|
|
1103
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
1163
|
+
.,.,118754107723770.,.,
|
1111
1164
|
|
1112
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
1172
|
+
.,.,118754107750177.,.,
|
1120
1173
|
|
1121
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
1181
|
+
.,.,118754107731712.,.,
|
1129
1182
|
|
1130
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
1195
|
+
.,.,118754107736385.,.,
|
1143
1196
|
|
1144
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
1204
|
+
.,.,118754107744168.,.,
|
1152
1205
|
|
1153
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
1213
|
+
.,.,118754107728765.,.,
|
1161
1214
|
|
1162
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
1222
|
+
.,.,118754107732274.,.,
|
1170
1223
|
|
1171
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
1231
|
+
.,.,11875410774520.,.,
|
1179
1232
|
|
1180
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
1240
|
+
.,.,118754107711537.,.,
|
1188
1241
|
|
1189
|
-
module_eval <<-'.,.,
|
1242
|
+
module_eval <<-'.,.,118754107736080.,.,', 'ast_base.dr', 213
|
1190
1243
|
def _act_14 val
|
1191
1244
|
''
|
1192
1245
|
|
1193
1246
|
end
|
1194
1247
|
|
1195
|
-
.,.,
|
1248
|
+
.,.,118754107736080.,.,
|
1196
1249
|
|
1197
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
1257
|
+
.,.,118754107755265.,.,
|
1205
1258
|
|
1206
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
1266
|
+
.,.,11875410774449.,.,
|
1214
1267
|
|
1215
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
1280
|
+
.,.,118754107747720.,.,
|
1228
1281
|
|
1229
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
1289
|
+
.,.,118754107749519.,.,
|
1237
1290
|
|
1238
|
-
module_eval <<-'.,.,
|
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
|
-
.,.,
|
1298
|
+
.,.,118754107726284.,.,
|
1246
1299
|
|
1247
1300
|
end
|
1248
1301
|
|