ebnf 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/VERSION +1 -1
- data/etc/ebnf.ll1.sxp +243 -1032
- data/etc/ebnf.rb +344 -136
- data/etc/ebnf.sxp +23 -106
- data/etc/turtle.ll1.sxp +410 -1659
- data/etc/turtle.sxp +95 -410
- data/lib/ebnf/base.rb +1 -6
- data/lib/ebnf/ll1/lexer.rb +7 -7
- data/lib/ebnf/ll1/parser.rb +0 -1
- data/lib/ebnf/rule.rb +12 -10
- metadata +5 -20
data/etc/ebnf.rb
CHANGED
@@ -556,28 +556,58 @@ module Branch
|
|
556
556
|
}.freeze
|
557
557
|
FOLLOW = {
|
558
558
|
:alt => [
|
559
|
-
|
560
|
-
:
|
561
|
-
|
562
|
-
|
563
|
-
|
564
|
-
:STRING1,
|
565
|
-
:STRING2,
|
566
|
-
"("],
|
559
|
+
")",
|
560
|
+
:_eof,
|
561
|
+
"@terminals",
|
562
|
+
"@pass",
|
563
|
+
"["],
|
567
564
|
:_alt_1 => [
|
568
|
-
|
569
|
-
|
565
|
+
")",
|
566
|
+
:_eof,
|
567
|
+
"@terminals",
|
568
|
+
"@pass",
|
569
|
+
"["],
|
570
570
|
:_alt_2 => [
|
571
|
-
"|"
|
571
|
+
"|",
|
572
|
+
")",
|
573
|
+
:_eof,
|
574
|
+
"@terminals",
|
575
|
+
"@pass",
|
576
|
+
"["],
|
572
577
|
:_alt_3 => [
|
573
|
-
"
|
578
|
+
")",
|
579
|
+
:_eof,
|
580
|
+
"@terminals",
|
581
|
+
"@pass",
|
582
|
+
"["],
|
574
583
|
:_alt_4 => [
|
575
|
-
|
576
|
-
|
584
|
+
")",
|
585
|
+
:_eof,
|
586
|
+
"@terminals",
|
587
|
+
"@pass",
|
588
|
+
"["],
|
577
589
|
:_alt_5 => [
|
578
|
-
|
579
|
-
|
590
|
+
")",
|
591
|
+
:_eof,
|
592
|
+
"@terminals",
|
593
|
+
"@pass",
|
594
|
+
"["],
|
580
595
|
:_alt_6 => [
|
596
|
+
"|",
|
597
|
+
")",
|
598
|
+
:_eof,
|
599
|
+
"@terminals",
|
600
|
+
"@pass",
|
601
|
+
"["],
|
602
|
+
:declaration => [
|
603
|
+
:_eof,
|
604
|
+
"@terminals",
|
605
|
+
"@pass",
|
606
|
+
"["],
|
607
|
+
:diff => [
|
608
|
+
")",
|
609
|
+
"|",
|
610
|
+
:_eof,
|
581
611
|
:HEX,
|
582
612
|
:RANGE,
|
583
613
|
:ENUM,
|
@@ -585,11 +615,14 @@ module Branch
|
|
585
615
|
:O_ENUM,
|
586
616
|
:STRING1,
|
587
617
|
:STRING2,
|
588
|
-
"("],
|
589
|
-
:declaration => [
|
590
618
|
"@terminals",
|
591
|
-
"
|
592
|
-
|
619
|
+
"(",
|
620
|
+
"@pass",
|
621
|
+
"["],
|
622
|
+
:_diff_1 => [
|
623
|
+
")",
|
624
|
+
"|",
|
625
|
+
:_eof,
|
593
626
|
:HEX,
|
594
627
|
:RANGE,
|
595
628
|
:ENUM,
|
@@ -597,21 +630,15 @@ module Branch
|
|
597
630
|
:O_ENUM,
|
598
631
|
:STRING1,
|
599
632
|
:STRING2,
|
600
|
-
"
|
601
|
-
|
602
|
-
|
603
|
-
"
|
633
|
+
"@terminals",
|
634
|
+
"(",
|
635
|
+
"@pass",
|
636
|
+
"["],
|
604
637
|
:_diff_2 => [
|
605
|
-
"-"
|
606
|
-
|
607
|
-
"
|
608
|
-
|
609
|
-
:_eps,
|
610
|
-
"-"],
|
611
|
-
:_diff_5 => [
|
612
|
-
:_eps,
|
613
|
-
"-"],
|
614
|
-
:_diff_6 => [
|
638
|
+
"-",
|
639
|
+
")",
|
640
|
+
"|",
|
641
|
+
:_eof,
|
615
642
|
:HEX,
|
616
643
|
:RANGE,
|
617
644
|
:ENUM,
|
@@ -619,28 +646,60 @@ module Branch
|
|
619
646
|
:O_ENUM,
|
620
647
|
:STRING1,
|
621
648
|
:STRING2,
|
622
|
-
"("],
|
623
|
-
:ebnf => [
|
624
|
-
:_eps,
|
625
649
|
"@terminals",
|
650
|
+
"(",
|
626
651
|
"@pass",
|
627
652
|
"["],
|
628
|
-
:
|
653
|
+
:_diff_3 => [
|
654
|
+
")",
|
655
|
+
"|",
|
656
|
+
:_eof,
|
657
|
+
:HEX,
|
658
|
+
:RANGE,
|
659
|
+
:ENUM,
|
660
|
+
:O_RANGE,
|
661
|
+
:O_ENUM,
|
662
|
+
:STRING1,
|
663
|
+
:STRING2,
|
629
664
|
"@terminals",
|
665
|
+
"(",
|
630
666
|
"@pass",
|
631
667
|
"["],
|
632
|
-
:
|
668
|
+
:_diff_4 => [
|
669
|
+
")",
|
670
|
+
"|",
|
671
|
+
:_eof,
|
672
|
+
:HEX,
|
673
|
+
:RANGE,
|
674
|
+
:ENUM,
|
675
|
+
:O_RANGE,
|
676
|
+
:O_ENUM,
|
677
|
+
:STRING1,
|
678
|
+
:STRING2,
|
633
679
|
"@terminals",
|
680
|
+
"(",
|
634
681
|
"@pass",
|
635
682
|
"["],
|
636
|
-
:
|
637
|
-
|
683
|
+
:_diff_5 => [
|
684
|
+
")",
|
685
|
+
"|",
|
686
|
+
:_eof,
|
687
|
+
:HEX,
|
688
|
+
:RANGE,
|
689
|
+
:ENUM,
|
690
|
+
:O_RANGE,
|
691
|
+
:O_ENUM,
|
692
|
+
:STRING1,
|
693
|
+
:STRING2,
|
638
694
|
"@terminals",
|
695
|
+
"(",
|
639
696
|
"@pass",
|
640
697
|
"["],
|
641
|
-
:
|
642
|
-
|
643
|
-
|
698
|
+
:_diff_6 => [
|
699
|
+
"-",
|
700
|
+
")",
|
701
|
+
"|",
|
702
|
+
:_eof,
|
644
703
|
:HEX,
|
645
704
|
:RANGE,
|
646
705
|
:ENUM,
|
@@ -648,99 +707,184 @@ module Branch
|
|
648
707
|
:O_ENUM,
|
649
708
|
:STRING1,
|
650
709
|
:STRING2,
|
651
|
-
"
|
652
|
-
|
710
|
+
"@terminals",
|
711
|
+
"(",
|
712
|
+
"@pass",
|
713
|
+
"["],
|
714
|
+
:ebnf => [
|
715
|
+
:_eof],
|
716
|
+
:_ebnf_1 => [
|
717
|
+
:_eof,
|
718
|
+
"@terminals",
|
719
|
+
"@pass",
|
653
720
|
"["],
|
721
|
+
:_ebnf_2 => [
|
722
|
+
:_eof],
|
723
|
+
:_ebnf_3 => [
|
724
|
+
:_eof],
|
725
|
+
:expression => [
|
726
|
+
")",
|
727
|
+
:_eof,
|
728
|
+
"@terminals",
|
729
|
+
"@pass",
|
730
|
+
"["],
|
731
|
+
:lhs => [
|
732
|
+
"::="],
|
654
733
|
:_lhs_1 => [
|
655
|
-
|
734
|
+
"::="],
|
656
735
|
:_lhs_2 => [
|
657
|
-
"
|
736
|
+
"::="],
|
658
737
|
:_lhs_3 => [
|
659
|
-
|
738
|
+
"::="],
|
660
739
|
:pass => [
|
661
|
-
|
740
|
+
:_eof,
|
741
|
+
"@terminals",
|
742
|
+
"@pass",
|
743
|
+
"["],
|
662
744
|
:_pass_1 => [
|
745
|
+
:_eof,
|
746
|
+
"@terminals",
|
747
|
+
"@pass",
|
748
|
+
"["],
|
749
|
+
:_pass_11 => [
|
663
750
|
:_pass_5,
|
751
|
+
:_eof,
|
664
752
|
"/*",
|
665
753
|
"#",
|
666
|
-
"//"
|
667
|
-
|
668
|
-
|
754
|
+
"//",
|
755
|
+
"@terminals",
|
756
|
+
"@pass",
|
757
|
+
"["],
|
669
758
|
:_pass_12 => [
|
670
|
-
|
671
|
-
:_pass_15,
|
672
|
-
"*"],
|
759
|
+
"*/"],
|
673
760
|
:_pass_13 => [
|
761
|
+
"*/",
|
674
762
|
:_pass_15,
|
675
763
|
"*"],
|
676
764
|
:_pass_14 => [
|
677
|
-
|
678
|
-
"*"],
|
765
|
+
"*/"],
|
679
766
|
:_pass_16 => [
|
767
|
+
"*/",
|
768
|
+
:_pass_15,
|
680
769
|
"*"],
|
681
770
|
:_pass_18 => [
|
771
|
+
:_eof,
|
772
|
+
"@terminals",
|
773
|
+
"@pass",
|
774
|
+
"["],
|
775
|
+
:_pass_19 => [
|
776
|
+
:_eof,
|
777
|
+
"@terminals",
|
778
|
+
"@pass",
|
779
|
+
"["],
|
780
|
+
:_pass_2 => [
|
682
781
|
:_pass_5,
|
782
|
+
:_eof,
|
683
783
|
"/*",
|
684
784
|
"#",
|
685
|
-
"//"
|
686
|
-
|
687
|
-
|
785
|
+
"//",
|
786
|
+
"@terminals",
|
787
|
+
"@pass",
|
788
|
+
"["],
|
789
|
+
:_pass_20 => [
|
790
|
+
:_eof,
|
791
|
+
"@terminals",
|
792
|
+
"@pass",
|
793
|
+
"["],
|
794
|
+
:_pass_21 => [
|
688
795
|
:_pass_5,
|
796
|
+
:_eof,
|
689
797
|
"/*",
|
690
798
|
"#",
|
691
|
-
"//"
|
692
|
-
|
799
|
+
"//",
|
800
|
+
"@terminals",
|
801
|
+
"@pass",
|
802
|
+
"["],
|
803
|
+
:_pass_22 => [
|
693
804
|
:_pass_5,
|
805
|
+
:_eof,
|
694
806
|
"/*",
|
695
807
|
"#",
|
696
|
-
"//"
|
697
|
-
|
698
|
-
|
808
|
+
"//",
|
809
|
+
"@terminals",
|
810
|
+
"@pass",
|
811
|
+
"["],
|
812
|
+
:_pass_23 => [
|
699
813
|
:_pass_5,
|
814
|
+
:_eof,
|
700
815
|
"/*",
|
701
816
|
"#",
|
702
|
-
"//"
|
703
|
-
|
704
|
-
|
705
|
-
|
706
|
-
:_pass_22 => [
|
707
|
-
:_pass_10,
|
708
|
-
:_eps],
|
709
|
-
:_pass_23 => [
|
710
|
-
"*/",
|
711
|
-
:_pass_15,
|
712
|
-
"*"],
|
817
|
+
"//",
|
818
|
+
"@terminals",
|
819
|
+
"@pass",
|
820
|
+
"["],
|
713
821
|
:_pass_24 => [
|
714
|
-
|
822
|
+
"*/"],
|
823
|
+
:_pass_25 => [
|
824
|
+
"*/",
|
715
825
|
:_pass_15,
|
716
826
|
"*"],
|
717
|
-
:_pass_25 => [
|
718
|
-
:_pass_17],
|
719
827
|
:_pass_26 => [
|
720
|
-
"*/"],
|
721
|
-
:_pass_3 => [
|
722
|
-
:_eps,
|
723
828
|
:_pass_5,
|
829
|
+
:_eof,
|
724
830
|
"/*",
|
725
831
|
"#",
|
726
|
-
"//"
|
832
|
+
"//",
|
833
|
+
"@terminals",
|
834
|
+
"@pass",
|
835
|
+
"["],
|
836
|
+
:_pass_3 => [
|
837
|
+
:_eof,
|
838
|
+
"@terminals",
|
839
|
+
"@pass",
|
840
|
+
"["],
|
727
841
|
:_pass_4 => [
|
842
|
+
:_eof,
|
843
|
+
"@terminals",
|
844
|
+
"@pass",
|
845
|
+
"["],
|
846
|
+
:_pass_6 => [
|
728
847
|
:_pass_5,
|
848
|
+
:_eof,
|
729
849
|
"/*",
|
730
850
|
"#",
|
731
|
-
"//"
|
732
|
-
|
733
|
-
"
|
734
|
-
"
|
851
|
+
"//",
|
852
|
+
"@terminals",
|
853
|
+
"@pass",
|
854
|
+
"["],
|
735
855
|
:_pass_7 => [
|
736
|
-
|
856
|
+
:_pass_5,
|
857
|
+
:_eof,
|
858
|
+
"/*",
|
859
|
+
"#",
|
860
|
+
"//",
|
861
|
+
"@terminals",
|
862
|
+
"@pass",
|
863
|
+
"["],
|
737
864
|
:_pass_8 => [
|
865
|
+
:_pass_10,
|
866
|
+
:_pass_5,
|
867
|
+
:_eof,
|
868
|
+
"/*",
|
738
869
|
"#",
|
739
|
-
"//"
|
870
|
+
"//",
|
871
|
+
"@terminals",
|
872
|
+
"@pass",
|
873
|
+
"["],
|
740
874
|
:_pass_9 => [
|
741
|
-
:
|
742
|
-
:
|
875
|
+
:_pass_5,
|
876
|
+
:_eof,
|
877
|
+
"/*",
|
878
|
+
"#",
|
879
|
+
"//",
|
880
|
+
"@terminals",
|
881
|
+
"@pass",
|
882
|
+
"["],
|
743
883
|
:postfix => [
|
884
|
+
")",
|
885
|
+
"-",
|
886
|
+
"|",
|
887
|
+
:_eof,
|
744
888
|
:HEX,
|
745
889
|
:RANGE,
|
746
890
|
:ENUM,
|
@@ -748,14 +892,15 @@ module Branch
|
|
748
892
|
:O_ENUM,
|
749
893
|
:STRING1,
|
750
894
|
:STRING2,
|
751
|
-
"
|
895
|
+
"@terminals",
|
896
|
+
"(",
|
897
|
+
"@pass",
|
898
|
+
"["],
|
752
899
|
:_postfix_1 => [
|
753
|
-
|
754
|
-
|
755
|
-
|
756
|
-
:
|
757
|
-
:_eps],
|
758
|
-
:primary => [
|
900
|
+
")",
|
901
|
+
"-",
|
902
|
+
"|",
|
903
|
+
:_eof,
|
759
904
|
:HEX,
|
760
905
|
:RANGE,
|
761
906
|
:ENUM,
|
@@ -763,10 +908,15 @@ module Branch
|
|
763
908
|
:O_ENUM,
|
764
909
|
:STRING1,
|
765
910
|
:STRING2,
|
766
|
-
"
|
767
|
-
|
768
|
-
"
|
769
|
-
|
911
|
+
"@terminals",
|
912
|
+
"(",
|
913
|
+
"@pass",
|
914
|
+
"["],
|
915
|
+
:_postfix_3 => [
|
916
|
+
")",
|
917
|
+
"-",
|
918
|
+
"|",
|
919
|
+
:_eof,
|
770
920
|
:HEX,
|
771
921
|
:RANGE,
|
772
922
|
:ENUM,
|
@@ -774,14 +924,16 @@ module Branch
|
|
774
924
|
:O_ENUM,
|
775
925
|
:STRING1,
|
776
926
|
:STRING2,
|
777
|
-
"
|
778
|
-
|
779
|
-
"
|
780
|
-
:rule => [
|
927
|
+
"@terminals",
|
928
|
+
"(",
|
929
|
+
"@pass",
|
781
930
|
"["],
|
782
|
-
:
|
783
|
-
|
784
|
-
|
931
|
+
:primary => [
|
932
|
+
:_postfix_2,
|
933
|
+
")",
|
934
|
+
"-",
|
935
|
+
"|",
|
936
|
+
:_eof,
|
785
937
|
:HEX,
|
786
938
|
:RANGE,
|
787
939
|
:ENUM,
|
@@ -789,8 +941,16 @@ module Branch
|
|
789
941
|
:O_ENUM,
|
790
942
|
:STRING1,
|
791
943
|
:STRING2,
|
792
|
-
"
|
793
|
-
|
944
|
+
"@terminals",
|
945
|
+
"(",
|
946
|
+
"@pass",
|
947
|
+
"["],
|
948
|
+
:_primary_1 => [
|
949
|
+
:_postfix_2,
|
950
|
+
")",
|
951
|
+
"-",
|
952
|
+
"|",
|
953
|
+
:_eof,
|
794
954
|
:HEX,
|
795
955
|
:RANGE,
|
796
956
|
:ENUM,
|
@@ -798,9 +958,16 @@ module Branch
|
|
798
958
|
:O_ENUM,
|
799
959
|
:STRING1,
|
800
960
|
:STRING2,
|
801
|
-
"
|
802
|
-
|
803
|
-
|
961
|
+
"@terminals",
|
962
|
+
"(",
|
963
|
+
"@pass",
|
964
|
+
"["],
|
965
|
+
:_primary_2 => [
|
966
|
+
:_postfix_2,
|
967
|
+
")",
|
968
|
+
"-",
|
969
|
+
"|",
|
970
|
+
:_eof,
|
804
971
|
:HEX,
|
805
972
|
:RANGE,
|
806
973
|
:ENUM,
|
@@ -808,8 +975,16 @@ module Branch
|
|
808
975
|
:O_ENUM,
|
809
976
|
:STRING1,
|
810
977
|
:STRING2,
|
811
|
-
"
|
812
|
-
|
978
|
+
"@terminals",
|
979
|
+
"(",
|
980
|
+
"@pass",
|
981
|
+
"["],
|
982
|
+
:_primary_3 => [
|
983
|
+
:_postfix_2,
|
984
|
+
")",
|
985
|
+
"-",
|
986
|
+
"|",
|
987
|
+
:_eof,
|
813
988
|
:HEX,
|
814
989
|
:RANGE,
|
815
990
|
:ENUM,
|
@@ -817,27 +992,60 @@ module Branch
|
|
817
992
|
:O_ENUM,
|
818
993
|
:STRING1,
|
819
994
|
:STRING2,
|
820
|
-
"
|
995
|
+
"@terminals",
|
996
|
+
"(",
|
997
|
+
"@pass",
|
998
|
+
"["],
|
999
|
+
:rule => [
|
1000
|
+
:_eof,
|
1001
|
+
"@terminals",
|
1002
|
+
"@pass",
|
1003
|
+
"["],
|
1004
|
+
:_rule_1 => [
|
1005
|
+
:_eof,
|
1006
|
+
"@terminals",
|
1007
|
+
"@pass",
|
1008
|
+
"["],
|
1009
|
+
:_rule_2 => [
|
1010
|
+
:_eof,
|
1011
|
+
"@terminals",
|
1012
|
+
"@pass",
|
1013
|
+
"["],
|
1014
|
+
:seq => [
|
1015
|
+
")",
|
1016
|
+
"|",
|
1017
|
+
:_eof,
|
1018
|
+
"@terminals",
|
1019
|
+
"@pass",
|
1020
|
+
"["],
|
1021
|
+
:_seq_1 => [
|
1022
|
+
")",
|
1023
|
+
"|",
|
1024
|
+
:_eof,
|
1025
|
+
"@terminals",
|
1026
|
+
"@pass",
|
1027
|
+
"["],
|
1028
|
+
:_seq_2 => [
|
1029
|
+
")",
|
1030
|
+
"|",
|
1031
|
+
:_eof,
|
1032
|
+
"@terminals",
|
1033
|
+
"@pass",
|
1034
|
+
"["],
|
821
1035
|
:_seq_3 => [
|
822
|
-
|
823
|
-
|
824
|
-
:
|
825
|
-
|
826
|
-
|
827
|
-
|
828
|
-
:STRING1,
|
829
|
-
:STRING2,
|
830
|
-
"("],
|
1036
|
+
")",
|
1037
|
+
"|",
|
1038
|
+
:_eof,
|
1039
|
+
"@terminals",
|
1040
|
+
"@pass",
|
1041
|
+
"["],
|
831
1042
|
:_seq_4 => [
|
832
|
-
|
833
|
-
|
834
|
-
:
|
835
|
-
|
836
|
-
|
837
|
-
|
838
|
-
:STRING1,
|
839
|
-
:STRING2,
|
840
|
-
"("],
|
1043
|
+
")",
|
1044
|
+
"|",
|
1045
|
+
:_eof,
|
1046
|
+
"@terminals",
|
1047
|
+
"@pass",
|
1048
|
+
"["],
|
841
1049
|
}.freeze
|
842
1050
|
end
|
843
1051
|
|