etc/ebnf.ll1.sxp in ebnf-0.3.5 vs etc/ebnf.ll1.sxp in ebnf-0.3.6

- old
+ new

@@ -16,19 +16,19 @@ (first "@pass" "@terminals") (follow "@pass" "@terminals" LHS _eof) (alt "@terminals" pass)) (rule rule "3" (first LHS) (follow "@pass" "@terminals" LHS _eof) (seq LHS expression)) (rule _rule_1 "3.1" - (first "(" ENUM HEX O_ENUM O_RANGE RANGE STRING1 STRING2 SYMBOL) + (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL) (follow "@pass" "@terminals" LHS _eof) (seq expression)) (rule expression "4" - (first "(" ENUM HEX O_ENUM O_RANGE RANGE STRING1 STRING2 SYMBOL) + (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL) (follow ")" "@pass" "@terminals" LHS _eof) (seq alt)) (rule alt "5" - (first "(" ENUM HEX O_ENUM O_RANGE RANGE STRING1 STRING2 SYMBOL) + (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL) (follow ")" "@pass" "@terminals" LHS _eof) (seq seq _alt_1)) (rule _alt_1 "5.1" (first _eps "|") (follow ")" "@pass" "@terminals" LHS _eof) @@ -48,117 +48,116 @@ (rule _alt_5 "5.5" (first _eps "|") (follow ")" "@pass" "@terminals" LHS _eof) (seq _alt_1)) (rule _alt_6 "5.6" - (first "(" ENUM HEX O_ENUM O_RANGE RANGE STRING1 STRING2 SYMBOL) + (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL) (follow ")" "@pass" "@terminals" LHS _eof "|") (seq seq)) (rule seq "6" - (first "(" ENUM HEX O_ENUM O_RANGE RANGE STRING1 STRING2 SYMBOL) + (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL) (follow ")" "@pass" "@terminals" LHS _eof "|") (seq diff _seq_1)) (rule _seq_1 "6.1" - (first "(" ENUM HEX O_ENUM O_RANGE RANGE STRING1 STRING2 SYMBOL _eps) + (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL _eps) (follow ")" "@pass" "@terminals" LHS _eof "|") (alt _empty _seq_2)) (rule _seq_2 "6.2" - (first "(" ENUM HEX O_ENUM O_RANGE RANGE STRING1 STRING2 SYMBOL) + (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL) (follow ")" "@pass" "@terminals" LHS _eof "|") (seq diff _seq_1)) (rule _seq_3 "6.3" - (first "(" ENUM HEX O_ENUM O_RANGE RANGE STRING1 STRING2 SYMBOL _eps) + (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL _eps) (follow ")" "@pass" "@terminals" LHS _eof "|") (seq _seq_1)) (rule _seq_4 "6.4" - (first "(" ENUM HEX O_ENUM O_RANGE RANGE STRING1 STRING2 SYMBOL _eps) + (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL _eps) (follow ")" "@pass" "@terminals" LHS _eof "|") (seq _seq_1)) (rule diff "7" - (first "(" ENUM HEX O_ENUM O_RANGE RANGE STRING1 STRING2 SYMBOL) - (follow "(" ")" "@pass" "@terminals" ENUM HEX LHS O_ENUM O_RANGE RANGE - STRING1 STRING2 SYMBOL _eof "|" ) + (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL) + (follow "(" ")" "@pass" "@terminals" HEX LHS O_RANGE RANGE STRING1 STRING2 + SYMBOL _eof "|" ) (seq postfix _diff_1)) (rule _diff_1 "7.1" (first "-" _eps) - (follow "(" ")" "@pass" "@terminals" ENUM HEX LHS O_ENUM O_RANGE RANGE - STRING1 STRING2 SYMBOL _eof "|" ) + (follow "(" ")" "@pass" "@terminals" HEX LHS O_RANGE RANGE STRING1 STRING2 + SYMBOL _eof "|" ) (alt _empty _diff_2)) (rule _diff_2 "7.2" (first "-") - (follow "(" ")" "@pass" "@terminals" ENUM HEX LHS O_ENUM O_RANGE RANGE - STRING1 STRING2 SYMBOL _eof "|" ) + (follow "(" ")" "@pass" "@terminals" HEX LHS O_RANGE RANGE STRING1 STRING2 + SYMBOL _eof "|" ) (seq "-" postfix)) (rule _diff_3 "7.3" (first "-" _eps) - (follow "(" ")" "@pass" "@terminals" ENUM HEX LHS O_ENUM O_RANGE RANGE - STRING1 STRING2 SYMBOL _eof "|" ) + (follow "(" ")" "@pass" "@terminals" HEX LHS O_RANGE RANGE STRING1 STRING2 + SYMBOL _eof "|" ) (seq _diff_1)) (rule _diff_4 "7.4" - (first "(" ENUM HEX O_ENUM O_RANGE RANGE STRING1 STRING2 SYMBOL) - (follow "(" ")" "@pass" "@terminals" ENUM HEX LHS O_ENUM O_RANGE RANGE - STRING1 STRING2 SYMBOL _eof "|" ) + (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL) + (follow "(" ")" "@pass" "@terminals" HEX LHS O_RANGE RANGE STRING1 STRING2 + SYMBOL _eof "|" ) (seq postfix)) (rule postfix "8" - (first "(" ENUM HEX O_ENUM O_RANGE RANGE STRING1 STRING2 SYMBOL) - (follow "(" ")" "-" "@pass" "@terminals" ENUM HEX LHS O_ENUM O_RANGE RANGE - STRING1 STRING2 SYMBOL _eof "|" ) + (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL) + (follow "(" ")" "-" "@pass" "@terminals" HEX LHS O_RANGE RANGE STRING1 + STRING2 SYMBOL _eof "|" ) (seq primary _postfix_1)) (rule _postfix_1 "8.1" (first POSTFIX _eps) - (follow "(" ")" "-" "@pass" "@terminals" ENUM HEX LHS O_ENUM O_RANGE RANGE - STRING1 STRING2 SYMBOL _eof "|" ) + (follow "(" ")" "-" "@pass" "@terminals" HEX LHS O_RANGE RANGE STRING1 + STRING2 SYMBOL _eof "|" ) (alt _empty POSTFIX)) (rule _postfix_2 "8.2" (first POSTFIX _eps) - (follow "(" ")" "-" "@pass" "@terminals" ENUM HEX LHS O_ENUM O_RANGE RANGE - STRING1 STRING2 SYMBOL _eof "|" ) + (follow "(" ")" "-" "@pass" "@terminals" HEX LHS O_RANGE RANGE STRING1 + STRING2 SYMBOL _eof "|" ) (seq _postfix_1)) (rule primary "9" - (first "(" ENUM HEX O_ENUM O_RANGE RANGE STRING1 STRING2 SYMBOL) - (follow "(" ")" "-" "@pass" "@terminals" ENUM HEX LHS O_ENUM O_RANGE POSTFIX - RANGE STRING1 STRING2 SYMBOL _eof "|" ) - (alt HEX SYMBOL RANGE ENUM O_RANGE O_ENUM STRING1 STRING2 _primary_1)) + (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL) + (follow "(" ")" "-" "@pass" "@terminals" HEX LHS O_RANGE POSTFIX RANGE + STRING1 STRING2 SYMBOL _eof "|" ) + (alt HEX SYMBOL RANGE O_RANGE STRING1 STRING2 _primary_1)) (rule _primary_1 "9.1" (first "(") - (follow "(" ")" "-" "@pass" "@terminals" ENUM HEX LHS O_ENUM O_RANGE POSTFIX - RANGE STRING1 STRING2 SYMBOL _eof "|" ) + (follow "(" ")" "-" "@pass" "@terminals" HEX LHS O_RANGE POSTFIX RANGE + STRING1 STRING2 SYMBOL _eof "|" ) (seq "(" expression ")")) (rule _primary_2 "9.2" - (first "(" ENUM HEX O_ENUM O_RANGE RANGE STRING1 STRING2 SYMBOL) - (follow "(" ")" "-" "@pass" "@terminals" ENUM HEX LHS O_ENUM O_RANGE POSTFIX - RANGE STRING1 STRING2 SYMBOL _eof "|" ) + (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL) + (follow "(" ")" "-" "@pass" "@terminals" HEX LHS O_RANGE POSTFIX RANGE + STRING1 STRING2 SYMBOL _eof "|" ) (seq expression ")")) (rule _primary_3 "9.3" (first ")") - (follow "(" ")" "-" "@pass" "@terminals" ENUM HEX LHS O_ENUM O_RANGE POSTFIX - RANGE STRING1 STRING2 SYMBOL _eof "|" ) + (follow "(" ")" "-" "@pass" "@terminals" HEX LHS O_RANGE POSTFIX RANGE + STRING1 STRING2 SYMBOL _eof "|" ) (seq ")")) (rule pass "10" (first "@pass") (follow "@pass" "@terminals" LHS _eof) (seq "@pass" expression)) (rule _pass_1 "10.1" - (first "(" ENUM HEX O_ENUM O_RANGE RANGE STRING1 STRING2 SYMBOL) + (first "(" HEX O_RANGE RANGE STRING1 STRING2 SYMBOL) (follow "@pass" "@terminals" LHS _eof) (seq expression)) - (terminal LHS "11" (seq (opt ENUM) SYMBOL "::=")) + (terminal LHS "11" (seq (opt (seq "[" (plus SYMBOL) "]")) SYMBOL "::=")) (terminal SYMBOL "12" (plus (alt (range "a-z") (range "A-Z") (range "0-9") "_" "."))) - (terminal HEX "13" - (seq "#x" - (alt (range "0-9") (range "a-f") (range "A-F")) - (alt (range "0-9") (range "a-f") (range "A-F"))) ) - (terminal RANGE "14" (seq "[" R_CHAR "-" R_CHAR "]")) - (terminal ENUM "15" (seq "[" (plus R_CHAR) "]")) - (terminal O_RANGE "16" (seq "[^" R_CHAR "-" R_CHAR "]")) - (terminal O_ENUM "17" (seq "[^" (plus R_CHAR) "]")) - (terminal STRING1 "18" (seq "\"" (star (alt (diff CHAR "\"") "\t")) "\"")) - (terminal STRING2 "19" (seq "'" (star (alt (diff CHAR "'") "\t")) "'")) - (terminal CHAR "20" (alt HEX (seq "\\" (range "\\trn\"'")) (range "^\t\r\n"))) - (terminal R_CHAR "21" (diff CHAR "]")) - (terminal POSTFIX "22" (range "?*+")) - (terminal PASS "23" + (terminal HEX "13" (seq "#x" (plus (alt (range "0-9") (range "a-f") (range "A-F"))))) + (terminal RANGE "14" + (seq "[" (plus (alt (seq R_BEGIN (alt HEX R_CHAR)) (alt HEX R_CHAR))) "]")) + (terminal O_RANGE "15" + (seq "[^" (plus (alt (seq R_BEGIN (alt HEX R_CHAR)) (alt HEX R_CHAR))) "]")) + (terminal STRING1 "16" (seq "\"" (star (diff CHAR "\"")) "\"")) + (terminal STRING2 "17" (seq "'" (diff CHAR "'"))) + (terminal CHAR "18" (alt HEX (range "#x20#x21#x22") (range "#x24-#x00FFFFFF"))) + (terminal R_CHAR "19" (diff CHAR "]")) + (terminal R_BEGIN "20" (seq (alt HEX R_CHAR) "-")) + (terminal POSTFIX "21" (range "?*+")) + (terminal PASS "22" (plus (alt - (range "#x20\t\r\n") - (seq (alt "#" "//") (star (range "^\r\n"))) - (seq "/*" (star (alt (opt (seq "*" (range "^/"))) (range "^*"))) "*/")) )) ) + (range "#x00-#x20") + (seq (alt "#" "//") (star (range "^#x0A#x0D"))) + (seq "/*" (star (alt (opt (seq "*" (range "^/"))) (range "^*"))) "*/") + (seq "(*" (star (alt (opt (seq "*" (range "^)"))) (range "^*"))) "*)")) )) )