depager 0.1.9 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
|