occam-custom-grammars 5.0.1191 → 5.0.1193
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.
- package/example.js +19 -58
- package/lib/utilities/lexers.js +7 -19
- package/lib/utilities/parsers.js +13 -40
- package/package.json +1 -1
- package/src/utilities/lexers.js +8 -26
- package/src/utilities/parsers.js +16 -58
package/lib/utilities/lexers.js
CHANGED
|
@@ -56,28 +56,16 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
|
56
56
|
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
57
57
|
}
|
|
58
58
|
var lexerFromRules = _occamlexers.lexerUtilities.lexerFromRules, rulesFromEntries = _occamlexers.lexerUtilities.rulesFromEntries;
|
|
59
|
-
function nominalLexerFromNothing(
|
|
60
|
-
|
|
61
|
-
Class = _occamgrammars.NominalLexer; ///
|
|
62
|
-
}
|
|
63
|
-
var entries = Class.entries, combinedCustomGrammar = _combined.default.fromNothing(), rules = rulesFromEntriesAndCombinedCustomGrammar(entries, combinedCustomGrammar), nominalLexer = lexerFromRules(Class, rules);
|
|
59
|
+
function nominalLexerFromNothing() {
|
|
60
|
+
var entries = _occamgrammars.NominalLexer.entries, combinedCustomGrammar = _combined.default.fromNothing(), rules = rulesFromEntriesAndCombinedCustomGrammar(entries, combinedCustomGrammar), nominalLexer = lexerFromRules(_occamgrammars.NominalLexer, rules);
|
|
64
61
|
return nominalLexer;
|
|
65
62
|
}
|
|
66
|
-
function nominalLexerFromCombinedCustomGrammar(
|
|
67
|
-
|
|
68
|
-
combinedCustomGrammar = Class; ///
|
|
69
|
-
Class = _occamgrammars.NominalLexer; ///
|
|
70
|
-
}
|
|
71
|
-
var entries = Class.entries, rules = rulesFromEntriesAndCombinedCustomGrammar(entries, combinedCustomGrammar), nominalLexer = lexerFromRules(Class, rules);
|
|
63
|
+
function nominalLexerFromCombinedCustomGrammar(combinedCustomGrammar) {
|
|
64
|
+
var entries = _occamgrammars.NominalLexer.entries, rules = rulesFromEntriesAndCombinedCustomGrammar(entries, combinedCustomGrammar), nominalLexer = lexerFromRules(_occamgrammars.NominalLexer, rules);
|
|
72
65
|
return nominalLexer;
|
|
73
66
|
}
|
|
74
|
-
function nominalLexerFromEntriesAndCombinedCustomGrammar(
|
|
75
|
-
|
|
76
|
-
combinedCustomGrammar = entries; ///
|
|
77
|
-
entries = Class; ///
|
|
78
|
-
Class = _occamgrammars.NominalLexer; ///
|
|
79
|
-
}
|
|
80
|
-
var rules = rulesFromEntriesAndCombinedCustomGrammar(entries, combinedCustomGrammar), nominalLexer = lexerFromRules(Class, rules);
|
|
67
|
+
function nominalLexerFromEntriesAndCombinedCustomGrammar(entries, combinedCustomGrammar) {
|
|
68
|
+
var rules = rulesFromEntriesAndCombinedCustomGrammar(entries, combinedCustomGrammar), nominalLexer = lexerFromRules(_occamgrammars.NominalLexer, rules);
|
|
81
69
|
return nominalLexer;
|
|
82
70
|
}
|
|
83
71
|
var _default = {
|
|
@@ -92,4 +80,4 @@ function rulesFromEntriesAndCombinedCustomGrammar(entries, combinedCustomGrammar
|
|
|
92
80
|
return rules;
|
|
93
81
|
}
|
|
94
82
|
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbGV4ZXJzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBOb21pbmFsTGV4ZXIgfSBmcm9tIFwib2NjYW0tZ3JhbW1hcnNcIjtcbmltcG9ydCB7IGxleGVyVXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWxleGVyc1wiO1xuXG5pbXBvcnQgQ29tYmluZWRDdXN0b21HcmFtbWFyIGZyb20gXCIuLi9jdXN0b21HcmFtbWFyL2NvbWJpbmVkXCI7XG5cbmNvbnN0IHsgbGV4ZXJGcm9tUnVsZXMsIHJ1bGVzRnJvbUVudHJpZXMgfSA9IGxleGVyVXRpbGl0aWVzO1xuXG5leHBvcnQgZnVuY3Rpb24gbm9taW5hbExleGVyRnJvbU5vdGhpbmcoKSB7XG4gIGNvbnN0IHsgZW50cmllcyB9ID0gTm9taW5hbExleGVyLFxuICAgICAgICBjb21iaW5lZEN1c3RvbUdyYW1tYXIgPSBDb21iaW5lZEN1c3RvbUdyYW1tYXIuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgcnVsZXMgPSBydWxlc0Zyb21FbnRyaWVzQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyKGVudHJpZXMsIGNvbWJpbmVkQ3VzdG9tR3JhbW1hciksXG4gICAgICAgIG5vbWluYWxMZXhlciA9IGxleGVyRnJvbVJ1bGVzKE5vbWluYWxMZXhlciwgcnVsZXMpO1xuXG4gIHJldHVybiBub21pbmFsTGV4ZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub21pbmFsTGV4ZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyKGNvbWJpbmVkQ3VzdG9tR3JhbW1hcikge1xuICBjb25zdCB7IGVudHJpZXMgfSA9IE5vbWluYWxMZXhlcixcbiAgICAgICAgcnVsZXMgPSBydWxlc0Zyb21FbnRyaWVzQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyKGVudHJpZXMsIGNvbWJpbmVkQ3VzdG9tR3JhbW1hciksXG4gICAgICAgIG5vbWluYWxMZXhlciA9IGxleGVyRnJvbVJ1bGVzKE5vbWluYWxMZXhlciwgcnVsZXMpO1xuXG4gIHJldHVybiBub21pbmFsTGV4ZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub21pbmFsTGV4ZXJGcm9tRW50cmllc0FuZENvbWJpbmVkQ3VzdG9tR3JhbW1hcihlbnRyaWVzLCBjb21iaW5lZEN1c3RvbUdyYW1tYXIpIHtcbiAgY29uc3QgcnVsZXMgPSBydWxlc0Zyb21FbnRyaWVzQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyKGVudHJpZXMsIGNvbWJpbmVkQ3VzdG9tR3JhbW1hciksXG4gICAgICAgIG5vbWluYWxMZXhlciA9IGxleGVyRnJvbVJ1bGVzKE5vbWluYWxMZXhlciwgcnVsZXMpO1xuXG4gIHJldHVybiBub21pbmFsTGV4ZXI7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgbm9taW5hbExleGVyRnJvbU5vdGhpbmcsXG4gIG5vbWluYWxMZXhlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIsXG4gIG5vbWluYWxMZXhlckZyb21FbnRyaWVzQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyXG59O1xuXG5mdW5jdGlvbiBydWxlc0Zyb21FbnRyaWVzQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyKGVudHJpZXMsIGNvbWJpbmVkQ3VzdG9tR3JhbW1hcikge1xuICBjb25zdCBjdXN0b21HcmFtbWFyRW50cmllcyA9IGNvbWJpbmVkQ3VzdG9tR3JhbW1hci5nZXRFbnRyaWVzKCk7XG5cbiAgZW50cmllcyA9IFsgLy8vXG4gICAgLi4uY3VzdG9tR3JhbW1hckVudHJpZXMsXG4gICAgLi4uZW50cmllc1xuICBdO1xuXG4gIGNvbnN0IHJ1bGVzID0gcnVsZXNGcm9tRW50cmllcyhlbnRyaWVzKTtcblxuICByZXR1cm4gcnVsZXM7XG59XG4iXSwibmFtZXMiOlsibm9taW5hbExleGVyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsIm5vbWluYWxMZXhlckZyb21FbnRyaWVzQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyIiwibm9taW5hbExleGVyRnJvbU5vdGhpbmciLCJsZXhlckZyb21SdWxlcyIsImxleGVyVXRpbGl0aWVzIiwicnVsZXNGcm9tRW50cmllcyIsImVudHJpZXMiLCJOb21pbmFsTGV4ZXIiLCJjb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJDb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJmcm9tTm90aGluZyIsInJ1bGVzIiwicnVsZXNGcm9tRW50cmllc0FuZENvbWJpbmVkQ3VzdG9tR3JhbW1hciIsIm5vbWluYWxMZXhlciIsImN1c3RvbUdyYW1tYXJFbnRyaWVzIiwiZ2V0RW50cmllcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBaUNBO2VBQUE7O1FBZmdCQTtlQUFBQTs7UUFRQUM7ZUFBQUE7O1FBakJBQztlQUFBQTs7OzZCQVBhOzJCQUNFOytEQUVHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWxDLElBQVFDLGlCQUFxQ0MsMkJBQWMsQ0FBbkRELGdCQUFnQkUsbUJBQXFCRCwyQkFBYyxDQUFuQ0M7QUFFakIsU0FBU0g7SUFDZCxJQUFNLEFBQUVJLFVBQVlDLDJCQUFZLENBQXhCRCxTQUNGRSx3QkFBd0JDLGlCQUFxQixDQUFDQyxXQUFXLElBQ3pEQyxRQUFRQyx5Q0FBeUNOLFNBQVNFLHdCQUMxREssZUFBZVYsZUFBZUksMkJBQVksRUFBRUk7SUFFbEQsT0FBT0U7QUFDVDtBQUVPLFNBQVNiLHNDQUFzQ1EscUJBQXFCO0lBQ3pFLElBQU0sQUFBRUYsVUFBWUMsMkJBQVksQ0FBeEJELFNBQ0ZLLFFBQVFDLHlDQUF5Q04sU0FBU0Usd0JBQzFESyxlQUFlVixlQUFlSSwyQkFBWSxFQUFFSTtJQUVsRCxPQUFPRTtBQUNUO0FBRU8sU0FBU1osZ0RBQWdESyxPQUFPLEVBQUVFLHFCQUFxQjtJQUM1RixJQUFNRyxRQUFRQyx5Q0FBeUNOLFNBQVNFLHdCQUMxREssZUFBZVYsZUFBZUksMkJBQVksRUFBRUk7SUFFbEQsT0FBT0U7QUFDVDtJQUVBLFdBQWU7SUFDYlgseUJBQUFBO0lBQ0FGLHVDQUFBQTtJQUNBQyxpREFBQUE7QUFDRjtBQUVBLFNBQVNXLHlDQUF5Q04sT0FBTyxFQUFFRSxxQkFBcUI7SUFDOUUsSUFBTU0sdUJBQXVCTixzQkFBc0JPLFVBQVU7SUFFN0RULFVBQVUsQUFDUixxQkFBR1EsNkJBQ0gscUJBQUdSO0lBR0wsSUFBTUssUUFBUU4saUJBQWlCQztJQUUvQixPQUFPSztBQUNUIn0=
|
package/lib/utilities/parsers.js
CHANGED
|
@@ -66,55 +66,28 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
|
66
66
|
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
67
67
|
}
|
|
68
68
|
var rulesFromBNF = _occamparsers.parserUtilities.rulesFromBNF, parserFromRules = _occamparsers.parserUtilities.parserFromRules, parserFromRulesAndStartRuleName = _occamparsers.parserUtilities.parserFromRulesAndStartRuleName;
|
|
69
|
-
function nominalParserFromNothing(
|
|
70
|
-
|
|
71
|
-
Class = _occamgrammars.NominalParser; ///
|
|
72
|
-
}
|
|
73
|
-
var bnf = Class.bnf, combinedCustomGrammar = _combined.default.fromNothing(), rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar), nominalParser = parserFromRules(Class, rules);
|
|
69
|
+
function nominalParserFromNothing() {
|
|
70
|
+
var bnf = _occamgrammars.NominalParser.bnf, combinedCustomGrammar = _combined.default.fromNothing(), rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar), nominalParser = parserFromRules(_occamgrammars.NominalParser, rules);
|
|
74
71
|
return nominalParser;
|
|
75
72
|
}
|
|
76
|
-
function nominalParserFromStartRuleName(
|
|
77
|
-
|
|
78
|
-
startRuleName = Class; ///
|
|
79
|
-
Class = _occamgrammars.NominalParser; ///
|
|
80
|
-
}
|
|
81
|
-
var bnf = Class.bnf, combinedCustomGrammar = _combined.default.fromNothing(), rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar), nominalParser = parserFromRulesAndStartRuleName(Class, rules, startRuleName);
|
|
73
|
+
function nominalParserFromStartRuleName(startRuleName) {
|
|
74
|
+
var bnf = _occamgrammars.NominalParser.bnf, combinedCustomGrammar = _combined.default.fromNothing(), rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar), nominalParser = parserFromRulesAndStartRuleName(_occamgrammars.NominalParser, rules, startRuleName);
|
|
82
75
|
return nominalParser;
|
|
83
76
|
}
|
|
84
|
-
function nominalParserFromCombinedCustomGrammar(
|
|
85
|
-
|
|
86
|
-
combinedCustomGrammar = Class; ///
|
|
87
|
-
Class = _occamgrammars.NominalParser; ///
|
|
88
|
-
}
|
|
89
|
-
var bnf = Class.bnf, rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar), nominalParser = parserFromRules(Class, rules);
|
|
77
|
+
function nominalParserFromCombinedCustomGrammar(combinedCustomGrammar) {
|
|
78
|
+
var bnf = _occamgrammars.NominalParser.bnf, rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar), nominalParser = parserFromRules(_occamgrammars.NominalParser, rules);
|
|
90
79
|
return nominalParser;
|
|
91
80
|
}
|
|
92
|
-
function nominalParserFromBNFAndCombinedCustomGrammar(
|
|
93
|
-
|
|
94
|
-
combinedCustomGrammar = bnf; ///
|
|
95
|
-
bnf = Class; ///
|
|
96
|
-
Class = _occamgrammars.NominalParser; ///
|
|
97
|
-
}
|
|
98
|
-
var rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar), nominalParser = parserFromRules(Class, rules);
|
|
81
|
+
function nominalParserFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar) {
|
|
82
|
+
var rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar), nominalParser = parserFromRules(_occamgrammars.NominalParser, rules);
|
|
99
83
|
return nominalParser;
|
|
100
84
|
}
|
|
101
|
-
function nominalParserFromStartRuleNameAndCombinedCustomGrammar(
|
|
102
|
-
|
|
103
|
-
combinedCustomGrammar = startRuleName; ///
|
|
104
|
-
startRuleName = Class; ///
|
|
105
|
-
Class = _occamgrammars.NominalParser; ///
|
|
106
|
-
}
|
|
107
|
-
var bnf = Class.bnf, rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar), nominalParser = parserFromRulesAndStartRuleName(Class, rules, startRuleName);
|
|
85
|
+
function nominalParserFromStartRuleNameAndCombinedCustomGrammar(startRuleName, combinedCustomGrammar) {
|
|
86
|
+
var bnf = _occamgrammars.NominalParser.bnf, rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar), nominalParser = parserFromRulesAndStartRuleName(_occamgrammars.NominalParser, rules, startRuleName);
|
|
108
87
|
return nominalParser;
|
|
109
88
|
}
|
|
110
|
-
function nominalParserFromBNFStartRuleNameAndCombinedCustomGrammar(
|
|
111
|
-
|
|
112
|
-
combinedCustomGrammar = startRuleName; ///
|
|
113
|
-
startRuleName = bnf; ///
|
|
114
|
-
bnf = Class; ///
|
|
115
|
-
Class = _occamgrammars.NominalParser; ///
|
|
116
|
-
}
|
|
117
|
-
var rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar), nominalParser = parserFromRulesAndStartRuleName(Class, rules, startRuleName);
|
|
89
|
+
function nominalParserFromBNFStartRuleNameAndCombinedCustomGrammar(bnf, startRuleName, combinedCustomGrammar) {
|
|
90
|
+
var rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar), nominalParser = parserFromRulesAndStartRuleName(_occamgrammars.NominalParser, rules, startRuleName);
|
|
118
91
|
return nominalParser;
|
|
119
92
|
}
|
|
120
93
|
var _default = {
|
|
@@ -133,4 +106,4 @@ function rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar) {
|
|
|
133
106
|
return rules;
|
|
134
107
|
}
|
|
135
108
|
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcGFyc2Vycy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgTm9taW5hbFBhcnNlciB9IGZyb20gXCJvY2NhbS1ncmFtbWFyc1wiO1xuaW1wb3J0IHsgcGFyc2VyVXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLXBhcnNlcnNcIjtcbmltcG9ydCB7IGVsaW1pbmF0ZUxlZnRSZWN1cnNpb24gfSBmcm9tIFwib2NjYW0tZ3JhbW1hci11dGlsaXRpZXNcIjtcblxuaW1wb3J0IENvbWJpbmVkQ3VzdG9tR3JhbW1hciBmcm9tIFwiLi4vY3VzdG9tR3JhbW1hci9jb21iaW5lZFwiO1xuXG5jb25zdCB7IHJ1bGVzRnJvbUJORiwgcGFyc2VyRnJvbVJ1bGVzLCBwYXJzZXJGcm9tUnVsZXNBbmRTdGFydFJ1bGVOYW1lIH0gPSBwYXJzZXJVdGlsaXRpZXM7XG5cbmV4cG9ydCBmdW5jdGlvbiBub21pbmFsUGFyc2VyRnJvbU5vdGhpbmcoKSB7XG4gIGNvbnN0IHsgYm5mIH0gPSBOb21pbmFsUGFyc2VyLFxuICAgICAgICBjb21iaW5lZEN1c3RvbUdyYW1tYXIgPSBDb21iaW5lZEN1c3RvbUdyYW1tYXIuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgcnVsZXMgPSBydWxlc0Zyb21CTkZBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIoYm5mLCBjb21iaW5lZEN1c3RvbUdyYW1tYXIpLFxuICAgICAgICBub21pbmFsUGFyc2VyID0gcGFyc2VyRnJvbVJ1bGVzKE5vbWluYWxQYXJzZXIsIHJ1bGVzKTtcblxuICByZXR1cm4gbm9taW5hbFBhcnNlcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vbWluYWxQYXJzZXJGcm9tU3RhcnRSdWxlTmFtZShzdGFydFJ1bGVOYW1lKSB7XG4gIGNvbnN0IHsgYm5mIH0gPSBOb21pbmFsUGFyc2VyLFxuICAgICAgICBjb21iaW5lZEN1c3RvbUdyYW1tYXIgPSBDb21iaW5lZEN1c3RvbUdyYW1tYXIuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgcnVsZXMgPSBydWxlc0Zyb21CTkZBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIoYm5mLCBjb21iaW5lZEN1c3RvbUdyYW1tYXIpLFxuICAgICAgICBub21pbmFsUGFyc2VyID0gcGFyc2VyRnJvbVJ1bGVzQW5kU3RhcnRSdWxlTmFtZShOb21pbmFsUGFyc2VyLCBydWxlcywgc3RhcnRSdWxlTmFtZSk7XG5cbiAgcmV0dXJuIG5vbWluYWxQYXJzZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub21pbmFsUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hcihjb21iaW5lZEN1c3RvbUdyYW1tYXIpIHtcbiAgY29uc3QgeyBibmYgfSA9IE5vbWluYWxQYXJzZXIsXG4gICAgICAgIHJ1bGVzID0gcnVsZXNGcm9tQk5GQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyKGJuZiwgY29tYmluZWRDdXN0b21HcmFtbWFyKSxcbiAgICAgICAgbm9taW5hbFBhcnNlciA9IHBhcnNlckZyb21SdWxlcyhOb21pbmFsUGFyc2VyLCBydWxlcyk7XG5cbiAgcmV0dXJuIG5vbWluYWxQYXJzZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub21pbmFsUGFyc2VyRnJvbUJORkFuZENvbWJpbmVkQ3VzdG9tR3JhbW1hcihibmYsIGNvbWJpbmVkQ3VzdG9tR3JhbW1hcikge1xuICBjb25zdCBydWxlcyA9IHJ1bGVzRnJvbUJORkFuZENvbWJpbmVkQ3VzdG9tR3JhbW1hcihibmYsIGNvbWJpbmVkQ3VzdG9tR3JhbW1hciksXG4gICAgICAgIG5vbWluYWxQYXJzZXIgPSBwYXJzZXJGcm9tUnVsZXMoTm9taW5hbFBhcnNlciwgcnVsZXMpO1xuXG4gIHJldHVybiBub21pbmFsUGFyc2VyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbm9taW5hbFBhcnNlckZyb21TdGFydFJ1bGVOYW1lQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyKHN0YXJ0UnVsZU5hbWUsIGNvbWJpbmVkQ3VzdG9tR3JhbW1hcikge1xuICBjb25zdCB7IGJuZiB9ID0gTm9taW5hbFBhcnNlcixcbiAgICAgICAgcnVsZXMgPSBydWxlc0Zyb21CTkZBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIoYm5mLCBjb21iaW5lZEN1c3RvbUdyYW1tYXIpLFxuICAgICAgICBub21pbmFsUGFyc2VyID0gcGFyc2VyRnJvbVJ1bGVzQW5kU3RhcnRSdWxlTmFtZShOb21pbmFsUGFyc2VyLCBydWxlcywgc3RhcnRSdWxlTmFtZSk7XG5cbiAgcmV0dXJuIG5vbWluYWxQYXJzZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub21pbmFsUGFyc2VyRnJvbUJORlN0YXJ0UnVsZU5hbWVBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIoYm5mLCBzdGFydFJ1bGVOYW1lLCBjb21iaW5lZEN1c3RvbUdyYW1tYXIpIHtcbiAgY29uc3QgcnVsZXMgPSBydWxlc0Zyb21CTkZBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIoYm5mLCBjb21iaW5lZEN1c3RvbUdyYW1tYXIpLFxuICAgICAgICBub21pbmFsUGFyc2VyID0gcGFyc2VyRnJvbVJ1bGVzQW5kU3RhcnRSdWxlTmFtZShOb21pbmFsUGFyc2VyLCBydWxlcywgc3RhcnRSdWxlTmFtZSk7XG5cbiAgcmV0dXJuIG5vbWluYWxQYXJzZXI7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgbm9taW5hbFBhcnNlckZyb21Ob3RoaW5nLFxuICBub21pbmFsUGFyc2VyRnJvbVN0YXJ0UnVsZU5hbWUsXG4gIG5vbWluYWxQYXJzZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyLFxuICBub21pbmFsUGFyc2VyRnJvbUJORkFuZENvbWJpbmVkQ3VzdG9tR3JhbW1hcixcbiAgbm9taW5hbFBhcnNlckZyb21TdGFydFJ1bGVOYW1lQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyLFxuICBub21pbmFsUGFyc2VyRnJvbUJORlN0YXJ0UnVsZU5hbWVBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXJcbn07XG5cbmZ1bmN0aW9uIHJ1bGVzRnJvbUJORkFuZENvbWJpbmVkQ3VzdG9tR3JhbW1hcihibmYsIGNvbWJpbmVkQ3VzdG9tR3JhbW1hcikge1xuICBsZXQgcnVsZXMgPSBydWxlc0Zyb21CTkYoYm5mKTtcblxuICBjb25zdCBjb21iaW5lZEN1c3RvbUdyYW1tYXJSdWxlcyA9IGNvbWJpbmVkQ3VzdG9tR3JhbW1hci5nZXRSdWxlcygpO1xuXG4gIHJ1bGVzID0gWyAvLy9cbiAgICAuLi5ydWxlcyxcbiAgICAuLi5jb21iaW5lZEN1c3RvbUdyYW1tYXJSdWxlc1xuICBdO1xuXG4gIHJ1bGVzID0gZWxpbWluYXRlTGVmdFJlY3Vyc2lvbihydWxlcyk7ICAvLy9cblxuICByZXR1cm4gcnVsZXM7XG59XG4iXSwibmFtZXMiOlsibm9taW5hbFBhcnNlckZyb21CTkZBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJub21pbmFsUGFyc2VyRnJvbUJORlN0YXJ0UnVsZU5hbWVBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJub21pbmFsUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsIm5vbWluYWxQYXJzZXJGcm9tTm90aGluZyIsIm5vbWluYWxQYXJzZXJGcm9tU3RhcnRSdWxlTmFtZSIsIm5vbWluYWxQYXJzZXJGcm9tU3RhcnRSdWxlTmFtZUFuZENvbWJpbmVkQ3VzdG9tR3JhbW1hciIsInJ1bGVzRnJvbUJORiIsInBhcnNlclV0aWxpdGllcyIsInBhcnNlckZyb21SdWxlcyIsInBhcnNlckZyb21SdWxlc0FuZFN0YXJ0UnVsZU5hbWUiLCJibmYiLCJOb21pbmFsUGFyc2VyIiwiY29tYmluZWRDdXN0b21HcmFtbWFyIiwiQ29tYmluZWRDdXN0b21HcmFtbWFyIiwiZnJvbU5vdGhpbmciLCJydWxlcyIsInJ1bGVzRnJvbUJORkFuZENvbWJpbmVkQ3VzdG9tR3JhbW1hciIsIm5vbWluYWxQYXJzZXIiLCJzdGFydFJ1bGVOYW1lIiwiY29tYmluZWRDdXN0b21HcmFtbWFyUnVsZXMiLCJnZXRSdWxlcyIsImVsaW1pbmF0ZUxlZnRSZWN1cnNpb24iXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQTBEQTtlQUFBOztRQXRCZ0JBO2VBQUFBOztRQWVBQztlQUFBQTs7UUF2QkFDO2VBQUFBOztRQWxCQUM7ZUFBQUE7O1FBU0FDO2VBQUFBOztRQXdCQUM7ZUFBQUE7Ozs2QkF6Q2M7NEJBQ0U7cUNBQ087K0RBRUw7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbEMsSUFBUUMsZUFBbUVDLDZCQUFlLENBQWxGRCxjQUFjRSxrQkFBcURELDZCQUFlLENBQXBFQyxpQkFBaUJDLGtDQUFvQ0YsNkJBQWUsQ0FBbkRFO0FBRWhDLFNBQVNOO0lBQ2QsSUFBTSxBQUFFTyxNQUFRQyw0QkFBYSxDQUFyQkQsS0FDRkUsd0JBQXdCQyxpQkFBcUIsQ0FBQ0MsV0FBVyxJQUN6REMsUUFBUUMscUNBQXFDTixLQUFLRSx3QkFDbERLLGdCQUFnQlQsZ0JBQWdCRyw0QkFBYSxFQUFFSTtJQUVyRCxPQUFPRTtBQUNUO0FBRU8sU0FBU2IsK0JBQStCYyxhQUFhO0lBQzFELElBQU0sQUFBRVIsTUFBUUMsNEJBQWEsQ0FBckJELEtBQ0ZFLHdCQUF3QkMsaUJBQXFCLENBQUNDLFdBQVcsSUFDekRDLFFBQVFDLHFDQUFxQ04sS0FBS0Usd0JBQ2xESyxnQkFBZ0JSLGdDQUFnQ0UsNEJBQWEsRUFBRUksT0FBT0c7SUFFNUUsT0FBT0Q7QUFDVDtBQUVPLFNBQVNmLHVDQUF1Q1UscUJBQXFCO0lBQzFFLElBQU0sQUFBRUYsTUFBUUMsNEJBQWEsQ0FBckJELEtBQ0ZLLFFBQVFDLHFDQUFxQ04sS0FBS0Usd0JBQ2xESyxnQkFBZ0JULGdCQUFnQkcsNEJBQWEsRUFBRUk7SUFFckQsT0FBT0U7QUFDVDtBQUVPLFNBQVNqQiw2Q0FBNkNVLEdBQUcsRUFBRUUscUJBQXFCO0lBQ3JGLElBQU1HLFFBQVFDLHFDQUFxQ04sS0FBS0Usd0JBQ2xESyxnQkFBZ0JULGdCQUFnQkcsNEJBQWEsRUFBRUk7SUFFckQsT0FBT0U7QUFDVDtBQUVPLFNBQVNaLHVEQUF1RGEsYUFBYSxFQUFFTixxQkFBcUI7SUFDekcsSUFBTSxBQUFFRixNQUFRQyw0QkFBYSxDQUFyQkQsS0FDRkssUUFBUUMscUNBQXFDTixLQUFLRSx3QkFDbERLLGdCQUFnQlIsZ0NBQWdDRSw0QkFBYSxFQUFFSSxPQUFPRztJQUU1RSxPQUFPRDtBQUNUO0FBRU8sU0FBU2hCLDBEQUEwRFMsR0FBRyxFQUFFUSxhQUFhLEVBQUVOLHFCQUFxQjtJQUNqSCxJQUFNRyxRQUFRQyxxQ0FBcUNOLEtBQUtFLHdCQUNsREssZ0JBQWdCUixnQ0FBZ0NFLDRCQUFhLEVBQUVJLE9BQU9HO0lBRTVFLE9BQU9EO0FBQ1Q7SUFFQSxXQUFlO0lBQ2JkLDBCQUFBQTtJQUNBQyxnQ0FBQUE7SUFDQUYsd0NBQUFBO0lBQ0FGLDhDQUFBQTtJQUNBSyx3REFBQUE7SUFDQUosMkRBQUFBO0FBQ0Y7QUFFQSxTQUFTZSxxQ0FBcUNOLEdBQUcsRUFBRUUscUJBQXFCO0lBQ3RFLElBQUlHLFFBQVFULGFBQWFJO0lBRXpCLElBQU1TLDZCQUE2QlAsc0JBQXNCUSxRQUFRO0lBRWpFTCxRQUFRLEFBQ04scUJBQUdBLGNBQ0gscUJBQUdJO0lBR0xKLFFBQVFNLElBQUFBLDZDQUFzQixFQUFDTixRQUFTLEdBQUc7SUFFM0MsT0FBT0E7QUFDVCJ9
|
package/package.json
CHANGED
package/src/utilities/lexers.js
CHANGED
|
@@ -7,44 +7,26 @@ import CombinedCustomGrammar from "../customGrammar/combined";
|
|
|
7
7
|
|
|
8
8
|
const { lexerFromRules, rulesFromEntries } = lexerUtilities;
|
|
9
9
|
|
|
10
|
-
export function nominalLexerFromNothing(
|
|
11
|
-
|
|
12
|
-
Class = NominalLexer; ///
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
const { entries } = Class,
|
|
10
|
+
export function nominalLexerFromNothing() {
|
|
11
|
+
const { entries } = NominalLexer,
|
|
16
12
|
combinedCustomGrammar = CombinedCustomGrammar.fromNothing(),
|
|
17
13
|
rules = rulesFromEntriesAndCombinedCustomGrammar(entries, combinedCustomGrammar),
|
|
18
|
-
nominalLexer = lexerFromRules(
|
|
14
|
+
nominalLexer = lexerFromRules(NominalLexer, rules);
|
|
19
15
|
|
|
20
16
|
return nominalLexer;
|
|
21
17
|
}
|
|
22
18
|
|
|
23
|
-
export function nominalLexerFromCombinedCustomGrammar(
|
|
24
|
-
|
|
25
|
-
combinedCustomGrammar = Class; ///
|
|
26
|
-
|
|
27
|
-
Class = NominalLexer; ///
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
const { entries } = Class,
|
|
19
|
+
export function nominalLexerFromCombinedCustomGrammar(combinedCustomGrammar) {
|
|
20
|
+
const { entries } = NominalLexer,
|
|
31
21
|
rules = rulesFromEntriesAndCombinedCustomGrammar(entries, combinedCustomGrammar),
|
|
32
|
-
nominalLexer = lexerFromRules(
|
|
22
|
+
nominalLexer = lexerFromRules(NominalLexer, rules);
|
|
33
23
|
|
|
34
24
|
return nominalLexer;
|
|
35
25
|
}
|
|
36
26
|
|
|
37
|
-
export function nominalLexerFromEntriesAndCombinedCustomGrammar(
|
|
38
|
-
if (combinedCustomGrammar === undefined) {
|
|
39
|
-
combinedCustomGrammar = entries; ///
|
|
40
|
-
|
|
41
|
-
entries = Class; ///
|
|
42
|
-
|
|
43
|
-
Class = NominalLexer; ///
|
|
44
|
-
}
|
|
45
|
-
|
|
27
|
+
export function nominalLexerFromEntriesAndCombinedCustomGrammar(entries, combinedCustomGrammar) {
|
|
46
28
|
const rules = rulesFromEntriesAndCombinedCustomGrammar(entries, combinedCustomGrammar),
|
|
47
|
-
nominalLexer = lexerFromRules(
|
|
29
|
+
nominalLexer = lexerFromRules(NominalLexer, rules);
|
|
48
30
|
|
|
49
31
|
return nominalLexer;
|
|
50
32
|
}
|
package/src/utilities/parsers.js
CHANGED
|
@@ -8,92 +8,50 @@ import CombinedCustomGrammar from "../customGrammar/combined";
|
|
|
8
8
|
|
|
9
9
|
const { rulesFromBNF, parserFromRules, parserFromRulesAndStartRuleName } = parserUtilities;
|
|
10
10
|
|
|
11
|
-
export function nominalParserFromNothing(
|
|
12
|
-
|
|
13
|
-
Class = NominalParser; ///
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
const { bnf } = Class,
|
|
11
|
+
export function nominalParserFromNothing() {
|
|
12
|
+
const { bnf } = NominalParser,
|
|
17
13
|
combinedCustomGrammar = CombinedCustomGrammar.fromNothing(),
|
|
18
14
|
rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar),
|
|
19
|
-
nominalParser = parserFromRules(
|
|
15
|
+
nominalParser = parserFromRules(NominalParser, rules);
|
|
20
16
|
|
|
21
17
|
return nominalParser;
|
|
22
18
|
}
|
|
23
19
|
|
|
24
|
-
export function nominalParserFromStartRuleName(
|
|
25
|
-
|
|
26
|
-
startRuleName = Class; ///
|
|
27
|
-
|
|
28
|
-
Class = NominalParser; ///
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
const { bnf } = Class,
|
|
20
|
+
export function nominalParserFromStartRuleName(startRuleName) {
|
|
21
|
+
const { bnf } = NominalParser,
|
|
32
22
|
combinedCustomGrammar = CombinedCustomGrammar.fromNothing(),
|
|
33
23
|
rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar),
|
|
34
|
-
nominalParser = parserFromRulesAndStartRuleName(
|
|
24
|
+
nominalParser = parserFromRulesAndStartRuleName(NominalParser, rules, startRuleName);
|
|
35
25
|
|
|
36
26
|
return nominalParser;
|
|
37
27
|
}
|
|
38
28
|
|
|
39
|
-
export function nominalParserFromCombinedCustomGrammar(
|
|
40
|
-
|
|
41
|
-
combinedCustomGrammar = Class; ///
|
|
42
|
-
|
|
43
|
-
Class = NominalParser; ///
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
const { bnf } = Class,
|
|
29
|
+
export function nominalParserFromCombinedCustomGrammar(combinedCustomGrammar) {
|
|
30
|
+
const { bnf } = NominalParser,
|
|
47
31
|
rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar),
|
|
48
|
-
nominalParser = parserFromRules(
|
|
32
|
+
nominalParser = parserFromRules(NominalParser, rules);
|
|
49
33
|
|
|
50
34
|
return nominalParser;
|
|
51
35
|
}
|
|
52
36
|
|
|
53
|
-
export function nominalParserFromBNFAndCombinedCustomGrammar(
|
|
54
|
-
if (combinedCustomGrammar === undefined) {
|
|
55
|
-
combinedCustomGrammar = bnf; ///
|
|
56
|
-
|
|
57
|
-
bnf = Class; ///
|
|
58
|
-
|
|
59
|
-
Class = NominalParser; ///
|
|
60
|
-
}
|
|
61
|
-
|
|
37
|
+
export function nominalParserFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar) {
|
|
62
38
|
const rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar),
|
|
63
|
-
nominalParser = parserFromRules(
|
|
39
|
+
nominalParser = parserFromRules(NominalParser, rules);
|
|
64
40
|
|
|
65
41
|
return nominalParser;
|
|
66
42
|
}
|
|
67
43
|
|
|
68
|
-
export function nominalParserFromStartRuleNameAndCombinedCustomGrammar(
|
|
69
|
-
|
|
70
|
-
combinedCustomGrammar = startRuleName; ///
|
|
71
|
-
|
|
72
|
-
startRuleName = Class; ///
|
|
73
|
-
|
|
74
|
-
Class = NominalParser; ///
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
const { bnf } = Class,
|
|
44
|
+
export function nominalParserFromStartRuleNameAndCombinedCustomGrammar(startRuleName, combinedCustomGrammar) {
|
|
45
|
+
const { bnf } = NominalParser,
|
|
78
46
|
rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar),
|
|
79
|
-
nominalParser = parserFromRulesAndStartRuleName(
|
|
47
|
+
nominalParser = parserFromRulesAndStartRuleName(NominalParser, rules, startRuleName);
|
|
80
48
|
|
|
81
49
|
return nominalParser;
|
|
82
50
|
}
|
|
83
51
|
|
|
84
|
-
export function nominalParserFromBNFStartRuleNameAndCombinedCustomGrammar(
|
|
85
|
-
if (combinedCustomGrammar === undefined) {
|
|
86
|
-
combinedCustomGrammar = startRuleName; ///
|
|
87
|
-
|
|
88
|
-
startRuleName = bnf; ///
|
|
89
|
-
|
|
90
|
-
bnf = Class; ///
|
|
91
|
-
|
|
92
|
-
Class = NominalParser; ///
|
|
93
|
-
}
|
|
94
|
-
|
|
52
|
+
export function nominalParserFromBNFStartRuleNameAndCombinedCustomGrammar(bnf, startRuleName, combinedCustomGrammar) {
|
|
95
53
|
const rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar),
|
|
96
|
-
nominalParser = parserFromRulesAndStartRuleName(
|
|
54
|
+
nominalParser = parserFromRulesAndStartRuleName(NominalParser, rules, startRuleName);
|
|
97
55
|
|
|
98
56
|
return nominalParser;
|
|
99
57
|
}
|