occam-custom-grammars 5.0.310 → 5.0.312
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 +24 -26
- package/lib/combinedCustomGrammar.js +23 -25
- package/package.json +2 -2
- package/src/combinedCustomGrammar.js +34 -36
|
@@ -85,6 +85,10 @@ var CombinedCustomGrammar = /*#__PURE__*/ function() {
|
|
|
85
85
|
{
|
|
86
86
|
key: "fromCustomGrammars",
|
|
87
87
|
value: function fromCustomGrammars(customGrammars) {
|
|
88
|
+
var defaultCustomGrammar = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : defaultCustomGrammar;
|
|
89
|
+
customGrammars = [
|
|
90
|
+
defaultCustomGrammar
|
|
91
|
+
].concat(_toConsumableArray(customGrammars)); ///
|
|
88
92
|
var rules = rulesFromCustomGrammarsAndDefaultBNF(customGrammars), entries = entriesFromCustomGrammars(customGrammars), combinedCustomGrammar = new CombinedCustomGrammar(rules, entries);
|
|
89
93
|
return combinedCustomGrammar;
|
|
90
94
|
}
|
|
@@ -92,10 +96,25 @@ var CombinedCustomGrammar = /*#__PURE__*/ function() {
|
|
|
92
96
|
]);
|
|
93
97
|
return CombinedCustomGrammar;
|
|
94
98
|
}();
|
|
99
|
+
function rulesFromCustomGrammarsAndDefaultBNF(customGrammars) {
|
|
100
|
+
var bnfs = customGrammars.map(function(customGrammar) {
|
|
101
|
+
var bnf = customGrammar.getBNF();
|
|
102
|
+
return bnf;
|
|
103
|
+
}), bnf = bnfs.join(_constants.EMPTY_STRING), rules = rulesFromBNF(bnf);
|
|
104
|
+
combineRules(rules);
|
|
105
|
+
return rules;
|
|
106
|
+
}
|
|
107
|
+
function entriesFromCustomGrammars(customGrammars) {
|
|
108
|
+
var patternNames = [
|
|
109
|
+
_patternNames.TYPE_PATTERN_NAME,
|
|
110
|
+
_patternNames.OPERATOR_PATTERN_NAME
|
|
111
|
+
], entries = patternNames.map(function(patternName) {
|
|
112
|
+
var entry = entryFromCustomGrammars(customGrammars, patternName);
|
|
113
|
+
return entry;
|
|
114
|
+
});
|
|
115
|
+
return entries;
|
|
116
|
+
}
|
|
95
117
|
function entryFromCustomGrammars(customGrammars, patternName) {
|
|
96
|
-
customGrammars = [
|
|
97
|
-
_defaultCustomGrammar.default
|
|
98
|
-
].concat(_toConsumableArray(customGrammars)); ///
|
|
99
118
|
var patterns = customGrammars.reduce(function(patterns, customGrammar) {
|
|
100
119
|
var pattern = customGrammar.getPattern(patternName);
|
|
101
120
|
if (pattern) {
|
|
@@ -133,26 +152,5 @@ function combineRules(rules) {
|
|
|
133
152
|
length = rules.length;
|
|
134
153
|
}
|
|
135
154
|
}
|
|
136
|
-
function entriesFromCustomGrammars(customGrammars) {
|
|
137
|
-
var patternNames = [
|
|
138
|
-
_patternNames.TYPE_PATTERN_NAME,
|
|
139
|
-
_patternNames.OPERATOR_PATTERN_NAME
|
|
140
|
-
], entries = patternNames.map(function(patternName) {
|
|
141
|
-
var entry = entryFromCustomGrammars(customGrammars, patternName);
|
|
142
|
-
return entry;
|
|
143
|
-
});
|
|
144
|
-
return entries;
|
|
145
|
-
}
|
|
146
|
-
function rulesFromCustomGrammarsAndDefaultBNF(customGrammars) {
|
|
147
|
-
customGrammars = [
|
|
148
|
-
_defaultCustomGrammar.default
|
|
149
|
-
].concat(_toConsumableArray(customGrammars)); ///
|
|
150
|
-
var bnfs = customGrammars.map(function(customGrammar) {
|
|
151
|
-
var bnf = customGrammar.getBNF();
|
|
152
|
-
return bnf;
|
|
153
|
-
}), bnf = bnfs.join(_constants.EMPTY_STRING), rules = rulesFromBNF(bnf);
|
|
154
|
-
combineRules(rules);
|
|
155
|
-
return rules;
|
|
156
|
-
}
|
|
157
155
|
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21iaW5lZEN1c3RvbUdyYW1tYXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IHBhcnNlclV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1wYXJzZXJzXCI7XG5cbmltcG9ydCBkZWZhdWx0Q3VzdG9tR3JhbW1hciBmcm9tIFwiLi9kZWZhdWx0Q3VzdG9tR3JhbW1hclwiO1xuXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcsIFZFUlRJQ0FMX0JBUiB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgVFlQRV9QQVRURVJOX05BTUUsIE9QRVJBVE9SX1BBVFRFUk5fTkFNRSB9IGZyb20gXCIuL3BhdHRlcm5OYW1lc1wiO1xuXG5jb25zdCB7IHJ1bGVzRnJvbUJORiB9ID0gcGFyc2VyVXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb21iaW5lZEN1c3RvbUdyYW1tYXIge1xuICBjb25zdHJ1Y3RvcihydWxlcywgZW50cmllcykge1xuICAgIHRoaXMucnVsZXMgPSBydWxlcztcbiAgICB0aGlzLmVudHJpZXMgPSBlbnRyaWVzO1xuICB9XG4gIFxuICBnZXRSdWxlcygpIHtcbiAgICByZXR1cm4gdGhpcy5ydWxlcztcbiAgfVxuXG4gIGdldEVudHJpZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZW50cmllcztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQ3VzdG9tR3JhbW1hcnMoY3VzdG9tR3JhbW1hcnMpIHtcbiAgICBjb25zdCBydWxlcyA9IHJ1bGVzRnJvbUN1c3RvbUdyYW1tYXJzQW5kRGVmYXVsdEJORihjdXN0b21HcmFtbWFycyksXG4gICAgICAgICAgZW50cmllcyA9IGVudHJpZXNGcm9tQ3VzdG9tR3JhbW1hcnMoY3VzdG9tR3JhbW1hcnMpLFxuICAgICAgICAgIGNvbWJpbmVkQ3VzdG9tR3JhbW1hciA9IG5ldyBDb21iaW5lZEN1c3RvbUdyYW1tYXIocnVsZXMsIGVudHJpZXMpO1xuICAgIFxuICAgIHJldHVybiBjb21iaW5lZEN1c3RvbUdyYW1tYXI7XG4gIH1cbn1cblxuZnVuY3Rpb24gZW50cnlGcm9tQ3VzdG9tR3JhbW1hcnMoY3VzdG9tR3JhbW1hcnMsIHBhdHRlcm5OYW1lKSB7XG4gIGN1c3RvbUdyYW1tYXJzID0gWyBkZWZhdWx0Q3VzdG9tR3JhbW1hciwgLi4uY3VzdG9tR3JhbW1hcnMgXTsgLy8vXG5cbiAgY29uc3QgcGF0dGVybnMgPSBjdXN0b21HcmFtbWFycy5yZWR1Y2UoKHBhdHRlcm5zLCBjdXN0b21HcmFtbWFyKSA9PiB7XG4gICAgY29uc3QgcGF0dGVybiA9IGN1c3RvbUdyYW1tYXIuZ2V0UGF0dGVybihwYXR0ZXJuTmFtZSk7XG5cbiAgICBpZiAocGF0dGVybikgeyAgLy8vXG4gICAgICBwYXR0ZXJucy5wdXNoKHBhdHRlcm4pO1xuICAgIH1cblxuICAgIHJldHVybiBwYXR0ZXJucztcbiAgfSwgW10pO1xuXG4gIHBhdHRlcm5zLnJldmVyc2UoKTtcblxuICBjb25zdCBwYXR0ZXJuc1N0cmluZyA9IHBhdHRlcm5zLmpvaW4oVkVSVElDQUxfQkFSKSwgLy8vXG4gICAgICAgIHBhdHRlcm4gPSAocGF0dGVybk5hbWUgPT09IFRZUEVfUEFUVEVSTl9OQU1FKSA/XG4gICAgICAgICAgICAgICAgICAgIGBeKD86JHtwYXR0ZXJuc1N0cmluZ30pXFxcXGJgIDpcbiAgICAgICAgICAgICAgICAgICAgICBgXig/OiR7cGF0dGVybnNTdHJpbmd9KWA7XG5cbiAgY29uc3QgZW50cnkgPSB7fTtcblxuICBlbnRyeVtwYXR0ZXJuTmFtZV0gPSBwYXR0ZXJuO1xuXG4gIHJldHVybiBlbnRyeTtcbn1cblxuZnVuY3Rpb24gY29tYmluZVJ1bGVzKHJ1bGVzKSB7XG4gIGxldCBvdXRlckluZGV4ID0gMCxcbiAgICAgICAgbGVuZ3RoID0gcnVsZXMubGVuZ3RoO1xuXG4gIHdoaWxlIChvdXRlckluZGV4IDwgbGVuZ3RoKSB7XG4gICAgY29uc3Qgb3V0ZXJSdWxlID0gcnVsZXNbb3V0ZXJJbmRleF0sXG4gICAgICAgICAgb3V0ZXJSdWxlTmFtZSA9IG91dGVyUnVsZS5nZXROYW1lKCk7XG5cbiAgICBsZXQgb3V0ZXJSdWxlRGVmaW5pdGlvbnMgPSBvdXRlclJ1bGUuZ2V0RGVmaW5pdGlvbnMoKTtcblxuICAgIGxldCBpbm5lckluZGV4ID0gb3V0ZXJJbmRleCArIDE7XG5cbiAgICB3aGlsZSAoaW5uZXJJbmRleCA8IGxlbmd0aCkge1xuICAgICAgY29uc3QgaW5uZXJSdWxlID0gcnVsZXNbaW5uZXJJbmRleF0sXG4gICAgICAgICAgICBpbm5lclJ1bGVOYW1lID0gaW5uZXJSdWxlLmdldE5hbWUoKTtcblxuICAgICAgaWYgKGlubmVyUnVsZU5hbWUgPT09IG91dGVyUnVsZU5hbWUpIHtcbiAgICAgICAgY29uc3QgaW5uZXJSdWxlRGVmaW5pdGlvbnMgPSBpbm5lclJ1bGUuZ2V0RGVmaW5pdGlvbnMoKTtcblxuICAgICAgICBvdXRlclJ1bGVEZWZpbml0aW9ucyA9IFsgIC8vL1xuICAgICAgICAgIC4uLmlubmVyUnVsZURlZmluaXRpb25zLFxuICAgICAgICAgIC4uLm91dGVyUnVsZURlZmluaXRpb25zXG4gICAgICAgIF07XG5cbiAgICAgICAgb3V0ZXJSdWxlLnJlcGxhY2VBbGxEZWZpbml0aW9ucyguLi5vdXRlclJ1bGVEZWZpbml0aW9ucyk7XG5cbiAgICAgICAgY29uc3Qgc3RhcnQgPSBpbm5lckluZGV4LCAvLy9cbiAgICAgICAgICAgICAgZGVsZXRlQ291bnQgPSAxO1xuXG4gICAgICAgIHJ1bGVzLnNwbGljZShzdGFydCwgZGVsZXRlQ291bnQpO1xuXG4gICAgICAgIGxlbmd0aCA9IHJ1bGVzLmxlbmd0aDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlubmVySW5kZXgrKztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBvdXRlckluZGV4Kys7XG5cbiAgICBsZW5ndGggPSBydWxlcy5sZW5ndGg7XG4gIH1cbn1cblxuZnVuY3Rpb24gZW50cmllc0Zyb21DdXN0b21HcmFtbWFycyhjdXN0b21HcmFtbWFycykge1xuICBjb25zdCBwYXR0ZXJuTmFtZXMgPSBbXG4gICAgICAgICAgVFlQRV9QQVRURVJOX05BTUUsXG4gICAgICAgICAgT1BFUkFUT1JfUEFUVEVSTl9OQU1FXG4gICAgICAgIF0sXG4gICAgICAgIGVudHJpZXMgPSBwYXR0ZXJuTmFtZXMubWFwKChwYXR0ZXJuTmFtZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGVudHJ5ID0gZW50cnlGcm9tQ3VzdG9tR3JhbW1hcnMoY3VzdG9tR3JhbW1hcnMsIHBhdHRlcm5OYW1lKTtcblxuICAgICAgICAgIHJldHVybiBlbnRyeTtcbiAgICAgICB9KTtcblxuICByZXR1cm4gZW50cmllcztcbn1cblxuZnVuY3Rpb24gcnVsZXNGcm9tQ3VzdG9tR3JhbW1hcnNBbmREZWZhdWx0Qk5GKGN1c3RvbUdyYW1tYXJzKSB7XG4gIGN1c3RvbUdyYW1tYXJzID0gWyBkZWZhdWx0Q3VzdG9tR3JhbW1hciwgLi4uY3VzdG9tR3JhbW1hcnMgXTsgLy8vXG5cbiAgY29uc3QgYm5mcyA9IGN1c3RvbUdyYW1tYXJzLm1hcCgoY3VzdG9tR3JhbW1hcikgPT4ge1xuICAgICAgICAgIGNvbnN0IGJuZiA9IGN1c3RvbUdyYW1tYXIuZ2V0Qk5GKCk7XG5cbiAgICAgICAgICByZXR1cm4gYm5mO1xuICAgICAgICB9KSxcbiAgICAgICAgYm5mID0gYm5mcy5qb2luKEVNUFRZX1NUUklORyksXG4gICAgICAgIHJ1bGVzID0gcnVsZXNGcm9tQk5GKGJuZik7XG5cbiAgY29tYmluZVJ1bGVzKHJ1bGVzKVxuXG4gIHJldHVybiBydWxlcztcbn1cbiJdLCJuYW1lcyI6WyJDb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJydWxlc0Zyb21CTkYiLCJwYXJzZXJVdGlsaXRpZXMiLCJydWxlcyIsImVudHJpZXMiLCJnZXRSdWxlcyIsImdldEVudHJpZXMiLCJmcm9tQ3VzdG9tR3JhbW1hcnMiLCJjdXN0b21HcmFtbWFycyIsInJ1bGVzRnJvbUN1c3RvbUdyYW1tYXJzQW5kRGVmYXVsdEJORiIsImVudHJpZXNGcm9tQ3VzdG9tR3JhbW1hcnMiLCJjb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJlbnRyeUZyb21DdXN0b21HcmFtbWFycyIsInBhdHRlcm5OYW1lIiwiZGVmYXVsdEN1c3RvbUdyYW1tYXIiLCJwYXR0ZXJucyIsInJlZHVjZSIsImN1c3RvbUdyYW1tYXIiLCJwYXR0ZXJuIiwiZ2V0UGF0dGVybiIsInB1c2giLCJyZXZlcnNlIiwicGF0dGVybnNTdHJpbmciLCJqb2luIiwiVkVSVElDQUxfQkFSIiwiVFlQRV9QQVRURVJOX05BTUUiLCJlbnRyeSIsImNvbWJpbmVSdWxlcyIsIm91dGVySW5kZXgiLCJsZW5ndGgiLCJvdXRlclJ1bGUiLCJvdXRlclJ1bGVOYW1lIiwiZ2V0TmFtZSIsIm91dGVyUnVsZURlZmluaXRpb25zIiwiZ2V0RGVmaW5pdGlvbnMiLCJpbm5lckluZGV4IiwiaW5uZXJSdWxlIiwiaW5uZXJSdWxlTmFtZSIsImlubmVyUnVsZURlZmluaXRpb25zIiwicmVwbGFjZUFsbERlZmluaXRpb25zIiwic3RhcnQiLCJkZWxldGVDb3VudCIsInNwbGljZSIsInBhdHRlcm5OYW1lcyIsIk9QRVJBVE9SX1BBVFRFUk5fTkFNRSIsIm1hcCIsImJuZnMiLCJibmYiLCJnZXRCTkYiLCJFTVBUWV9TVFJJTkciXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7Ozs7OztlQVdRQSxxQkFBcUI7Ozs0QkFUVixlQUFlO3lFQUVkLHdCQUF3Qjt5QkFFZCxhQUFhOzRCQUNDLGdCQUFnQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFekUsSUFBTSxBQUFFQyxZQUFZLEdBQUtDLGFBQWUsZ0JBQUEsQ0FBaENELFlBQVksQUFBb0IsQUFBQztBQUUxQixJQUFBLEFBQU1ELHFCQUFxQixpQkF1QnZDLEFBdkJZO2FBQU1BLHFCQUFxQixDQUM1QkcsS0FBSyxFQUFFQyxPQUFPOzhCQURQSixxQkFBcUI7UUFFdEMsSUFBSSxDQUFDRyxL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
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21iaW5lZEN1c3RvbUdyYW1tYXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IHBhcnNlclV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1wYXJzZXJzXCI7XG5cbmltcG9ydCBkZWZhdWx0Q3VzdG9tR3JhbW1hciBmcm9tIFwiLi9kZWZhdWx0Q3VzdG9tR3JhbW1hclwiO1xuXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcsIFZFUlRJQ0FMX0JBUiB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgVFlQRV9QQVRURVJOX05BTUUsIE9QRVJBVE9SX1BBVFRFUk5fTkFNRSB9IGZyb20gXCIuL3BhdHRlcm5OYW1lc1wiO1xuXG5jb25zdCB7IHJ1bGVzRnJvbUJORiB9ID0gcGFyc2VyVXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb21iaW5lZEN1c3RvbUdyYW1tYXIge1xuICBjb25zdHJ1Y3RvcihydWxlcywgZW50cmllcykge1xuICAgIHRoaXMucnVsZXMgPSBydWxlcztcbiAgICB0aGlzLmVudHJpZXMgPSBlbnRyaWVzO1xuICB9XG4gIFxuICBnZXRSdWxlcygpIHtcbiAgICByZXR1cm4gdGhpcy5ydWxlcztcbiAgfVxuXG4gIGdldEVudHJpZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZW50cmllcztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQ3VzdG9tR3JhbW1hcnMoY3VzdG9tR3JhbW1hcnMsIGRlZmF1bHRDdXN0b21HcmFtbWFyID0gZGVmYXVsdEN1c3RvbUdyYW1tYXIpIHtcbiAgICBjdXN0b21HcmFtbWFycyA9IFsgZGVmYXVsdEN1c3RvbUdyYW1tYXIsIC4uLmN1c3RvbUdyYW1tYXJzIF07IC8vL1xuXG4gICAgY29uc3QgcnVsZXMgPSBydWxlc0Zyb21DdXN0b21HcmFtbWFyc0FuZERlZmF1bHRCTkYoY3VzdG9tR3JhbW1hcnMpLFxuICAgICAgICAgIGVudHJpZXMgPSBlbnRyaWVzRnJvbUN1c3RvbUdyYW1tYXJzKGN1c3RvbUdyYW1tYXJzKSxcbiAgICAgICAgICBjb21iaW5lZEN1c3RvbUdyYW1tYXIgPSBuZXcgQ29tYmluZWRDdXN0b21HcmFtbWFyKHJ1bGVzLCBlbnRyaWVzKTtcbiAgICBcbiAgICByZXR1cm4gY29tYmluZWRDdXN0b21HcmFtbWFyO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJ1bGVzRnJvbUN1c3RvbUdyYW1tYXJzQW5kRGVmYXVsdEJORihjdXN0b21HcmFtbWFycykge1xuICBjb25zdCBibmZzID0gY3VzdG9tR3JhbW1hcnMubWFwKChjdXN0b21HcmFtbWFyKSA9PiB7XG4gICAgICAgICAgY29uc3QgYm5mID0gY3VzdG9tR3JhbW1hci5nZXRCTkYoKTtcblxuICAgICAgICAgIHJldHVybiBibmY7XG4gICAgICAgIH0pLFxuICAgICAgICBibmYgPSBibmZzLmpvaW4oRU1QVFlfU1RSSU5HKSxcbiAgICAgICAgcnVsZXMgPSBydWxlc0Zyb21CTkYoYm5mKTtcblxuICBjb21iaW5lUnVsZXMocnVsZXMpXG5cbiAgcmV0dXJuIHJ1bGVzO1xufVxuXG5mdW5jdGlvbiBlbnRyaWVzRnJvbUN1c3RvbUdyYW1tYXJzKGN1c3RvbUdyYW1tYXJzKSB7XG4gIGNvbnN0IHBhdHRlcm5OYW1lcyA9IFtcbiAgICAgICAgICBUWVBFX1BBVFRFUk5fTkFNRSxcbiAgICAgICAgICBPUEVSQVRPUl9QQVRURVJOX05BTUVcbiAgICAgICAgXSxcbiAgICAgICAgZW50cmllcyA9IHBhdHRlcm5OYW1lcy5tYXAoKHBhdHRlcm5OYW1lKSA9PiB7XG4gICAgICAgICAgY29uc3QgZW50cnkgPSBlbnRyeUZyb21DdXN0b21HcmFtbWFycyhjdXN0b21HcmFtbWFycywgcGF0dGVybk5hbWUpO1xuXG4gICAgICAgICAgcmV0dXJuIGVudHJ5O1xuICAgICAgICB9KTtcblxuICByZXR1cm4gZW50cmllcztcbn1cblxuZnVuY3Rpb24gZW50cnlGcm9tQ3VzdG9tR3JhbW1hcnMoY3VzdG9tR3JhbW1hcnMsIHBhdHRlcm5OYW1lKSB7XG4gIGNvbnN0IHBhdHRlcm5zID0gY3VzdG9tR3JhbW1hcnMucmVkdWNlKChwYXR0ZXJucywgY3VzdG9tR3JhbW1hcikgPT4ge1xuICAgIGNvbnN0IHBhdHRlcm4gPSBjdXN0b21HcmFtbWFyLmdldFBhdHRlcm4ocGF0dGVybk5hbWUpO1xuXG4gICAgaWYgKHBhdHRlcm4pIHsgIC8vL1xuICAgICAgcGF0dGVybnMucHVzaChwYXR0ZXJuKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcGF0dGVybnM7XG4gIH0sIFtdKTtcblxuICBwYXR0ZXJucy5yZXZlcnNlKCk7XG5cbiAgY29uc3QgcGF0dGVybnNTdHJpbmcgPSBwYXR0ZXJucy5qb2luKFZFUlRJQ0FMX0JBUiksIC8vL1xuICAgICAgICBwYXR0ZXJuID0gKHBhdHRlcm5OYW1lID09PSBUWVBFX1BBVFRFUk5fTkFNRSkgP1xuICAgICAgICAgICAgICAgICAgIGBeKD86JHtwYXR0ZXJuc1N0cmluZ30pXFxcXGJgIDpcbiAgICAgICAgICAgICAgICAgICAgIGBeKD86JHtwYXR0ZXJuc1N0cmluZ30pYDtcblxuICBjb25zdCBlbnRyeSA9IHt9O1xuXG4gIGVudHJ5W3BhdHRlcm5OYW1lXSA9IHBhdHRlcm47XG5cbiAgcmV0dXJuIGVudHJ5O1xufVxuXG5mdW5jdGlvbiBjb21iaW5lUnVsZXMocnVsZXMpIHtcbiAgbGV0IG91dGVySW5kZXggPSAwLFxuICAgICAgbGVuZ3RoID0gcnVsZXMubGVuZ3RoO1xuXG4gIHdoaWxlIChvdXRlckluZGV4IDwgbGVuZ3RoKSB7XG4gICAgY29uc3Qgb3V0ZXJSdWxlID0gcnVsZXNbb3V0ZXJJbmRleF0sXG4gICAgICAgICAgb3V0ZXJSdWxlTmFtZSA9IG91dGVyUnVsZS5nZXROYW1lKCk7XG5cbiAgICBsZXQgb3V0ZXJSdWxlRGVmaW5pdGlvbnMgPSBvdXRlclJ1bGUuZ2V0RGVmaW5pdGlvbnMoKTtcblxuICAgIGxldCBpbm5lckluZGV4ID0gb3V0ZXJJbmRleCArIDE7XG5cbiAgICB3aGlsZSAoaW5uZXJJbmRleCA8IGxlbmd0aCkge1xuICAgICAgY29uc3QgaW5uZXJSdWxlID0gcnVsZXNbaW5uZXJJbmRleF0sXG4gICAgICAgICAgICBpbm5lclJ1bGVOYW1lID0gaW5uZXJSdWxlLmdldE5hbWUoKTtcblxuICAgICAgaWYgKGlubmVyUnVsZU5hbWUgPT09IG91dGVyUnVsZU5hbWUpIHtcbiAgICAgICAgY29uc3QgaW5uZXJSdWxlRGVmaW5pdGlvbnMgPSBpbm5lclJ1bGUuZ2V0RGVmaW5pdGlvbnMoKTtcblxuICAgICAgICBvdXRlclJ1bGVEZWZpbml0aW9ucyA9IFsgIC8vL1xuICAgICAgICAgIC4uLmlubmVyUnVsZURlZmluaXRpb25zLFxuICAgICAgICAgIC4uLm91dGVyUnVsZURlZmluaXRpb25zXG4gICAgICAgIF07XG5cbiAgICAgICAgb3V0ZXJSdWxlLnJlcGxhY2VBbGxEZWZpbml0aW9ucyguLi5vdXRlclJ1bGVEZWZpbml0aW9ucyk7XG5cbiAgICAgICAgY29uc3Qgc3RhcnQgPSBpbm5lckluZGV4LCAvLy9cbiAgICAgICAgICAgICAgZGVsZXRlQ291bnQgPSAxO1xuXG4gICAgICAgIHJ1bGVzLnNwbGljZShzdGFydCwgZGVsZXRlQ291bnQpO1xuXG4gICAgICAgIGxlbmd0aCA9IHJ1bGVzLmxlbmd0aDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlubmVySW5kZXgrKztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBvdXRlckluZGV4Kys7XG5cbiAgICBsZW5ndGggPSBydWxlcy5sZW5ndGg7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJDb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJydWxlc0Zyb21CTkYiLCJwYXJzZXJVdGlsaXRpZXMiLCJydWxlcyIsImVudHJpZXMiLCJnZXRSdWxlcyIsImdldEVudHJpZXMiLCJmcm9tQ3VzdG9tR3JhbW1hcnMiLCJjdXN0b21HcmFtbWFycyIsImRlZmF1bHRDdXN0b21HcmFtbWFyIiwicnVsZXNGcm9tQ3VzdG9tR3JhbW1hcnNBbmREZWZhdWx0Qk5GIiwiZW50cmllc0Zyb21DdXN0b21HcmFtbWFycyIsImNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsImJuZnMiLCJtYXAiLCJjdXN0b21HcmFtbWFyIiwiYm5mIiwiZ2V0Qk5GIiwiam9pbiIsIkVNUFRZX1NUUklORyIsImNvbWJpbmVSdWxlcyIsInBhdHRlcm5OYW1lcyIsIlRZUEVfUEFUVEVSTl9OQU1FIiwiT1BFUkFUT1JfUEFUVEVSTl9OQU1FIiwicGF0dGVybk5hbWUiLCJlbnRyeSIsImVudHJ5RnJvbUN1c3RvbUdyYW1tYXJzIiwicGF0dGVybnMiLCJyZWR1Y2UiLCJwYXR0ZXJuIiwiZ2V0UGF0dGVybiIsInB1c2giLCJyZXZlcnNlIiwicGF0dGVybnNTdHJpbmciLCJWRVJUSUNBTF9CQVIiLCJvdXRlckluZGV4IiwibGVuZ3RoIiwib3V0ZXJSdWxlIiwib3V0ZXJSdWxlTmFtZSIsImdldE5hbWUiLCJvdXRlclJ1bGVEZWZpbml0aW9ucyIsImdldERlZmluaXRpb25zIiwiaW5uZXJJbmRleCIsImlubmVyUnVsZSIsImlubmVyUnVsZU5hbWUiLCJpbm5lclJ1bGVEZWZpbml0aW9ucyIsInJlcGxhY2VBbGxEZWZpbml0aW9ucyIsInN0YXJ0IiwiZGVsZXRlQ291bnQiLCJzcGxpY2UiXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7Ozs7OztlQVdRQSxxQkFBcUI7Ozs0QkFUVixlQUFlO3lFQUVkLHdCQUF3Qjt5QkFFZCxhQUFhOzRCQUNDLGdCQUFnQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFekUsSUFBTSxBQUFFQyxZQUFZLEdBQUtDLGFBQWUsZ0JBQUEsQ0FBaENELFlBQVksQUFBb0IsQUFBQztBQUUxQixJQUFBLEFBQU1ELHFCQUFxQixpQkF5QnZDLEFBekJZO2FBQU1BLHFCQUFxQixDQUM1QkcsS0FBSyxFQUFFQyxPQUFPOzhCQURQSixxQkFBcUI7UUFFdEMsSUFBSSxDQUFDRyxLQUFLLEdBQUdBLEtBQUssQ0FBQztRQUNuQixJ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
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "occam-custom-grammars",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "5.0.
|
|
4
|
+
"version": "5.0.312",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-custom-grammars",
|
|
7
7
|
"description": "Occam's custom grammars.",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"necessary": "^11.0.40",
|
|
14
14
|
"occam-grammar-utilities": "^7.0.60",
|
|
15
|
-
"occam-grammars": "^1.0.
|
|
15
|
+
"occam-grammars": "^1.0.280",
|
|
16
16
|
"occam-lexers": "^16.0.59",
|
|
17
17
|
"occam-parsers": "^16.0.113"
|
|
18
18
|
},
|
|
@@ -23,7 +23,9 @@ export default class CombinedCustomGrammar {
|
|
|
23
23
|
return this.entries;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
static fromCustomGrammars(customGrammars) {
|
|
26
|
+
static fromCustomGrammars(customGrammars, defaultCustomGrammar = defaultCustomGrammar) {
|
|
27
|
+
customGrammars = [ defaultCustomGrammar, ...customGrammars ]; ///
|
|
28
|
+
|
|
27
29
|
const rules = rulesFromCustomGrammarsAndDefaultBNF(customGrammars),
|
|
28
30
|
entries = entriesFromCustomGrammars(customGrammars),
|
|
29
31
|
combinedCustomGrammar = new CombinedCustomGrammar(rules, entries);
|
|
@@ -32,9 +34,35 @@ export default class CombinedCustomGrammar {
|
|
|
32
34
|
}
|
|
33
35
|
}
|
|
34
36
|
|
|
35
|
-
function
|
|
36
|
-
|
|
37
|
+
function rulesFromCustomGrammarsAndDefaultBNF(customGrammars) {
|
|
38
|
+
const bnfs = customGrammars.map((customGrammar) => {
|
|
39
|
+
const bnf = customGrammar.getBNF();
|
|
40
|
+
|
|
41
|
+
return bnf;
|
|
42
|
+
}),
|
|
43
|
+
bnf = bnfs.join(EMPTY_STRING),
|
|
44
|
+
rules = rulesFromBNF(bnf);
|
|
45
|
+
|
|
46
|
+
combineRules(rules)
|
|
47
|
+
|
|
48
|
+
return rules;
|
|
49
|
+
}
|
|
37
50
|
|
|
51
|
+
function entriesFromCustomGrammars(customGrammars) {
|
|
52
|
+
const patternNames = [
|
|
53
|
+
TYPE_PATTERN_NAME,
|
|
54
|
+
OPERATOR_PATTERN_NAME
|
|
55
|
+
],
|
|
56
|
+
entries = patternNames.map((patternName) => {
|
|
57
|
+
const entry = entryFromCustomGrammars(customGrammars, patternName);
|
|
58
|
+
|
|
59
|
+
return entry;
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
return entries;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function entryFromCustomGrammars(customGrammars, patternName) {
|
|
38
66
|
const patterns = customGrammars.reduce((patterns, customGrammar) => {
|
|
39
67
|
const pattern = customGrammar.getPattern(patternName);
|
|
40
68
|
|
|
@@ -49,8 +77,8 @@ function entryFromCustomGrammars(customGrammars, patternName) {
|
|
|
49
77
|
|
|
50
78
|
const patternsString = patterns.join(VERTICAL_BAR), ///
|
|
51
79
|
pattern = (patternName === TYPE_PATTERN_NAME) ?
|
|
52
|
-
|
|
53
|
-
|
|
80
|
+
`^(?:${patternsString})\\b` :
|
|
81
|
+
`^(?:${patternsString})`;
|
|
54
82
|
|
|
55
83
|
const entry = {};
|
|
56
84
|
|
|
@@ -61,7 +89,7 @@ function entryFromCustomGrammars(customGrammars, patternName) {
|
|
|
61
89
|
|
|
62
90
|
function combineRules(rules) {
|
|
63
91
|
let outerIndex = 0,
|
|
64
|
-
|
|
92
|
+
length = rules.length;
|
|
65
93
|
|
|
66
94
|
while (outerIndex < length) {
|
|
67
95
|
const outerRule = rules[outerIndex],
|
|
@@ -101,33 +129,3 @@ function combineRules(rules) {
|
|
|
101
129
|
length = rules.length;
|
|
102
130
|
}
|
|
103
131
|
}
|
|
104
|
-
|
|
105
|
-
function entriesFromCustomGrammars(customGrammars) {
|
|
106
|
-
const patternNames = [
|
|
107
|
-
TYPE_PATTERN_NAME,
|
|
108
|
-
OPERATOR_PATTERN_NAME
|
|
109
|
-
],
|
|
110
|
-
entries = patternNames.map((patternName) => {
|
|
111
|
-
const entry = entryFromCustomGrammars(customGrammars, patternName);
|
|
112
|
-
|
|
113
|
-
return entry;
|
|
114
|
-
});
|
|
115
|
-
|
|
116
|
-
return entries;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
function rulesFromCustomGrammarsAndDefaultBNF(customGrammars) {
|
|
120
|
-
customGrammars = [ defaultCustomGrammar, ...customGrammars ]; ///
|
|
121
|
-
|
|
122
|
-
const bnfs = customGrammars.map((customGrammar) => {
|
|
123
|
-
const bnf = customGrammar.getBNF();
|
|
124
|
-
|
|
125
|
-
return bnf;
|
|
126
|
-
}),
|
|
127
|
-
bnf = bnfs.join(EMPTY_STRING),
|
|
128
|
-
rules = rulesFromBNF(bnf);
|
|
129
|
-
|
|
130
|
-
combineRules(rules)
|
|
131
|
-
|
|
132
|
-
return rules;
|
|
133
|
-
}
|