occam-custom-grammars 5.0.1195 → 5.0.1198
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 +11 -39
- package/lib/customGrammar/combined.js +10 -1
- package/lib/utilities/parsers.js +2 -30
- package/package.json +1 -1
- package/src/customGrammar/combined.js +12 -0
- package/src/utilities/parsers.js +1 -9
|
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "default", {
|
|
|
10
10
|
});
|
|
11
11
|
var _necessary = require("necessary");
|
|
12
12
|
var _occamparsers = require("occam-parsers");
|
|
13
|
+
var _occamgrammarutilities = require("occam-grammar-utilities");
|
|
13
14
|
var _default = /*#__PURE__*/ _interop_require_default(require("../customGrammar/default"));
|
|
14
15
|
var _constants = require("../constants");
|
|
15
16
|
var _patternNames = require("../patternNames");
|
|
@@ -94,6 +95,14 @@ var CombinedCustomGrammar = /*#__PURE__*/ function() {
|
|
|
94
95
|
value: function getEntries() {
|
|
95
96
|
return this.entries;
|
|
96
97
|
}
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
key: "postProcess",
|
|
101
|
+
value: function postProcess(rules) {
|
|
102
|
+
rules = _to_consumable_array(rules).concat(_to_consumable_array(this.rules));
|
|
103
|
+
rules = (0, _occamgrammarutilities.eliminateLeftRecursion)(rules); ///
|
|
104
|
+
return rules;
|
|
105
|
+
}
|
|
97
106
|
}
|
|
98
107
|
], [
|
|
99
108
|
{
|
|
@@ -181,4 +190,4 @@ function combineRules(rules) {
|
|
|
181
190
|
}
|
|
182
191
|
}
|
|
183
192
|
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jdXN0b21HcmFtbWFyL2NvbWJpbmVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcbmltcG9ydCB7IHBhcnNlclV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1wYXJzZXJzXCI7XG5cbmltcG9ydCBkZWZhdWx0Q3VzdG9tR3JhbW1hciBmcm9tIFwiLi4vY3VzdG9tR3JhbW1hci9kZWZhdWx0XCI7XG5cbmltcG9ydCB7IEVNUFRZX1NUUklORywgVkVSVElDQUxfQkFSIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgVFlQRV9QQVRURVJOX05BTUUsIFNZTUJPTF9QQVRURVJOX05BTUUgfSBmcm9tIFwiLi4vcGF0dGVybk5hbWVzXCI7XG5cbmNvbnN0IHsgcnVsZXNGcm9tQk5GIH0gPSBwYXJzZXJVdGlsaXRpZXMsXG4gICAgICB7IHVuc2hpZnQsIGJhY2t3YXJkc0ZvckVhY2ggfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb21iaW5lZEN1c3RvbUdyYW1tYXIge1xuICBjb25zdHJ1Y3RvcihydWxlcywgZW50cmllcykge1xuICAgIHRoaXMucnVsZXMgPSBydWxlcztcbiAgICB0aGlzLmVudHJpZXMgPSBlbnRyaWVzO1xuICB9XG4gIFxuICBnZXRSdWxlcygpIHtcbiAgICByZXR1cm4gdGhpcy5ydWxlcztcbiAgfVxuXG4gIGdldEVudHJpZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZW50cmllcztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm90aGluZyhpbmNsdWRlRGVmYXVsdCA9IHRydWUpIHtcbiAgICBsZXQgY3VzdG9tR3JhbW1hcnMgPSBbXTtcblxuICAgIGlmIChpbmNsdWRlRGVmYXVsdCkge1xuICAgICAgY3VzdG9tR3JhbW1hcnMgPSBbIGRlZmF1bHRDdXN0b21HcmFtbWFyLCAuLi5jdXN0b21HcmFtbWFycyBdOyAvLy9cbiAgICB9XG5cbiAgICBjb25zdCBydWxlcyA9IHJ1bGVzRnJvbUN1c3RvbUdyYW1tYXJzQW5kRGVmYXVsdEJORihjdXN0b21HcmFtbWFycyksXG4gICAgICAgICAgZW50cmllcyA9IGVudHJpZXNGcm9tQ3VzdG9tR3JhbW1hcnMoY3VzdG9tR3JhbW1hcnMpLFxuICAgICAgICAgIGNvbWJpbmVkQ3VzdG9tR3JhbW1hciA9IG5ldyBDb21iaW5lZEN1c3RvbUdyYW1tYXIocnVsZXMsIGVudHJpZXMpO1xuXG4gICAgcmV0dXJuIGNvbWJpbmVkQ3VzdG9tR3JhbW1hcjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQ3VzdG9tR3JhbW1hcnMoY3VzdG9tR3JhbW1hcnMsIGluY2x1ZGVEZWZhdWx0ID0gdHJ1ZSkge1xuICAgIGlmIChpbmNsdWRlRGVmYXVsdCkge1xuICAgICAgY3VzdG9tR3JhbW1hcnMgPSBbIGRlZmF1bHRDdXN0b21HcmFtbWFyLCAuLi5jdXN0b21HcmFtbWFycyBdOyAvLy9cbiAgICB9XG5cbiAgICBjb25zdCBydWxlcyA9IHJ1bGVzRnJvbUN1c3RvbUdyYW1tYXJzQW5kRGVmYXVsdEJORihjdXN0b21HcmFtbWFycyksXG4gICAgICAgICAgZW50cmllcyA9IGVudHJpZXNGcm9tQ3VzdG9tR3JhbW1hcnMoY3VzdG9tR3JhbW1hcnMpLFxuICAgICAgICAgIGNvbWJpbmVkQ3VzdG9tR3JhbW1hciA9IG5ldyBDb21iaW5lZEN1c3RvbUdyYW1tYXIocnVsZXMsIGVudHJpZXMpO1xuICAgIFxuICAgIHJldHVybiBjb21iaW5lZEN1c3RvbUdyYW1tYXI7XG4gIH1cbn1cblxuZnVuY3Rpb24gcnVsZXNGcm9tQ3VzdG9tR3JhbW1hcnNBbmREZWZhdWx0Qk5GKGN1c3RvbUdyYW1tYXJzKSB7XG4gIGNvbnN0IGJuZnMgPSBjdXN0b21HcmFtbWFycy5tYXAoKGN1c3RvbUdyYW1tYXIpID0+IHtcbiAgICAgICAgICBjb25zdCBibmYgPSBjdXN0b21HcmFtbWFyLmdldEJORigpO1xuXG4gICAgICAgICAgcmV0dXJuIGJuZjtcbiAgICAgICAgfSksXG4gICAgICAgIGJuZiA9IGJuZnMuam9pbihFTVBUWV9TVFJJTkcpLFxuICAgICAgICBydWxlcyA9IHJ1bGVzRnJvbUJORihibmYpO1xuXG4gIGNvbWJpbmVSdWxlcyhydWxlcylcblxuICByZXR1cm4gcnVsZXM7XG59XG5cbmZ1bmN0aW9uIGVudHJpZXNGcm9tQ3VzdG9tR3JhbW1hcnMoY3VzdG9tR3JhbW1hcnMpIHtcbiAgY29uc3QgcGF0dGVybk5hbWVzID0gW1xuICAgICAgICAgIFRZUEVfUEFUVEVSTl9OQU1FLFxuICAgICAgICAgIFNZTUJPTF9QQVRURVJOX05BTUVcbiAgICAgICAgXSxcbiAgICAgICAgZW50cmllcyA9IHBhdHRlcm5OYW1lcy5tYXAoKHBhdHRlcm5OYW1lKSA9PiB7XG4gICAgICAgICAgY29uc3QgZW50cnkgPSBlbnRyeUZyb21DdXN0b21HcmFtbWFycyhjdXN0b21HcmFtbWFycywgcGF0dGVybk5hbWUpO1xuXG4gICAgICAgICAgcmV0dXJuIGVudHJ5O1xuICAgICAgICB9KTtcblxuICByZXR1cm4gZW50cmllcztcbn1cblxuZnVuY3Rpb24gZW50cnlGcm9tQ3VzdG9tR3JhbW1hcnMoY3VzdG9tR3JhbW1hcnMsIHBhdHRlcm5OYW1lKSB7XG4gIGNvbnN0IHBhdHRlcm5zID0gW107XG5cbiAgYmFja3dhcmRzRm9yRWFjaChjdXN0b21HcmFtbWFycywgKGN1c3RvbUdyYW1tYXIpID0+IHtcbiAgICBjb25zdCBwYXR0ZXJuID0gY3VzdG9tR3JhbW1hci5nZXRQYXR0ZXJuKHBhdHRlcm5OYW1lKTtcblxuICAgIGlmICgocGF0dGVybiAhPT0gbnVsbCkgJiYgKHBhdHRlcm4gIT09IEVNUFRZX1NUUklORykpIHtcbiAgICAgIGNvbnN0IHN1YlBhdHRlcm5zID0gcGF0dGVybi5zcGxpdChWRVJUSUNBTF9CQVIpO1xuXG4gICAgICBzdWJQYXR0ZXJucy5mb3JFYWNoKChzdWJQYXR0ZXJuKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhdHRlcm4gPSAocGF0dGVybk5hbWUgPT09IFRZUEVfUEFUVEVSTl9OQU1FKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGAke3N1YlBhdHRlcm59KD8hXFxcXHcpYCA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YlBhdHRlcm47IC8vL1xuXG4gICAgICAgIHBhdHRlcm5zLnB1c2gocGF0dGVybik7XG4gICAgICB9KTtcbiAgICB9XG4gIH0pO1xuXG4gIGNvbnN0IHBhdHRlcm5zU3RyaW5nID0gcGF0dGVybnMuam9pbihWRVJUSUNBTF9CQVIpLFxuICAgICAgICBlbnRyeU5hbWUgPSBwYXR0ZXJuTmFtZSwgIC8vL1xuICAgICAgICBlbnRyeVZhbHVlID0gYF4oPzoke3BhdHRlcm5zU3RyaW5nfSlgLFxuICAgICAgICBlbnRyeSA9IHtcbiAgICAgICAgICBbZW50cnlOYW1lXTogZW50cnlWYWx1ZVxuICAgICAgICB9O1xuXG4gIHJldHVybiBlbnRyeTtcbn1cblxuZnVuY3Rpb24gY29tYmluZVJ1bGVzKHJ1bGVzKSB7XG4gIGxldCBvdXRlckluZGV4ID0gMCxcbiAgICAgIGxlbmd0aCA9IHJ1bGVzLmxlbmd0aDtcblxuICB3aGlsZSAob3V0ZXJJbmRleCA8IGxlbmd0aCkge1xuICAgIGNvbnN0IG91dGVyUnVsZSA9IHJ1bGVzW291dGVySW5kZXhdLFxuICAgICAgICAgIG91dGVyUnVsZU5hbWUgPSBvdXRlclJ1bGUuZ2V0TmFtZSgpO1xuXG4gICAgbGV0IGlubmVySW5kZXggPSBvdXRlckluZGV4ICsgMTtcblxuICAgIHdoaWxlIChpbm5lckluZGV4IDwgbGVuZ3RoKSB7XG4gICAgICBjb25zdCBpbm5lclJ1bGUgPSBydWxlc1tpbm5lckluZGV4XSxcbiAgICAgICAgICAgIGlubmVyUnVsZU5hbWUgPSBpbm5lclJ1bGUuZ2V0TmFtZSgpO1xuXG4gICAgICBpZiAoaW5uZXJSdWxlTmFtZSA9PT0gb3V0ZXJSdWxlTmFtZSkge1xuICAgICAgICBjb25zdCBpbm5lclJ1bGVEZWZpbml0aW9ucyA9IGlubmVyUnVsZS5nZXREZWZpbml0aW9ucygpLFxuICAgICAgICAgICAgICBvdXRlclJ1bGVEZWZpbml0aW9ucyA9IG91dGVyUnVsZS5nZXREZWZpbml0aW9ucygpO1xuXG4gICAgICAgIHVuc2hpZnQob3V0ZXJSdWxlRGVmaW5pdGlvbnMsIGlubmVyUnVsZURlZmluaXRpb25zKTtcblxuICAgICAgICBjb25zdCBzdGFydCA9IGlubmVySW5kZXgsIC8vL1xuICAgICAgICAgICAgICBkZWxldGVDb3VudCA9IDE7XG5cbiAgICAgICAgcnVsZXMuc3BsaWNlKHN0YXJ0LCBkZWxldGVDb3VudCk7XG5cbiAgICAgICAgbGVuZ3RoID0gcnVsZXMubGVuZ3RoO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaW5uZXJJbmRleCsrO1xuICAgICAgfVxuICAgIH1cblxuICAgIG91dGVySW5kZXgrKztcblxuICAgIGxlbmd0aCA9IHJ1bGVzLmxlbmd0aDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsInJ1bGVzRnJvbUJORiIsInBhcnNlclV0aWxpdGllcyIsInVuc2hpZnQiLCJhcnJheVV0aWxpdGllcyIsImJhY2t3YXJkc0ZvckVhY2giLCJydWxlcyIsImVudHJpZXMiLCJnZXRSdWxlcyIsImdldEVudHJpZXMiLCJmcm9tTm90aGluZyIsImluY2x1ZGVEZWZhdWx0IiwiY3VzdG9tR3JhbW1hcnMiLCJkZWZhdWx0Q3VzdG9tR3JhbW1hciIsInJ1bGVzRnJvbUN1c3RvbUdyYW1tYXJzQW5kRGVmYXVsdEJORiIsImVudHJpZXNGcm9tQ3VzdG9tR3JhbW1hcnMiLCJjb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJmcm9tQ3VzdG9tR3JhbW1hcnMiLCJibmZzIiwibWFwIiwiY3VzdG9tR3JhbW1hciIsImJuZiIsImdldEJORiIsImpvaW4iLCJFTVBUWV9TVFJJTkciLCJjb21iaW5lUnVsZXMiLCJwYXR0ZXJuTmFtZXMiLCJUWVBFX1BBVFRFUk5fTkFNRSIsIlNZTUJPTF9QQVRURVJOX05BTUUiLCJwYXR0ZXJuTmFtZSIsImVudHJ5IiwiZW50cnlGcm9tQ3VzdG9tR3JhbW1hcnMiLCJwYXR0ZXJucyIsInBhdHRlcm4iLCJnZXRQYXR0ZXJuIiwic3ViUGF0dGVybnMiLCJzcGxpdCIsIlZFUlRJQ0FMX0JBUiIsImZvckVhY2giLCJzdWJQYXR0ZXJuIiwicHVzaCIsInBhdHRlcm5zU3RyaW5nIiwiZW50cnlOYW1lIiwiZW50cnlWYWx1ZSIsIm91dGVySW5kZXgiLCJsZW5ndGgiLCJvdXRlclJ1bGUiLCJvdXRlclJ1bGVOYW1lIiwiZ2V0TmFtZSIsImlubmVySW5kZXgiLCJpbm5lclJ1bGUiLCJpbm5lclJ1bGVOYW1lIiwiaW5uZXJSdWxlRGVmaW5pdGlvbnMiLCJnZXREZWZpbml0aW9ucyIsIm91dGVyUnVsZURlZmluaXRpb25zIiwic3RhcnQiLCJkZWxldGVDb3VudCIsInNwbGljZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFhcUJBOzs7eUJBWFU7NEJBQ0M7OERBRUM7eUJBRVU7NEJBQ1k7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV2RCxJQUFNLEFBQUVDLGVBQWlCQyw2QkFBZSxDQUFoQ0QsY0FDQUUsVUFBOEJDLHlCQUFjLENBQTVDRCxTQUFTRSxtQkFBcUJELHlCQUFjLENBQW5DQztBQUVGLElBQUEsQUFBTUwsc0NBQU47YUFBTUEsc0JBQ1BNLEtBQUssRUFBRUMsT0FBTztnQ0FEUFA7UUFFakIsSUFBSSxDQUFDTSxLQUFLLEdBQUdBO1FBQ2IsSUFBSSxDQUFDQyxPQUFPLEdBQUdBOztrQkFIRVA7O1lBTW5CUSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNGLEtBQUs7WUFDbkI7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNGLE9BQU87WUFDckI7Ozs7WUFFT0csS0FBQUE7bUJBQVAsU0FBT0E7b0JBQVlD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
|
|
193
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jdXN0b21HcmFtbWFyL2NvbWJpbmVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcbmltcG9ydCB7IHBhcnNlclV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1wYXJzZXJzXCI7XG5pbXBvcnQgeyBlbGltaW5hdGVMZWZ0UmVjdXJzaW9uIH0gZnJvbSBcIm9jY2FtLWdyYW1tYXItdXRpbGl0aWVzXCI7XG5cbmltcG9ydCBkZWZhdWx0Q3VzdG9tR3JhbW1hciBmcm9tIFwiLi4vY3VzdG9tR3JhbW1hci9kZWZhdWx0XCI7XG5cbmltcG9ydCB7IEVNUFRZX1NUUklORywgVkVSVElDQUxfQkFSIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgVFlQRV9QQVRURVJOX05BTUUsIFNZTUJPTF9QQVRURVJOX05BTUUgfSBmcm9tIFwiLi4vcGF0dGVybk5hbWVzXCI7XG5cbmNvbnN0IHsgcnVsZXNGcm9tQk5GIH0gPSBwYXJzZXJVdGlsaXRpZXMsXG4gICAgICB7IHVuc2hpZnQsIGJhY2t3YXJkc0ZvckVhY2ggfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb21iaW5lZEN1c3RvbUdyYW1tYXIge1xuICBjb25zdHJ1Y3RvcihydWxlcywgZW50cmllcykge1xuICAgIHRoaXMucnVsZXMgPSBydWxlcztcbiAgICB0aGlzLmVudHJpZXMgPSBlbnRyaWVzO1xuICB9XG4gIFxuICBnZXRSdWxlcygpIHtcbiAgICByZXR1cm4gdGhpcy5ydWxlcztcbiAgfVxuXG4gIGdldEVudHJpZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZW50cmllcztcbiAgfVxuXG4gIHBvc3RQcm9jZXNzKHJ1bGVzKSB7XG4gICAgcnVsZXMgPSBbIC8vL1xuICAgICAgLi4ucnVsZXMsXG4gICAgICAuLi50aGlzLnJ1bGVzXG4gICAgXTtcblxuICAgIHJ1bGVzID0gZWxpbWluYXRlTGVmdFJlY3Vyc2lvbihydWxlcyk7ICAvLy9cblxuICAgIHJldHVybiBydWxlcztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm90aGluZyhpbmNsdWRlRGVmYXVsdCA9IHRydWUpIHtcbiAgICBsZXQgY3VzdG9tR3JhbW1hcnMgPSBbXTtcblxuICAgIGlmIChpbmNsdWRlRGVmYXVsdCkge1xuICAgICAgY3VzdG9tR3JhbW1hcnMgPSBbIGRlZmF1bHRDdXN0b21HcmFtbWFyLCAuLi5jdXN0b21HcmFtbWFycyBdOyAvLy9cbiAgICB9XG5cbiAgICBjb25zdCBydWxlcyA9IHJ1bGVzRnJvbUN1c3RvbUdyYW1tYXJzQW5kRGVmYXVsdEJORihjdXN0b21HcmFtbWFycyksXG4gICAgICAgICAgZW50cmllcyA9IGVudHJpZXNGcm9tQ3VzdG9tR3JhbW1hcnMoY3VzdG9tR3JhbW1hcnMpLFxuICAgICAgICAgIGNvbWJpbmVkQ3VzdG9tR3JhbW1hciA9IG5ldyBDb21iaW5lZEN1c3RvbUdyYW1tYXIocnVsZXMsIGVudHJpZXMpO1xuXG4gICAgcmV0dXJuIGNvbWJpbmVkQ3VzdG9tR3JhbW1hcjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQ3VzdG9tR3JhbW1hcnMoY3VzdG9tR3JhbW1hcnMsIGluY2x1ZGVEZWZhdWx0ID0gdHJ1ZSkge1xuICAgIGlmIChpbmNsdWRlRGVmYXVsdCkge1xuICAgICAgY3VzdG9tR3JhbW1hcnMgPSBbIGRlZmF1bHRDdXN0b21HcmFtbWFyLCAuLi5jdXN0b21HcmFtbWFycyBdOyAvLy9cbiAgICB9XG5cbiAgICBjb25zdCBydWxlcyA9IHJ1bGVzRnJvbUN1c3RvbUdyYW1tYXJzQW5kRGVmYXVsdEJORihjdXN0b21HcmFtbWFycyksXG4gICAgICAgICAgZW50cmllcyA9IGVudHJpZXNGcm9tQ3VzdG9tR3JhbW1hcnMoY3VzdG9tR3JhbW1hcnMpLFxuICAgICAgICAgIGNvbWJpbmVkQ3VzdG9tR3JhbW1hciA9IG5ldyBDb21iaW5lZEN1c3RvbUdyYW1tYXIocnVsZXMsIGVudHJpZXMpO1xuICAgIFxuICAgIHJldHVybiBjb21iaW5lZEN1c3RvbUdyYW1tYXI7XG4gIH1cbn1cblxuZnVuY3Rpb24gcnVsZXNGcm9tQ3VzdG9tR3JhbW1hcnNBbmREZWZhdWx0Qk5GKGN1c3RvbUdyYW1tYXJzKSB7XG4gIGNvbnN0IGJuZnMgPSBjdXN0b21HcmFtbWFycy5tYXAoKGN1c3RvbUdyYW1tYXIpID0+IHtcbiAgICAgICAgICBjb25zdCBibmYgPSBjdXN0b21HcmFtbWFyLmdldEJORigpO1xuXG4gICAgICAgICAgcmV0dXJuIGJuZjtcbiAgICAgICAgfSksXG4gICAgICAgIGJuZiA9IGJuZnMuam9pbihFTVBUWV9TVFJJTkcpLFxuICAgICAgICBydWxlcyA9IHJ1bGVzRnJvbUJORihibmYpO1xuXG4gIGNvbWJpbmVSdWxlcyhydWxlcylcblxuICByZXR1cm4gcnVsZXM7XG59XG5cbmZ1bmN0aW9uIGVudHJpZXNGcm9tQ3VzdG9tR3JhbW1hcnMoY3VzdG9tR3JhbW1hcnMpIHtcbiAgY29uc3QgcGF0dGVybk5hbWVzID0gW1xuICAgICAgICAgIFRZUEVfUEFUVEVSTl9OQU1FLFxuICAgICAgICAgIFNZTUJPTF9QQVRURVJOX05BTUVcbiAgICAgICAgXSxcbiAgICAgICAgZW50cmllcyA9IHBhdHRlcm5OYW1lcy5tYXAoKHBhdHRlcm5OYW1lKSA9PiB7XG4gICAgICAgICAgY29uc3QgZW50cnkgPSBlbnRyeUZyb21DdXN0b21HcmFtbWFycyhjdXN0b21HcmFtbWFycywgcGF0dGVybk5hbWUpO1xuXG4gICAgICAgICAgcmV0dXJuIGVudHJ5O1xuICAgICAgICB9KTtcblxuICByZXR1cm4gZW50cmllcztcbn1cblxuZnVuY3Rpb24gZW50cnlGcm9tQ3VzdG9tR3JhbW1hcnMoY3VzdG9tR3JhbW1hcnMsIHBhdHRlcm5OYW1lKSB7XG4gIGNvbnN0IHBhdHRlcm5zID0gW107XG5cbiAgYmFja3dhcmRzRm9yRWFjaChjdXN0b21HcmFtbWFycywgKGN1c3RvbUdyYW1tYXIpID0+IHtcbiAgICBjb25zdCBwYXR0ZXJuID0gY3VzdG9tR3JhbW1hci5nZXRQYXR0ZXJuKHBhdHRlcm5OYW1lKTtcblxuICAgIGlmICgocGF0dGVybiAhPT0gbnVsbCkgJiYgKHBhdHRlcm4gIT09IEVNUFRZX1NUUklORykpIHtcbiAgICAgIGNvbnN0IHN1YlBhdHRlcm5zID0gcGF0dGVybi5zcGxpdChWRVJUSUNBTF9CQVIpO1xuXG4gICAgICBzdWJQYXR0ZXJucy5mb3JFYWNoKChzdWJQYXR0ZXJuKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhdHRlcm4gPSAocGF0dGVybk5hbWUgPT09IFRZUEVfUEFUVEVSTl9OQU1FKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGAke3N1YlBhdHRlcm59KD8hXFxcXHcpYCA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YlBhdHRlcm47IC8vL1xuXG4gICAgICAgIHBhdHRlcm5zLnB1c2gocGF0dGVybik7XG4gICAgICB9KTtcbiAgICB9XG4gIH0pO1xuXG4gIGNvbnN0IHBhdHRlcm5zU3RyaW5nID0gcGF0dGVybnMuam9pbihWRVJUSUNBTF9CQVIpLFxuICAgICAgICBlbnRyeU5hbWUgPSBwYXR0ZXJuTmFtZSwgIC8vL1xuICAgICAgICBlbnRyeVZhbHVlID0gYF4oPzoke3BhdHRlcm5zU3RyaW5nfSlgLFxuICAgICAgICBlbnRyeSA9IHtcbiAgICAgICAgICBbZW50cnlOYW1lXTogZW50cnlWYWx1ZVxuICAgICAgICB9O1xuXG4gIHJldHVybiBlbnRyeTtcbn1cblxuZnVuY3Rpb24gY29tYmluZVJ1bGVzKHJ1bGVzKSB7XG4gIGxldCBvdXRlckluZGV4ID0gMCxcbiAgICAgIGxlbmd0aCA9IHJ1bGVzLmxlbmd0aDtcblxuICB3aGlsZSAob3V0ZXJJbmRleCA8IGxlbmd0aCkge1xuICAgIGNvbnN0IG91dGVyUnVsZSA9IHJ1bGVzW291dGVySW5kZXhdLFxuICAgICAgICAgIG91dGVyUnVsZU5hbWUgPSBvdXRlclJ1bGUuZ2V0TmFtZSgpO1xuXG4gICAgbGV0IGlubmVySW5kZXggPSBvdXRlckluZGV4ICsgMTtcblxuICAgIHdoaWxlIChpbm5lckluZGV4IDwgbGVuZ3RoKSB7XG4gICAgICBjb25zdCBpbm5lclJ1bGUgPSBydWxlc1tpbm5lckluZGV4XSxcbiAgICAgICAgICAgIGlubmVyUnVsZU5hbWUgPSBpbm5lclJ1bGUuZ2V0TmFtZSgpO1xuXG4gICAgICBpZiAoaW5uZXJSdWxlTmFtZSA9PT0gb3V0ZXJSdWxlTmFtZSkge1xuICAgICAgICBjb25zdCBpbm5lclJ1bGVEZWZpbml0aW9ucyA9IGlubmVyUnVsZS5nZXREZWZpbml0aW9ucygpLFxuICAgICAgICAgICAgICBvdXRlclJ1bGVEZWZpbml0aW9ucyA9IG91dGVyUnVsZS5nZXREZWZpbml0aW9ucygpO1xuXG4gICAgICAgIHVuc2hpZnQob3V0ZXJSdWxlRGVmaW5pdGlvbnMsIGlubmVyUnVsZURlZmluaXRpb25zKTtcblxuICAgICAgICBjb25zdCBzdGFydCA9IGlubmVySW5kZXgsIC8vL1xuICAgICAgICAgICAgICBkZWxldGVDb3VudCA9IDE7XG5cbiAgICAgICAgcnVsZXMuc3BsaWNlKHN0YXJ0LCBkZWxldGVDb3VudCk7XG5cbiAgICAgICAgbGVuZ3RoID0gcnVsZXMubGVuZ3RoO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaW5uZXJJbmRleCsrO1xuICAgICAgfVxuICAgIH1cblxuICAgIG91dGVySW5kZXgrKztcblxuICAgIGxlbmd0aCA9IHJ1bGVzLmxlbmd0aDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsInJ1bGVzRnJvbUJORiIsInBhcnNlclV0aWxpdGllcyIsInVuc2hpZnQiLCJhcnJheVV0aWxpdGllcyIsImJhY2t3YXJkc0ZvckVhY2giLCJydWxlcyIsImVudHJpZXMiLCJnZXRSdWxlcyIsImdldEVudHJpZXMiLCJwb3N0UHJvY2VzcyIsImVsaW1pbmF0ZUxlZnRSZWN1cnNpb24iLCJmcm9tTm90aGluZyIsImluY2x1ZGVEZWZhdWx0IiwiY3VzdG9tR3JhbW1hcnMiLCJkZWZhdWx0Q3VzdG9tR3JhbW1hciIsInJ1bGVzRnJvbUN1c3RvbUdyYW1tYXJzQW5kRGVmYXVsdEJORiIsImVudHJpZXNGcm9tQ3VzdG9tR3JhbW1hcnMiLCJjb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJmcm9tQ3VzdG9tR3JhbW1hcnMiLCJibmZzIiwibWFwIiwiY3VzdG9tR3JhbW1hciIsImJuZiIsImdldEJORiIsImpvaW4iLCJFTVBUWV9TVFJJTkciLCJjb21iaW5lUnVsZXMiLCJwYXR0ZXJuTmFtZXMiLCJUWVBFX1BBVFRFUk5fTkFNRSIsIlNZTUJPTF9QQVRURVJOX05BTUUiLCJwYXR0ZXJuTmFtZSIsImVudHJ5IiwiZW50cnlGcm9tQ3VzdG9tR3JhbW1hcnMiLCJwYXR0ZXJucyIsInBhdHRlcm4iLCJnZXRQYXR0ZXJuIiwic3ViUGF0dGVybnMiLCJzcGxpdCIsIlZFUlRJQ0FMX0JBUiIsImZvckVhY2giLCJzdWJQYXR0ZXJuIiwicHVzaCIsInBhdHRlcm5zU3RyaW5nIiwiZW50cnlOYW1lIiwiZW50cnlWYWx1ZSIsIm91dGVySW5kZXgiLCJsZW5ndGgiLCJvdXRlclJ1bGUiLCJvdXRlclJ1bGVOYW1lIiwiZ2V0TmFtZSIsImlubmVySW5kZXgiLCJpbm5lclJ1bGUiLCJpbm5lclJ1bGVOYW1lIiwiaW5uZXJSdWxlRGVmaW5pdGlvbnMiLCJnZXREZWZpbml0aW9ucyIsIm91dGVyUnVsZURlZmluaXRpb25zIiwic3RhcnQiLCJkZWxldGVDb3VudCIsInNwbGljZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFjcUJBOzs7eUJBWlU7NEJBQ0M7cUNBQ087OERBRU47eUJBRVU7NEJBQ1k7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV2RCxJQUFNLEFBQUVDLGVBQWlCQyw2QkFBZSxDQUFoQ0QsY0FDQUUsVUFBOEJDLHlCQUFjLENBQTVDRCxTQUFTRSxtQkFBcUJELHlCQUFj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
|
package/lib/utilities/parsers.js
CHANGED
|
@@ -33,38 +33,12 @@ _export(exports, {
|
|
|
33
33
|
});
|
|
34
34
|
var _occamgrammars = require("occam-grammars");
|
|
35
35
|
var _occamparsers = require("occam-parsers");
|
|
36
|
-
var _occamgrammarutilities = require("occam-grammar-utilities");
|
|
37
36
|
var _combined = /*#__PURE__*/ _interop_require_default(require("../customGrammar/combined"));
|
|
38
|
-
function _array_like_to_array(arr, len) {
|
|
39
|
-
if (len == null || len > arr.length) len = arr.length;
|
|
40
|
-
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
41
|
-
return arr2;
|
|
42
|
-
}
|
|
43
|
-
function _array_without_holes(arr) {
|
|
44
|
-
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
|
45
|
-
}
|
|
46
37
|
function _interop_require_default(obj) {
|
|
47
38
|
return obj && obj.__esModule ? obj : {
|
|
48
39
|
default: obj
|
|
49
40
|
};
|
|
50
41
|
}
|
|
51
|
-
function _iterable_to_array(iter) {
|
|
52
|
-
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
53
|
-
}
|
|
54
|
-
function _non_iterable_spread() {
|
|
55
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
56
|
-
}
|
|
57
|
-
function _to_consumable_array(arr) {
|
|
58
|
-
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
|
59
|
-
}
|
|
60
|
-
function _unsupported_iterable_to_array(o, minLen) {
|
|
61
|
-
if (!o) return;
|
|
62
|
-
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
63
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
64
|
-
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
65
|
-
if (n === "Map" || n === "Set") return Array.from(n);
|
|
66
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
67
|
-
}
|
|
68
42
|
var rulesFromBNF = _occamparsers.parserUtilities.rulesFromBNF, parserFromRules = _occamparsers.parserUtilities.parserFromRules, parserFromRulesAndStartRuleName = _occamparsers.parserUtilities.parserFromRulesAndStartRuleName;
|
|
69
43
|
function nominalParserFromNothing() {
|
|
70
44
|
var bnf = _occamgrammars.NominalParser.bnf, combinedCustomGrammar = _combined.default.fromNothing(), rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar), nominalParser = parserFromRules(_occamgrammars.NominalParser, rules);
|
|
@@ -100,10 +74,8 @@ var _default = {
|
|
|
100
74
|
};
|
|
101
75
|
function rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar) {
|
|
102
76
|
var rules = rulesFromBNF(bnf);
|
|
103
|
-
|
|
104
|
-
rules = _to_consumable_array(rules).concat(_to_consumable_array(combinedCustomGrammarRules));
|
|
105
|
-
rules = (0, _occamgrammarutilities.eliminateLeftRecursion)(rules); ///
|
|
77
|
+
rules = combinedCustomGrammar.postProcess(rules);
|
|
106
78
|
return rules;
|
|
107
79
|
}
|
|
108
80
|
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcGFyc2Vycy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgTm9taW5hbFBhcnNlciB9IGZyb20gXCJvY2NhbS1ncmFtbWFyc1wiO1xuaW1wb3J0IHsgcGFyc2VyVXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLXBhcnNlcnNcIjtcblxuaW1wb3J0IENvbWJpbmVkQ3VzdG9tR3JhbW1hciBmcm9tIFwiLi4vY3VzdG9tR3JhbW1hci9jb21iaW5lZFwiO1xuXG5jb25zdCB7IHJ1bGVzRnJvbUJORiwgcGFyc2VyRnJvbVJ1bGVzLCBwYXJzZXJGcm9tUnVsZXNBbmRTdGFydFJ1bGVOYW1lIH0gPSBwYXJzZXJVdGlsaXRpZXM7XG5cbmV4cG9ydCBmdW5jdGlvbiBub21pbmFsUGFyc2VyRnJvbU5vdGhpbmcoKSB7XG4gIGNvbnN0IHsgYm5mIH0gPSBOb21pbmFsUGFyc2VyLFxuICAgICAgICBjb21iaW5lZEN1c3RvbUdyYW1tYXIgPSBDb21iaW5lZEN1c3RvbUdyYW1tYXIuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgcnVsZXMgPSBydWxlc0Zyb21CTkZBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIoYm5mLCBjb21iaW5lZEN1c3RvbUdyYW1tYXIpLFxuICAgICAgICBub21pbmFsUGFyc2VyID0gcGFyc2VyRnJvbVJ1bGVzKE5vbWluYWxQYXJzZXIsIHJ1bGVzKTtcblxuICByZXR1cm4gbm9taW5hbFBhcnNlcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vbWluYWxQYXJzZXJGcm9tU3RhcnRSdWxlTmFtZShzdGFydFJ1bGVOYW1lKSB7XG4gIGNvbnN0IHsgYm5mIH0gPSBOb21pbmFsUGFyc2VyLFxuICAgICAgICBjb21iaW5lZEN1c3RvbUdyYW1tYXIgPSBDb21iaW5lZEN1c3RvbUdyYW1tYXIuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgcnVsZXMgPSBydWxlc0Zyb21CTkZBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIoYm5mLCBjb21iaW5lZEN1c3RvbUdyYW1tYXIpLFxuICAgICAgICBub21pbmFsUGFyc2VyID0gcGFyc2VyRnJvbVJ1bGVzQW5kU3RhcnRSdWxlTmFtZShOb21pbmFsUGFyc2VyLCBydWxlcywgc3RhcnRSdWxlTmFtZSk7XG5cbiAgcmV0dXJuIG5vbWluYWxQYXJzZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub21pbmFsUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hcihjb21iaW5lZEN1c3RvbUdyYW1tYXIpIHtcbiAgY29uc3QgeyBibmYgfSA9IE5vbWluYWxQYXJzZXIsXG4gICAgICAgIHJ1bGVzID0gcnVsZXNGcm9tQk5GQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyKGJuZiwgY29tYmluZWRDdXN0b21HcmFtbWFyKSxcbiAgICAgICAgbm9taW5hbFBhcnNlciA9IHBhcnNlckZyb21SdWxlcyhOb21pbmFsUGFyc2VyLCBydWxlcyk7XG5cbiAgcmV0dXJuIG5vbWluYWxQYXJzZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub21pbmFsUGFyc2VyRnJvbUJORkFuZENvbWJpbmVkQ3VzdG9tR3JhbW1hcihibmYsIGNvbWJpbmVkQ3VzdG9tR3JhbW1hcikge1xuICBjb25zdCBydWxlcyA9IHJ1bGVzRnJvbUJORkFuZENvbWJpbmVkQ3VzdG9tR3JhbW1hcihibmYsIGNvbWJpbmVkQ3VzdG9tR3JhbW1hciksXG4gICAgICAgIG5vbWluYWxQYXJzZXIgPSBwYXJzZXJGcm9tUnVsZXMoTm9taW5hbFBhcnNlciwgcnVsZXMpO1xuXG4gIHJldHVybiBub21pbmFsUGFyc2VyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbm9taW5hbFBhcnNlckZyb21TdGFydFJ1bGVOYW1lQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyKHN0YXJ0UnVsZU5hbWUsIGNvbWJpbmVkQ3VzdG9tR3JhbW1hcikge1xuICBjb25zdCB7IGJuZiB9ID0gTm9taW5hbFBhcnNlcixcbiAgICAgICAgcnVsZXMgPSBydWxlc0Zyb21CTkZBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIoYm5mLCBjb21iaW5lZEN1c3RvbUdyYW1tYXIpLFxuICAgICAgICBub21pbmFsUGFyc2VyID0gcGFyc2VyRnJvbVJ1bGVzQW5kU3RhcnRSdWxlTmFtZShOb21pbmFsUGFyc2VyLCBydWxlcywgc3RhcnRSdWxlTmFtZSk7XG5cbiAgcmV0dXJuIG5vbWluYWxQYXJzZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub21pbmFsUGFyc2VyRnJvbUJORlN0YXJ0UnVsZU5hbWVBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIoYm5mLCBzdGFydFJ1bGVOYW1lLCBjb21iaW5lZEN1c3RvbUdyYW1tYXIpIHtcbiAgY29uc3QgcnVsZXMgPSBydWxlc0Zyb21CTkZBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIoYm5mLCBjb21iaW5lZEN1c3RvbUdyYW1tYXIpLFxuICAgICAgICBub21pbmFsUGFyc2VyID0gcGFyc2VyRnJvbVJ1bGVzQW5kU3RhcnRSdWxlTmFtZShOb21pbmFsUGFyc2VyLCBydWxlcywgc3RhcnRSdWxlTmFtZSk7XG5cbiAgcmV0dXJuIG5vbWluYWxQYXJzZXI7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgbm9taW5hbFBhcnNlckZyb21Ob3RoaW5nLFxuICBub21pbmFsUGFyc2VyRnJvbVN0YXJ0UnVsZU5hbWUsXG4gIG5vbWluYWxQYXJzZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyLFxuICBub21pbmFsUGFyc2VyRnJvbUJORkFuZENvbWJpbmVkQ3VzdG9tR3JhbW1hcixcbiAgbm9taW5hbFBhcnNlckZyb21TdGFydFJ1bGVOYW1lQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyLFxuICBub21pbmFsUGFyc2VyRnJvbUJORlN0YXJ0UnVsZU5hbWVBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXJcbn07XG5cbmZ1bmN0aW9uIHJ1bGVzRnJvbUJORkFuZENvbWJpbmVkQ3VzdG9tR3JhbW1hcihibmYsIGNvbWJpbmVkQ3VzdG9tR3JhbW1hcikge1xuICBsZXQgcnVsZXMgPSBydWxlc0Zyb21CTkYoYm5mKTtcblxuICBydWxlcyA9IGNvbWJpbmVkQ3VzdG9tR3JhbW1hci5wb3N0UHJvY2VzcyhydWxlcyk7XG5cbiAgcmV0dXJuIHJ1bGVzO1xufVxuIl0sIm5hbWVzIjpbIm5vbWluYWxQYXJzZXJGcm9tQk5GQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyIiwibm9taW5hbFBhcnNlckZyb21CTkZTdGFydFJ1bGVOYW1lQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyIiwibm9taW5hbFBhcnNlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIiLCJub21pbmFsUGFyc2VyRnJvbU5vdGhpbmciLCJub21pbmFsUGFyc2VyRnJvbVN0YXJ0UnVsZU5hbWUiLCJub21pbmFsUGFyc2VyRnJvbVN0YXJ0UnVsZU5hbWVBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJydWxlc0Zyb21CTkYiLCJwYXJzZXJVdGlsaXRpZXMiLCJwYXJzZXJGcm9tUnVsZXMiLCJwYXJzZXJGcm9tUnVsZXNBbmRTdGFydFJ1bGVOYW1lIiwiYm5mIiwiTm9taW5hbFBhcnNlciIsImNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsIkNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsImZyb21Ob3RoaW5nIiwicnVsZXMiLCJydWxlc0Zyb21CTkZBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJub21pbmFsUGFyc2VyIiwic3RhcnRSdWxlTmFtZSIsInBvc3RQcm9jZXNzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUF5REE7ZUFBQTs7UUF0QmdCQTtlQUFBQTs7UUFlQUM7ZUFBQUE7O1FBdkJBQztlQUFBQTs7UUFsQkFDO2VBQUFBOztRQVNBQztlQUFBQTs7UUF3QkFDO2VBQUFBOzs7NkJBeENjOzRCQUNFOytEQUVFOzs7Ozs7QUFFbEMsSUFBUUMsZUFBbUVDLDZCQUFlLENBQWxGRCxjQUFjRSxrQkFBcURELDZCQUFlLENBQXBFQyxpQkFBaUJDLGtDQUFvQ0YsNkJBQWUsQ0FBbkRFO0FBRWhDLFNBQVNOO0lBQ2QsSUFBTSxBQUFFTyxNQUFRQyw0QkFBYSxDQUFyQkQsS0FDRkUsd0JBQXdCQyxpQkFBcUIsQ0FBQ0MsV0FBVyxJQUN6REMsUUFBUUMscUNBQXFDTixLQUFLRSx3QkFDbERLLGdCQUFnQlQsZ0JBQWdCRyw0QkFBYSxFQUFFSTtJQUVyRCxPQUFPRTtBQUNUO0FBRU8sU0FBU2IsK0JBQStCYyxhQUFhO0lBQzFELElBQU0sQUFBRVIsTUFBUUMsNEJBQWEsQ0FBckJELEtBQ0ZFLHdCQUF3QkMsaUJBQXFCLENBQUNDLFdBQVcsSUFDekRDLFFBQVFDLHFDQUFxQ04sS0FBS0Usd0JBQ2xESyxnQkFBZ0JSLGdDQUFnQ0UsNEJBQWEsRUFBRUksT0FBT0c7SUFFNUUsT0FBT0Q7QUFDVDtBQUVPLFNBQVNmLHVDQUF1Q1UscUJBQXFCO0lBQzFFLElBQU0sQUFBRUYsTUFBUUMsNEJBQWEsQ0FBckJELEtBQ0ZLLFFBQVFDLHFDQUFxQ04sS0FBS0Usd0JBQ2xESyxnQkFBZ0JULGdCQUFnQkcsNEJBQWEsRUFBRUk7SUFFckQsT0FBT0U7QUFDVDtBQUVPLFNBQVNqQiw2Q0FBNkNVLEdBQUcsRUFBRUUscUJBQXFCO0lBQ3JGLElBQU1HLFFBQVFDLHFDQUFxQ04sS0FBS0Usd0JBQ2xESyxnQkFBZ0JULGdCQUFnQkcsNEJBQWEsRUFBRUk7SUFFckQsT0FBT0U7QUFDVDtBQUVPLFNBQVNaLHVEQUF1RGEsYUFBYSxFQUFFTixxQkFBcUI7SUFDekcsSUFBTSxBQUFFRixNQUFRQyw0QkFBYSxDQUFyQkQsS0FDRkssUUFBUUMscUNBQXFDTixLQUFLRSx3QkFDbERLLGdCQUFnQlIsZ0NBQWdDRSw0QkFBYSxFQUFFSSxPQUFPRztJQUU1RSxPQUFPRDtBQUNUO0FBRU8sU0FBU2hCLDBEQUEwRFMsR0FBRyxFQUFFUSxhQUFhLEVBQUVOLHFCQUFxQjtJQUNqSCxJQUFNRyxRQUFRQyxxQ0FBcUNOLEtBQUtFLHdCQUNsREssZ0JBQWdCUixnQ0FBZ0NFLDRCQUFhLEVBQUVJLE9BQU9HO0lBRTVFLE9BQU9EO0FBQ1Q7SUFFQSxXQUFlO0lBQ2JkLDBCQUFBQTtJQUNBQyxnQ0FBQUE7SUFDQUYsd0NBQUFBO0lBQ0FGLDhDQUFBQTtJQUNBSyx3REFBQUE7SUFDQUosMkRBQUFBO0FBQ0Y7QUFFQSxTQUFTZSxxQ0FBcUNOLEdBQUcsRUFBRUUscUJBQXFCO0lBQ3RFLElBQUlHLFFBQVFULGFBQWFJO0lBRXpCSyxRQUFRSCxzQkFBc0JPLFdBQVcsQ0FBQ0o7SUFFMUMsT0FBT0E7QUFDVCJ9
|
package/package.json
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { arrayUtilities } from "necessary";
|
|
4
4
|
import { parserUtilities } from "occam-parsers";
|
|
5
|
+
import { eliminateLeftRecursion } from "occam-grammar-utilities";
|
|
5
6
|
|
|
6
7
|
import defaultCustomGrammar from "../customGrammar/default";
|
|
7
8
|
|
|
@@ -25,6 +26,17 @@ export default class CombinedCustomGrammar {
|
|
|
25
26
|
return this.entries;
|
|
26
27
|
}
|
|
27
28
|
|
|
29
|
+
postProcess(rules) {
|
|
30
|
+
rules = [ ///
|
|
31
|
+
...rules,
|
|
32
|
+
...this.rules
|
|
33
|
+
];
|
|
34
|
+
|
|
35
|
+
rules = eliminateLeftRecursion(rules); ///
|
|
36
|
+
|
|
37
|
+
return rules;
|
|
38
|
+
}
|
|
39
|
+
|
|
28
40
|
static fromNothing(includeDefault = true) {
|
|
29
41
|
let customGrammars = [];
|
|
30
42
|
|
package/src/utilities/parsers.js
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
import { NominalParser } from "occam-grammars";
|
|
4
4
|
import { parserUtilities } from "occam-parsers";
|
|
5
|
-
import { eliminateLeftRecursion } from "occam-grammar-utilities";
|
|
6
5
|
|
|
7
6
|
import CombinedCustomGrammar from "../customGrammar/combined";
|
|
8
7
|
|
|
@@ -68,14 +67,7 @@ export default {
|
|
|
68
67
|
function rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar) {
|
|
69
68
|
let rules = rulesFromBNF(bnf);
|
|
70
69
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
rules = [ ///
|
|
74
|
-
...rules,
|
|
75
|
-
...combinedCustomGrammarRules
|
|
76
|
-
];
|
|
77
|
-
|
|
78
|
-
rules = eliminateLeftRecursion(rules); ///
|
|
70
|
+
rules = combinedCustomGrammar.postProcess(rules);
|
|
79
71
|
|
|
80
72
|
return rules;
|
|
81
73
|
}
|