occam-grammars 1.1.1 → 1.2.4

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.
@@ -8,9 +8,6 @@ Object.defineProperty(exports, "default", {
8
8
  return FurtleView;
9
9
  }
10
10
  });
11
- var _occamlexers = require("occam-lexers");
12
- var _occamparsers = require("occam-parsers");
13
- var _occamgrammarutilities = require("occam-grammar-utilities");
14
11
  var _index = require("../../index");
15
12
  var _view = /*#__PURE__*/ _interop_require_default(require("../view"));
16
13
  function _assert_this_initialized(self) {
@@ -104,7 +101,7 @@ function _is_native_reflect_construct() {
104
101
  return !!result;
105
102
  })();
106
103
  }
107
- var rulesFromEntries = _occamlexers.lexerUtilities.rulesFromEntries, lexerFromRules = _occamlexers.lexerUtilities.lexerFromRules, rulesFromBNF = _occamparsers.parserUtilities.rulesFromBNF, parserFromRulesAndStartRuleName = _occamparsers.parserUtilities.parserFromRulesAndStartRuleName;
104
+ var furtleParserFromBNF = _index.parsersUtilities.furtleParserFromBNF, furtleLexerFromEntries = _index.lexersUtilities.furtleLexerFromEntries;
108
105
  var FurtleView = /*#__PURE__*/ function(View) {
109
106
  _inherits(FurtleView, View);
110
107
  function FurtleView() {
@@ -115,7 +112,7 @@ var FurtleView = /*#__PURE__*/ function(View) {
115
112
  {
116
113
  key: "getTokens",
117
114
  value: function getTokens() {
118
- var lexicalEntries = this.getLexicalEntries(), entries = lexicalEntries, rules = rulesFromEntries(entries), furtleLexer = lexerFromRules(_index.FurtleLexer, rules), lexer = furtleLexer, content = this.getContent(), tokens = lexer.tokenise(content);
115
+ var lexicalEntries = this.getLexicalEntries(), entries = lexicalEntries, furtleLexer = furtleLexerFromEntries(entries), lexer = furtleLexer, content = this.getContent(), tokens = lexer.tokenise(content);
119
116
  return tokens;
120
117
  }
121
118
  },
@@ -123,11 +120,7 @@ var FurtleView = /*#__PURE__*/ function(View) {
123
120
  key: "getParseTree",
124
121
  value: function getParseTree(tokens) {
125
122
  var parseTree = null;
126
- var bnf = this.getBNF();
127
- var rules;
128
- rules = rulesFromBNF(bnf);
129
- rules = (0, _occamgrammarutilities.eliminateLeftRecursion)(rules); ///
130
- var ruleName = this.getRuleName(), startRuleName = ruleName, furtleParser = parserFromRulesAndStartRuleName(_index.FurtleParser, rules, startRuleName), parser = furtleParser, node = parser.parse(tokens);
123
+ var bnf = this.getBNF(), furtleParser = furtleParserFromBNF(bnf), parser = furtleParser, node = parser.parse(tokens);
131
124
  if (node !== null) {
132
125
  parseTree = node.asParseTree(tokens);
133
126
  }
@@ -145,4 +138,4 @@ _define_property(FurtleView, "defaultProperties", {
145
138
  className: "furtle"
146
139
  });
147
140
 
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL3ZpZXcvZnVydGxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBsZXhlclV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1sZXhlcnNcIjtcbmltcG9ydCB7IHBhcnNlclV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1wYXJzZXJzXCI7XG5pbXBvcnQgeyBlbGltaW5hdGVMZWZ0UmVjdXJzaW9uIH0gZnJvbSBcIm9jY2FtLWdyYW1tYXItdXRpbGl0aWVzXCI7XG5pbXBvcnQgeyBGdXJ0bGVMZXhlciwgRnVydGxlUGFyc2VyIH0gZnJvbSBcIi4uLy4uL2luZGV4XCI7ICAvLy9cblxuaW1wb3J0IFZpZXcgZnJvbSBcIi4uL3ZpZXdcIjtcblxuY29uc3QgeyBydWxlc0Zyb21FbnRyaWVzLCBsZXhlckZyb21SdWxlcyB9ID0gbGV4ZXJVdGlsaXRpZXMsXG4gICAgICB7IHJ1bGVzRnJvbUJORiwgcGFyc2VyRnJvbVJ1bGVzQW5kU3RhcnRSdWxlTmFtZSB9ID0gcGFyc2VyVXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGdXJ0bGVWaWV3IGV4dGVuZHMgVmlldyB7XG4gIGdldFRva2VucygpIHtcbiAgICBjb25zdCBsZXhpY2FsRW50cmllcyA9IHRoaXMuZ2V0TGV4aWNhbEVudHJpZXMoKSxcbiAgICAgICAgICBlbnRyaWVzID0gbGV4aWNhbEVudHJpZXMsIC8vL1xuICAgICAgICAgIHJ1bGVzID0gcnVsZXNGcm9tRW50cmllcyhlbnRyaWVzKSxcbiAgICAgICAgICBmdXJ0bGVMZXhlciA9IGxleGVyRnJvbVJ1bGVzKEZ1cnRsZUxleGVyLCBydWxlcyksXG4gICAgICAgICAgbGV4ZXIgPSBmdXJ0bGVMZXhlciwgIC8vL1xuICAgICAgICAgIGNvbnRlbnQgPSB0aGlzLmdldENvbnRlbnQoKSxcbiAgICAgICAgICB0b2tlbnMgPSBsZXhlci50b2tlbmlzZShjb250ZW50KTtcblxuICAgIHJldHVybiB0b2tlbnM7XG4gIH1cblxuICBnZXRQYXJzZVRyZWUodG9rZW5zKSB7XG4gICAgbGV0IHBhcnNlVHJlZSA9IG51bGw7XG5cbiAgICBjb25zdCBibmYgPSB0aGlzLmdldEJORigpO1xuXG4gICAgbGV0IHJ1bGVzO1xuXG4gICAgcnVsZXMgPSBydWxlc0Zyb21CTkYoYm5mKTtcblxuICAgIHJ1bGVzID0gZWxpbWluYXRlTGVmdFJlY3Vyc2lvbihydWxlcyk7ICAvLy9cblxuICAgIGNvbnN0IHJ1bGVOYW1lID0gdGhpcy5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgIHN0YXJ0UnVsZU5hbWUgPSBydWxlTmFtZSwgLy8vXG4gICAgICAgICAgZnVydGxlUGFyc2VyID0gcGFyc2VyRnJvbVJ1bGVzQW5kU3RhcnRSdWxlTmFtZShGdXJ0bGVQYXJzZXIsIHJ1bGVzLCBzdGFydFJ1bGVOYW1lKSxcbiAgICAgICAgICBwYXJzZXIgPSBmdXJ0bGVQYXJzZXIsIC8vL1xuICAgICAgICAgIG5vZGUgPSBwYXJzZXIucGFyc2UodG9rZW5zKTtcblxuICAgIGlmIChub2RlICE9PSBudWxsKSB7XG4gICAgICBwYXJzZVRyZWUgPSBub2RlLmFzUGFyc2VUcmVlKHRva2Vucyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcnNlVHJlZTtcbiAgfVxuXG4gIHN0YXRpYyBMZXhlciA9IEZ1cnRsZUxleGVyO1xuXG4gIHN0YXRpYyBQYXJzZXIgPSBGdXJ0bGVQYXJzZXI7XG5cbiAgc3RhdGljIHJlYWRPbmx5ID0gZmFsc2U7XG5cbiAgc3RhdGljIGluaXRpYWxDb250ZW50ID0gYE5vZGUqIHRlcm1Ob2RlLCBzdGF0ZW1lbnROb2RlOyBCb29sZWFuKiBib3VuZCA9IGZhbHNlO1xuICBcblN0cmluZyB2YXJpYWJsZU5hbWUgPSB2YXJpYWJsZU5hbWVGcm9tVGVybU5vZGUodGVybU5vZGUpO1xuXG5JZiAodmFyaWFibGVOYW1lID09IG51bGwpIHtcbiAgQnJlYWs7XG59XG5cbk5vZGVzIHN0YXRlbWVudE5vZGVzID0gbm9kZXNRdWVyeShzdGF0ZW1lbnROb2RlLCAvL3N0YXRlbWVudCk7XG5cbkZvckVhY2goc3RhdGVtZW50Tm9kZXMsIChOb2RlIHN0YXRlbWVudE5vZGUpIHtcbiAgU3RyaW5nIGJvdW5kVmFyaWFibGVOYW1lID0gYm91bmRWYXJpYWJsZU5hbWVGcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKTsgXG4gIFxuICBJZiAoYm91bmRWYXJpYWJsZU5hbWUgPT0gdmFyaWFibGVOYW1lKSB7XG4gICAgYm91bmQgPSB0cnVlO1xuICAgIFxuICAgIEJyZWFrO1xuICB9XG59KTtcbiAgXG4gIFxuU3RyaW5nIHZhcmlhYmxlTmFtZUZyb21UZXJtTm9kZShOb2RlIHRlcm1Ob2RlKSB7XG4gIFN0cmluZyB2YXJpYWJsZU5hbWUgPSBudWxsO1xuICBcbiAgTm9kZSB2YXJpYWJsZU5hbWVUZXJtaW5hbE5vZGUgPSBub2RlUXVlcnkodGVybU5vZGUsIC90ZXJtL3ZhcmlhYmxlL0BuYW1lKTtcbiAgXG4gIElmICh2YXJpYWJsZU5hbWVUZXJtaW5hbE5vZGUgIT0gbnVsbCkge1xuICAgIFN0cmluZyBjb250ZW50O1xuICAgIFxuICAgIHsgY29udGVudCB9ID0gdmFyaWFibGVOYW1lVGVybWluYWxOb2RlO1xuICAgIFxuICAgIHZhcmlhYmxlTmFtZSA9IGNvbnRlbnQ7XG4gIH1cbiAgXG4gIFJldHVybiB2YXJpYWJsZU5hbWU7XG59XG5cblN0cmluZyBib3VuZFZhcmlhYmxlTmFtZUZyb21TdGF0ZW1lbnROb2RlKE5vZGUgc3RhdGVtZW50Tm9kZSkge1xuICBTdHJpbmcgYm91bmRWYXJpYWJsZU5hbWUgPSBudWxsO1xuICBcbiAgTm9kZXMgY2hpbGROb2RlcztcbiAgXG4gIHsgY2hpbGROb2RlcyB9ID0gc3RhdGVtZW50Tm9kZTtcbiAgXG4gIE5vZGUgZmlyc3RDaGlsZE5vZGU7XG5cbiAgWyBmaXJzdENoaWxkTm9kZSBdID0gY2hpbGROb2RlcztcbiAgXG4gIEJvb2xlYW4gZmlyc3RDaGlsZE5vZGVUZXJtaW5hbE5vZGUgPSBpc1Rlcm1pbmFsTm9kZShmaXJzdENoaWxkTm9kZSk7XG4gIFxuICBJZiAoZmlyc3RDaGlsZE5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICBOb2RlIHRlcm1pbmFsTm9kZSA9IGZpcnN0Q2hpbGROb2RlO1xuICAgIFxuICAgIFN0cmluZyBjb250ZW50O1xuICAgIFxuICAgIHsgY29udGVudCB9ID0gZmlyc3RDaGlsZE5vZGU7XG4gICAgXG4gICAgSWYgKChjb250ZW50ID09IFwi4oiAXCIpIHx8IChjb250ZW50ID09IFwi4oiDXCIpKSB7XG4gICAgICBOb2RlIHNlY29uZENoaWxkTm9kZTtcbiAgICAgIFxuICAgICAgWyBfLCBzZWNvbmRDaGlsZE5vZGUgXSA9IGNoaWxkTm9kZXM7XG4gICAgICBcbiAgICAgIE5vZGUgYXJndW1lbnROb2RlID0gc2Vjb25kQ2hpbGROb2RlO1xuICAgICAgXG4gICAgICBOb2RlIGJvdW5kVmFyaWFibGVOYW1lVGVybWluYWxOb2RlID0gbm9kZVF1ZXJ5KGFyZ3VtZW50Tm9kZSwgL2FyZ3VtZW50L3Rlcm0vdmFyaWFibGUvQG5hbWUpO1xuICAgICAgXG4gICAgICBJZiAoYm91bmRWYXJpYWJsZU5hbWVUZXJtaW5hbE5vZGUgIT0gbnVsbCkge1xuICAgICAgICB7IGNvbnRlbnQgfSA9IGJvdW5kVmFyaWFibGVOYW1lVGVybWluYWxOb2RlO1xuICAgICAgICBcbiAgICAgICAgYm91bmRWYXJpYWJsZU5hbWUgPSBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAgIFxuICBSZXR1cm4gYm91bmRWYXJpYWJsZU5hbWU7XG59XG5gO1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcGVydGllcyA9IHtcbiAgICBjbGFzc05hbWU6IFwiZnVydGxlXCJcbiAgfTtcbn1cbiJdLCJuYW1lcyI6WyJGdXJ0bGVWaWV3IiwicnVsZXNGcm9tRW50cmllcyIsImxleGVyVXRpbGl0aWVzIiwibGV4ZXJGcm9tUnVsZXMiLCJydWxlc0Zyb21CTkYiLCJwYXJzZXJVdGlsaXRpZXMiLCJwYXJzZXJGcm9tUnVsZXNBbmRTdGFydFJ1bGVOYW1lIiwiZ2V0VG9rZW5zIiwibGV4aWNhbEVudHJpZXMiLCJnZXRMZXhpY2FsRW50cmllcyIsImVudHJpZXMiLCJydWxlcyIsImZ1cnRsZUxleGVyIiwiRnVydGxlTGV4ZXIiLCJsZXhlciIsImNvbnRlbnQiLCJnZXRDb250ZW50IiwidG9rZW5zIiwidG9rZW5pc2UiLCJnZXRQYXJzZVRyZWUiLCJwYXJzZVRyZWUiLCJibmYiLCJnZXRCTkYiLCJlbGltaW5hdGVMZWZ0UmVjdXJzaW9uIiwicnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsInN0YXJ0UnVsZU5hbWUiLCJmdXJ0bGVQYXJzZXIiLCJGdXJ0bGVQYXJzZXIiLCJwYXJzZXIiLCJub2RlIiwicGFyc2UiLCJhc1BhcnNlVHJlZSIsIlZpZXciLCJMZXhlciIsIlBhcnNlciIsInJlYWRPbmx5IiwiaW5pdGlhbENvbnRlbnQiLCJkZWZhdWx0UHJvcGVydGllcyIsImNsYXNzTmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFZcUJBOzs7MkJBVlU7NEJBQ0M7cUNBQ087cUJBQ0c7MkRBRXpCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVqQixJQUFRQyxtQkFBcUNDLDJCQUFjLENBQW5ERCxrQkFBa0JFLGlCQUFtQkQsMkJBQWMsQ0FBakNDLGdCQUNsQkMsZUFBa0RDLDZCQUFlLENBQWpFRCxjQUFjRSxrQ0FBb0NELDZCQUFlLENBQW5EQztBQUVQLElBQUEsQUFBTU4sMkJBQU47Y0FBTUE7YUFBQUE7Z0NBQUFBO2VBQU4sa0JBQU1BOztrQkFBQUE7O1lBQ25CTyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsaUJBQWlCLElBQUksQ0FBQ0MsaUJBQWlCLElBQ3ZDQyxVQUFVRixnQkFDVkcsUUFBUVYsaUJBQWlCUyxVQUN6QkUsY0FBY1QsZUFBZVUsa0JBQVcsRUFBRUYsUUFDMUNHLFFBQVFGLGFBQ1JHLFVBQVUsSUFBSSxDQUFDQyxVQUFVLElBQ3pCQyxTQUFTSCxNQUFNSSxRQUFRLENBQUNIO2dCQUU5QixPQUFPRTtZQUNUOzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBLGFBQWFGLE1BQU07Z0JBQ2pCLElBQUlHLFlBQVk7Z0JBRWhCLElBQU1DLE1BQU0sSUFBSSxDQUFDQyxNQUFNO2dCQUV2QixJQUFJWDtnQkFFSkEsUUFBUVAsYUFBYWlCO2dCQUVyQlYsUUFBUVksSUFBQUEsNkNBQXNCLEVBQUNaLFFBQVMsR0FBRztnQkFFM0MsSUFBTWEsV0FBVyxJQUFJLENBQUNDLFdBQVcsSUFDM0JDLGdCQUFnQkYsVUFDaEJHLGVBQWVyQixnQ0FBZ0NzQixtQkFBWSxFQUFFakIsT0FBT2UsZ0JBQ3BFRyxTQUFTRixjQUNURyxPQUFPRCxPQUFPRSxLQUFLLENBQUNkO2dCQUUxQixJQUFJYSxTQUFTLE1BQU07b0JBQ2pCVixZQUFZVSxLQUFLRSxXQUFXLENBQUNmO2dCQUMvQjtnQkFFQSxPQUFPRztZQUNUOzs7V0FuQ21CcEI7RUFBbUJpQyxhQUFJO0FBcUMxQyxpQkFyQ21CakMsWUFxQ1prQyxTQUFRckIsa0JBQVc7QUFFMUIsaUJBdkNtQmIsWUF1Q1ptQyxVQUFTUCxtQkFBWTtBQUU1QixpQkF6Q21CNUIsWUF5Q1pvQyxZQUFXO0FBRWxCLGlCQTNDbUJwQyxZQTJDWnFDLGtCQUFrQjtBQThFekIsaUJBekhtQnJDLFlBeUhac0MscUJBQW9CO0lBQ3pCQyxXQUFXO0FBQ2IifQ==
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL3ZpZXcvZnVydGxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBGdXJ0bGVMZXhlciwgRnVydGxlUGFyc2VyLCBsZXhlcnNVdGlsaXRpZXMsIHBhcnNlcnNVdGlsaXRpZXMgfSBmcm9tIFwiLi4vLi4vaW5kZXhcIjsgIC8vL1xuXG5pbXBvcnQgVmlldyBmcm9tIFwiLi4vdmlld1wiO1xuXG5jb25zdCB7IGZ1cnRsZVBhcnNlckZyb21CTkYgfSA9IHBhcnNlcnNVdGlsaXRpZXMsXG4gICAgICB7IGZ1cnRsZUxleGVyRnJvbUVudHJpZXMgfSA9IGxleGVyc1V0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRnVydGxlVmlldyBleHRlbmRzIFZpZXcge1xuICBnZXRUb2tlbnMoKSB7XG4gICAgY29uc3QgbGV4aWNhbEVudHJpZXMgPSB0aGlzLmdldExleGljYWxFbnRyaWVzKCksXG4gICAgICAgICAgZW50cmllcyA9IGxleGljYWxFbnRyaWVzLCAvLy8vXG4gICAgICAgICAgZnVydGxlTGV4ZXIgPSBmdXJ0bGVMZXhlckZyb21FbnRyaWVzKGVudHJpZXMpLFxuICAgICAgICAgIGxleGVyID0gZnVydGxlTGV4ZXIsICAvLy9cbiAgICAgICAgICBjb250ZW50ID0gdGhpcy5nZXRDb250ZW50KCksXG4gICAgICAgICAgdG9rZW5zID0gbGV4ZXIudG9rZW5pc2UoY29udGVudCk7XG5cbiAgICByZXR1cm4gdG9rZW5zO1xuICB9XG5cbiAgZ2V0UGFyc2VUcmVlKHRva2Vucykge1xuICAgIGxldCBwYXJzZVRyZWUgPSBudWxsO1xuXG4gICAgY29uc3QgYm5mID0gdGhpcy5nZXRCTkYoKSxcbiAgICAgICAgICBmdXJ0bGVQYXJzZXIgPSBmdXJ0bGVQYXJzZXJGcm9tQk5GKGJuZiksXG4gICAgICAgICAgcGFyc2VyID0gZnVydGxlUGFyc2VyLCAvLy9cbiAgICAgICAgICBub2RlID0gcGFyc2VyLnBhcnNlKHRva2Vucyk7XG5cbiAgICBpZiAobm9kZSAhPT0gbnVsbCkge1xuICAgICAgcGFyc2VUcmVlID0gbm9kZS5hc1BhcnNlVHJlZSh0b2tlbnMpO1xuICAgIH1cblxuICAgIHJldHVybiBwYXJzZVRyZWU7XG4gIH1cblxuICBzdGF0aWMgTGV4ZXIgPSBGdXJ0bGVMZXhlcjtcblxuICBzdGF0aWMgUGFyc2VyID0gRnVydGxlUGFyc2VyO1xuXG4gIHN0YXRpYyByZWFkT25seSA9IGZhbHNlO1xuXG4gIHN0YXRpYyBpbml0aWFsQ29udGVudCA9IGBOb2RlKiB0ZXJtTm9kZSwgc3RhdGVtZW50Tm9kZTsgQm9vbGVhbiogYm91bmQgPSBmYWxzZTtcbiAgXG5TdHJpbmcgdmFyaWFibGVOYW1lID0gdmFyaWFibGVOYW1lRnJvbVRlcm1Ob2RlKHRlcm1Ob2RlKTtcblxuSWYgKHZhcmlhYmxlTmFtZSA9PSBudWxsKSB7XG4gIEJyZWFrO1xufVxuXG5Ob2RlcyBzdGF0ZW1lbnROb2RlcyA9IG5vZGVzUXVlcnkoc3RhdGVtZW50Tm9kZSwgLy9zdGF0ZW1lbnQpO1xuXG5Gb3JFYWNoKHN0YXRlbWVudE5vZGVzLCAoTm9kZSBzdGF0ZW1lbnROb2RlKSB7XG4gIFN0cmluZyBib3VuZFZhcmlhYmxlTmFtZSA9IGJvdW5kVmFyaWFibGVOYW1lRnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSk7IFxuICBcbiAgSWYgKGJvdW5kVmFyaWFibGVOYW1lID09IHZhcmlhYmxlTmFtZSkge1xuICAgIGJvdW5kID0gdHJ1ZTtcbiAgICBcbiAgICBCcmVhaztcbiAgfVxufSk7XG4gIFxuICBcblN0cmluZyB2YXJpYWJsZU5hbWVGcm9tVGVybU5vZGUoTm9kZSB0ZXJtTm9kZSkge1xuICBTdHJpbmcgdmFyaWFibGVOYW1lID0gbnVsbDtcbiAgXG4gIE5vZGUgdmFyaWFibGVOYW1lVGVybWluYWxOb2RlID0gbm9kZVF1ZXJ5KHRlcm1Ob2RlLCAvdGVybS92YXJpYWJsZS9AbmFtZSk7XG4gIFxuICBJZiAodmFyaWFibGVOYW1lVGVybWluYWxOb2RlICE9IG51bGwpIHtcbiAgICBTdHJpbmcgY29udGVudDtcbiAgICBcbiAgICB7IGNvbnRlbnQgfSA9IHZhcmlhYmxlTmFtZVRlcm1pbmFsTm9kZTtcbiAgICBcbiAgICB2YXJpYWJsZU5hbWUgPSBjb250ZW50O1xuICB9XG4gIFxuICBSZXR1cm4gdmFyaWFibGVOYW1lO1xufVxuXG5TdHJpbmcgYm91bmRWYXJpYWJsZU5hbWVGcm9tU3RhdGVtZW50Tm9kZShOb2RlIHN0YXRlbWVudE5vZGUpIHtcbiAgU3RyaW5nIGJvdW5kVmFyaWFibGVOYW1lID0gbnVsbDtcbiAgXG4gIE5vZGVzIGNoaWxkTm9kZXM7XG4gIFxuICB7IGNoaWxkTm9kZXMgfSA9IHN0YXRlbWVudE5vZGU7XG4gIFxuICBOb2RlIGZpcnN0Q2hpbGROb2RlO1xuXG4gIFsgZmlyc3RDaGlsZE5vZGUgXSA9IGNoaWxkTm9kZXM7XG4gIFxuICBCb29sZWFuIGZpcnN0Q2hpbGROb2RlVGVybWluYWxOb2RlID0gaXNUZXJtaW5hbE5vZGUoZmlyc3RDaGlsZE5vZGUpO1xuICBcbiAgSWYgKGZpcnN0Q2hpbGROb2RlVGVybWluYWxOb2RlKSB7XG4gICAgTm9kZSB0ZXJtaW5hbE5vZGUgPSBmaXJzdENoaWxkTm9kZTtcbiAgICBcbiAgICBTdHJpbmcgY29udGVudDtcbiAgICBcbiAgICB7IGNvbnRlbnQgfSA9IGZpcnN0Q2hpbGROb2RlO1xuICAgIFxuICAgIElmICgoY29udGVudCA9PSBcIuKIgFwiKSB8fCAoY29udGVudCA9PSBcIuKIg1wiKSkge1xuICAgICAgTm9kZSBzZWNvbmRDaGlsZE5vZGU7XG4gICAgICBcbiAgICAgIFsgXywgc2Vjb25kQ2hpbGROb2RlIF0gPSBjaGlsZE5vZGVzO1xuICAgICAgXG4gICAgICBOb2RlIGFyZ3VtZW50Tm9kZSA9IHNlY29uZENoaWxkTm9kZTtcbiAgICAgIFxuICAgICAgTm9kZSBib3VuZFZhcmlhYmxlTmFtZVRlcm1pbmFsTm9kZSA9IG5vZGVRdWVyeShhcmd1bWVudE5vZGUsIC9hcmd1bWVudC90ZXJtL3ZhcmlhYmxlL0BuYW1lKTtcbiAgICAgIFxuICAgICAgSWYgKGJvdW5kVmFyaWFibGVOYW1lVGVybWluYWxOb2RlICE9IG51bGwpIHtcbiAgICAgICAgeyBjb250ZW50IH0gPSBib3VuZFZhcmlhYmxlTmFtZVRlcm1pbmFsTm9kZTtcbiAgICAgICAgXG4gICAgICAgIGJvdW5kVmFyaWFibGVOYW1lID0gY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgICBcbiAgUmV0dXJuIGJvdW5kVmFyaWFibGVOYW1lO1xufVxuYDtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BlcnRpZXMgPSB7XG4gICAgY2xhc3NOYW1lOiBcImZ1cnRsZVwiXG4gIH07XG59XG4iXSwibmFtZXMiOlsiRnVydGxlVmlldyIsImZ1cnRsZVBhcnNlckZyb21CTkYiLCJwYXJzZXJzVXRpbGl0aWVzIiwiZnVydGxlTGV4ZXJGcm9tRW50cmllcyIsImxleGVyc1V0aWxpdGllcyIsImdldFRva2VucyIsImxleGljYWxFbnRyaWVzIiwiZ2V0TGV4aWNhbEVudHJpZXMiLCJlbnRyaWVzIiwiZnVydGxlTGV4ZXIiLCJsZXhlciIsImNvbnRlbnQiLCJnZXRDb250ZW50IiwidG9rZW5zIiwidG9rZW5pc2UiLCJnZXRQYXJzZVRyZWUiLCJwYXJzZVRyZWUiLCJibmYiLCJnZXRCTkYiLCJmdXJ0bGVQYXJzZXIiLCJwYXJzZXIiLCJub2RlIiwicGFyc2UiLCJhc1BhcnNlVHJlZSIsIlZpZXciLCJMZXhlciIsIkZ1cnRsZUxleGVyIiwiUGFyc2VyIiwiRnVydGxlUGFyc2VyIiwicmVhZE9ubHkiLCJpbml0aWFsQ29udGVudCIsImRlZmF1bHRQcm9wZXJ0aWVzIiwiY2xhc3NOYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVNxQkE7OztxQkFQd0Q7MkRBRTVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVqQixJQUFNLEFBQUVDLHNCQUF3QkMsdUJBQWdCLENBQXhDRCxxQkFDRixBQUFFRSx5QkFBMkJDLHNCQUFlLENBQTFDRDtBQUVPLElBQUEsQUFBTUgsMkJBQU47Y0FBTUE7YUFBQUE7Z0NBQUFBO2VBQU4sa0JBQU1BOztrQkFBQUE7O1lBQ25CSyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsaUJBQWlCLElBQUksQ0FBQ0MsaUJBQWlCLElBQ3ZDQyxVQUFVRixnQkFDVkcsY0FBY04sdUJBQXVCSyxVQUNyQ0UsUUFBUUQsYUFDUkUsVUFBVSxJQUFJLENBQUNDLFVBQVUsSUFDekJDLFNBQVNILE1BQU1JLFFBQVEsQ0FBQ0g7Z0JBRTlCLE9BQU9FO1lBQ1Q7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUEsYUFBYUYsTUFBTTtnQkFDakIsSUFBSUcsWUFBWTtnQkFFaEIsSUFBTUMsTUFBTSxJQUFJLENBQUNDLE1BQU0sSUFDakJDLGVBQWVsQixvQkFBb0JnQixNQUNuQ0csU0FBU0QsY0FDVEUsT0FBT0QsT0FBT0UsS0FBSyxDQUFDVDtnQkFFMUIsSUFBSVEsU0FBUyxNQUFNO29CQUNqQkwsWUFBWUssS0FBS0UsV0FBVyxDQUFDVjtnQkFDL0I7Z0JBRUEsT0FBT0c7WUFDVDs7O1dBekJtQmhCO0VBQW1Cd0IsYUFBSTtBQTJCMUMsaUJBM0JtQnhCLFlBMkJaeUIsU0FBUUMsa0JBQVc7QUFFMUIsaUJBN0JtQjFCLFlBNkJaMkIsVUFBU0MsbUJBQVk7QUFFNUIsaUJBL0JtQjVCLFlBK0JaNkIsWUFBVztBQUVsQixpQkFqQ21CN0IsWUFpQ1o4QixrQkFBa0I7QUE4RXpCLGlCQS9HbUI5QixZQStHWitCLHFCQUFvQjtJQUN6QkMsV0FBVztBQUNiIn0=
package/lib/index.js CHANGED
@@ -50,8 +50,16 @@ _export(exports, {
50
50
  },
51
51
  TeXParser: function() {
52
52
  return _parser.default;
53
+ },
54
+ lexersUtilities: function() {
55
+ return _lexers.default;
56
+ },
57
+ parsersUtilities: function() {
58
+ return _parsers.default;
53
59
  }
54
60
  });
61
+ var _lexers = /*#__PURE__*/ _interop_require_default(require("./utilities/lexers"));
62
+ var _parsers = /*#__PURE__*/ _interop_require_default(require("./utilities/parsers"));
55
63
  var _lexer = /*#__PURE__*/ _interop_require_default(require("./teX/lexer"));
56
64
  var _lexer1 = /*#__PURE__*/ _interop_require_default(require("./json/lexer"));
57
65
  var _lexer2 = /*#__PURE__*/ _interop_require_default(require("./furtle/lexer"));
@@ -72,4 +80,4 @@ function _interop_require_default(obj) {
72
80
  };
73
81
  }
74
82
 
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBUZVhMZXhlciB9IGZyb20gXCIuL3RlWC9sZXhlclwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBKU09OTGV4ZXIgfSBmcm9tIFwiLi9qc29uL2xleGVyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEZ1cnRsZUxleGVyIH0gZnJvbSBcIi4vZnVydGxlL2xleGVyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIE5vbWluYWxMZXhlciB9IGZyb20gXCIuL25vbWluYWwvbGV4ZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUGxhaW5UZXh0TGV4ZXIgfSBmcm9tIFwiLi9wbGFpblRleHQvbGV4ZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQ3VzdG9tR3JhbW1hckJORkxleGVyIH0gZnJvbSBcIi4vY3VzdG9tR3JhbW1hckJORi9sZXhlclwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBDdXN0b21HcmFtbWFyUGF0dGVybkxleGVyIH0gZnJvbSBcIi4vY3VzdG9tR3JhbW1hclBhdHRlcm4vbGV4ZXJcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBUZVhQYXJzZXIgfSBmcm9tIFwiLi90ZVgvcGFyc2VyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEpTT05QYXJzZXIgfSBmcm9tIFwiLi9qc29uL3BhcnNlclwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBGdXJ0bGVQYXJzZXIgfSBmcm9tIFwiLi9mdXJ0bGUvcGFyc2VyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIE5vbWluYWxQYXJzZXIgfSBmcm9tIFwiLi9ub21pbmFsL3BhcnNlclwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBQbGFpblRleHRQYXJzZXIgfSBmcm9tIFwiLi9wbGFpblRleHQvcGFyc2VyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEN1c3RvbUdyYW1tYXJCTkZQYXJzZXIgfSBmcm9tIFwiLi9jdXN0b21HcmFtbWFyQk5GL3BhcnNlclwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBDdXN0b21HcmFtbWFyUGF0dGVyblBhcnNlciB9IGZyb20gXCIuL2N1c3RvbUdyYW1tYXJQYXR0ZXJuL3BhcnNlclwiO1xuIl0sIm5hbWVzIjpbIkN1c3RvbUdyYW1tYXJCTkZMZXhlciIsIkN1c3RvbUdyYW1tYXJCTkZQYXJzZXIiLCJDdXN0b21HcmFtbWFyUGF0dGVybkxleGVyIiwiQ3VzdG9tR3JhbW1hclBhdHRlcm5QYXJzZXIiLCJGdXJ0bGVMZXhlciIsIkZ1cnRsZVBhcnNlciIsIkpTT05MZXhlciIsIkpTT05QYXJzZXIiLCJOb21pbmFsTGV4ZXIiLCJOb21pbmFsUGFyc2VyIiwiUGxhaW5UZXh0TGV4ZXIiLCJQbGFpblRleHRQYXJzZXIiLCJUZVhMZXhlciIsIlRlWFBhcnNlciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBT29CQSxxQkFBcUI7ZUFBckJBLGVBQXFCOztJQVFyQkMsc0JBQXNCO2VBQXRCQSxnQkFBc0I7O0lBUHRCQyx5QkFBeUI7ZUFBekJBLGVBQXlCOztJQVF6QkMsMEJBQTBCO2VBQTFCQSxnQkFBMEI7O0lBWjFCQyxXQUFXO2VBQVhBLGVBQVc7O0lBUVhDLFlBQVk7ZUFBWkEsZ0JBQVk7O0lBVFpDLFNBQVM7ZUFBVEEsZUFBUzs7SUFRVEMsVUFBVTtlQUFWQSxnQkFBVTs7SUFOVkMsWUFBWTtlQUFaQSxlQUFZOztJQVFaQyxhQUFhO2VBQWJBLGdCQUFhOztJQVBiQyxjQUFjO2VBQWRBLGVBQWM7O0lBUWRDLGVBQWU7ZUFBZkEsZ0JBQWU7O0lBWmZDLFFBQVE7ZUFBUkEsY0FBUTs7SUFRUkMsU0FBUztlQUFUQSxlQUFTOzs7NERBUk87NkRBQ0M7NkRBQ0U7NkRBQ0M7NkRBQ0U7NkRBQ087NkRBQ0k7NkRBRWhCOzhEQUNDOzhEQUNFOzhEQUNDOzhEQUNFOzhEQUNPOzhEQUNJIn0=
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBsZXhlcnNVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvbGV4ZXJzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHBhcnNlcnNVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvcGFyc2Vyc1wiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIFRlWExleGVyIH0gZnJvbSBcIi4vdGVYL2xleGVyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEpTT05MZXhlciB9IGZyb20gXCIuL2pzb24vbGV4ZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRnVydGxlTGV4ZXIgfSBmcm9tIFwiLi9mdXJ0bGUvbGV4ZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTm9taW5hbExleGVyIH0gZnJvbSBcIi4vbm9taW5hbC9sZXhlclwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBQbGFpblRleHRMZXhlciB9IGZyb20gXCIuL3BsYWluVGV4dC9sZXhlclwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBDdXN0b21HcmFtbWFyQk5GTGV4ZXIgfSBmcm9tIFwiLi9jdXN0b21HcmFtbWFyQk5GL2xleGVyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEN1c3RvbUdyYW1tYXJQYXR0ZXJuTGV4ZXIgfSBmcm9tIFwiLi9jdXN0b21HcmFtbWFyUGF0dGVybi9sZXhlclwiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIFRlWFBhcnNlciB9IGZyb20gXCIuL3RlWC9wYXJzZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgSlNPTlBhcnNlciB9IGZyb20gXCIuL2pzb24vcGFyc2VyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEZ1cnRsZVBhcnNlciB9IGZyb20gXCIuL2Z1cnRsZS9wYXJzZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTm9taW5hbFBhcnNlciB9IGZyb20gXCIuL25vbWluYWwvcGFyc2VyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIFBsYWluVGV4dFBhcnNlciB9IGZyb20gXCIuL3BsYWluVGV4dC9wYXJzZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQ3VzdG9tR3JhbW1hckJORlBhcnNlciB9IGZyb20gXCIuL2N1c3RvbUdyYW1tYXJCTkYvcGFyc2VyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEN1c3RvbUdyYW1tYXJQYXR0ZXJuUGFyc2VyIH0gZnJvbSBcIi4vY3VzdG9tR3JhbW1hclBhdHRlcm4vcGFyc2VyXCI7XG4iXSwibmFtZXMiOlsiQ3VzdG9tR3JhbW1hckJORkxleGVyIiwiQ3VzdG9tR3JhbW1hckJORlBhcnNlciIsIkN1c3RvbUdyYW1tYXJQYXR0ZXJuTGV4ZXIiLCJDdXN0b21HcmFtbWFyUGF0dGVyblBhcnNlciIsIkZ1cnRsZUxleGVyIiwiRnVydGxlUGFyc2VyIiwiSlNPTkxleGVyIiwiSlNPTlBhcnNlciIsIk5vbWluYWxMZXhlciIsIk5vbWluYWxQYXJzZXIiLCJQbGFpblRleHRMZXhlciIsIlBsYWluVGV4dFBhcnNlciIsIlRlWExleGVyIiwiVGVYUGFyc2VyIiwibGV4ZXJzVXRpbGl0aWVzIiwicGFyc2Vyc1V0aWxpdGllcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBVW9CQSxxQkFBcUI7ZUFBckJBLGVBQXFCOztJQVFyQkMsc0JBQXNCO2VBQXRCQSxnQkFBc0I7O0lBUHRCQyx5QkFBeUI7ZUFBekJBLGVBQXlCOztJQVF6QkMsMEJBQTBCO2VBQTFCQSxnQkFBMEI7O0lBWjFCQyxXQUFXO2VBQVhBLGVBQVc7O0lBUVhDLFlBQVk7ZUFBWkEsZ0JBQVk7O0lBVFpDLFNBQVM7ZUFBVEEsZUFBUzs7SUFRVEMsVUFBVTtlQUFWQSxnQkFBVTs7SUFOVkMsWUFBWTtlQUFaQSxlQUFZOztJQVFaQyxhQUFhO2VBQWJBLGdCQUFhOztJQVBiQyxjQUFjO2VBQWRBLGVBQWM7O0lBUWRDLGVBQWU7ZUFBZkEsZ0JBQWU7O0lBWmZDLFFBQVE7ZUFBUkEsY0FBUTs7SUFRUkMsU0FBUztlQUFUQSxlQUFTOztJQVhUQyxlQUFlO2VBQWZBLGVBQWU7O0lBQ2ZDLGdCQUFnQjtlQUFoQkEsZ0JBQWdCOzs7NkRBRE87OERBQ0M7NERBRVI7NkRBQ0M7NkRBQ0U7NkRBQ0M7NkRBQ0U7NkRBQ087NkRBQ0k7NkRBRWhCOzhEQUNDOzhEQUNFOzhEQUNDOzhEQUNFOzhEQUNPOzhEQUNJIn0=
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ default: function() {
13
+ return _default;
14
+ },
15
+ furtleLexerFromEntries: function() {
16
+ return furtleLexerFromEntries;
17
+ },
18
+ furtleLexerFromNothing: function() {
19
+ return furtleLexerFromNothing;
20
+ }
21
+ });
22
+ var _occamlexers = require("occam-lexers");
23
+ var _lexer = /*#__PURE__*/ _interop_require_default(require("../furtle/lexer"));
24
+ function _interop_require_default(obj) {
25
+ return obj && obj.__esModule ? obj : {
26
+ default: obj
27
+ };
28
+ }
29
+ var lexerFromRules = _occamlexers.lexerUtilities.lexerFromRules, rulesFromEntries = _occamlexers.lexerUtilities.rulesFromEntries;
30
+ function furtleLexerFromEntries(entries) {
31
+ var rules = rulesFromEntries(entries), furtleLexer = lexerFromRules(_lexer.default, rules);
32
+ return furtleLexer;
33
+ }
34
+ function furtleLexerFromNothing() {
35
+ var entries = _lexer.default.entries, rules = rulesFromEntries(entries), furtleLexer = lexerFromRules(_lexer.default, rules);
36
+ return furtleLexer;
37
+ }
38
+ var _default = {
39
+ furtleLexerFromEntries: furtleLexerFromEntries,
40
+ furtleLexerFromNothing: furtleLexerFromNothing
41
+ };
42
+
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbGV4ZXJzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBsZXhlclV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1sZXhlcnNcIjtcblxuaW1wb3J0IEZ1cnRsZUxleGVyIGZyb20gXCIuLi9mdXJ0bGUvbGV4ZXJcIjtcblxuY29uc3QgeyBsZXhlckZyb21SdWxlcywgcnVsZXNGcm9tRW50cmllcyB9ID0gbGV4ZXJVdGlsaXRpZXM7XG5cbmV4cG9ydCBmdW5jdGlvbiBmdXJ0bGVMZXhlckZyb21FbnRyaWVzKGVudHJpZXMpIHtcbiAgY29uc3QgcnVsZXMgPSBydWxlc0Zyb21FbnRyaWVzKGVudHJpZXMpLFxuICAgICAgICBmdXJ0bGVMZXhlciA9IGxleGVyRnJvbVJ1bGVzKEZ1cnRsZUxleGVyLCBydWxlcyk7XG5cbiAgcmV0dXJuIGZ1cnRsZUxleGVyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZnVydGxlTGV4ZXJGcm9tTm90aGluZygpIHtcbiAgY29uc3QgeyBlbnRyaWVzIH0gPSBGdXJ0bGVMZXhlcixcbiAgICAgICAgcnVsZXMgPSBydWxlc0Zyb21FbnRyaWVzKGVudHJpZXMpLFxuICAgICAgICBmdXJ0bGVMZXhlciA9IGxleGVyRnJvbVJ1bGVzKEZ1cnRsZUxleGVyLCBydWxlcyk7XG5cbiAgcmV0dXJuIGZ1cnRsZUxleGVyO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGZ1cnRsZUxleGVyRnJvbUVudHJpZXMsXG4gIGZ1cnRsZUxleGVyRnJvbU5vdGhpbmdcbn07XG4iXSwibmFtZXMiOlsiZnVydGxlTGV4ZXJGcm9tRW50cmllcyIsImZ1cnRsZUxleGVyRnJvbU5vdGhpbmciLCJsZXhlckZyb21SdWxlcyIsImxleGVyVXRpbGl0aWVzIiwicnVsZXNGcm9tRW50cmllcyIsImVudHJpZXMiLCJydWxlcyIsImZ1cnRsZUxleGVyIiwiRnVydGxlTGV4ZXIiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQXVCQSxPQUdFO2VBSEY7O0lBZmdCQSxzQkFBc0I7ZUFBdEJBOztJQU9BQyxzQkFBc0I7ZUFBdEJBOzs7MkJBYmU7NERBRVA7Ozs7OztBQUV4QixJQUFRQyxpQkFBcUNDLDJCQUFjLENBQW5ERCxnQkFBZ0JFLG1CQUFxQkQsMkJBQWMsQ0FBbkNDO0FBRWpCLFNBQVNKLHVCQUF1QkssT0FBTztJQUM1QyxJQUFNQyxRQUFRRixpQkFBaUJDLFVBQ3pCRSxjQUFjTCxlQUFlTSxjQUFXLEVBQUVGO0lBRWhELE9BQU9DO0FBQ1Q7QUFFTyxTQUFTTjtJQUNkLElBQU0sQUFBRUksVUFBWUcsY0FBVyxDQUF2QkgsU0FDRkMsUUFBUUYsaUJBQWlCQyxVQUN6QkUsY0FBY0wsZUFBZU0sY0FBVyxFQUFFRjtJQUVoRCxPQUFPQztBQUNUO0lBRUEsV0FBZTtJQUNiUCx3QkFBQUE7SUFDQUMsd0JBQUFBO0FBQ0YifQ==
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ default: function() {
13
+ return _default;
14
+ },
15
+ furtleParserFromBNF: function() {
16
+ return furtleParserFromBNF;
17
+ },
18
+ furtleParserFromNothing: function() {
19
+ return furtleParserFromNothing;
20
+ }
21
+ });
22
+ var _occamparsers = require("occam-parsers");
23
+ var _occamgrammarutilities = require("occam-grammar-utilities");
24
+ var _parser = /*#__PURE__*/ _interop_require_default(require("../furtle/parser"));
25
+ function _interop_require_default(obj) {
26
+ return obj && obj.__esModule ? obj : {
27
+ default: obj
28
+ };
29
+ }
30
+ var rulesFromBNF = _occamparsers.parserUtilities.rulesFromBNF, parserFromRules = _occamparsers.parserUtilities.parserFromRules;
31
+ function furtleParserFromBNF(bnf) {
32
+ var rules;
33
+ rules = rulesFromBNF(bnf);
34
+ rules = (0, _occamgrammarutilities.eliminateLeftRecursion)(rules); ///
35
+ var furtleParser = parserFromRules(_parser.default, rules);
36
+ return furtleParser;
37
+ }
38
+ function furtleParserFromNothing() {
39
+ var bnf = _parser.default.bnf;
40
+ var rules;
41
+ rules = rulesFromBNF(bnf);
42
+ rules = (0, _occamgrammarutilities.eliminateLeftRecursion)(rules); ///
43
+ var furtleParser = parserFromRules(_parser.default, rules);
44
+ return furtleParser;
45
+ }
46
+ var _default = {
47
+ furtleParserFromBNF: furtleParserFromBNF,
48
+ furtleParserFromNothing: furtleParserFromNothing
49
+ };
50
+
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcGFyc2Vycy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgcGFyc2VyVXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLXBhcnNlcnNcIjtcbmltcG9ydCB7IGVsaW1pbmF0ZUxlZnRSZWN1cnNpb24gfSBmcm9tIFwib2NjYW0tZ3JhbW1hci11dGlsaXRpZXNcIjtcblxuaW1wb3J0IEZ1cnRsZVBhcnNlciBmcm9tIFwiLi4vZnVydGxlL3BhcnNlclwiO1xuXG5jb25zdCB7IHJ1bGVzRnJvbUJORiwgcGFyc2VyRnJvbVJ1bGVzIH0gPSBwYXJzZXJVdGlsaXRpZXM7XG5cbmV4cG9ydCBmdW5jdGlvbiBmdXJ0bGVQYXJzZXJGcm9tQk5GKGJuZikge1xuICBsZXQgcnVsZXM7XG5cbiAgcnVsZXMgPSBydWxlc0Zyb21CTkYoYm5mKTtcblxuICBydWxlcyA9IGVsaW1pbmF0ZUxlZnRSZWN1cnNpb24ocnVsZXMpOyAgLy8vXG5cbiAgY29uc3QgZnVydGxlUGFyc2VyID0gcGFyc2VyRnJvbVJ1bGVzKEZ1cnRsZVBhcnNlciwgcnVsZXMpO1xuXG4gIHJldHVybiBmdXJ0bGVQYXJzZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmdXJ0bGVQYXJzZXJGcm9tTm90aGluZygpIHtcbiAgY29uc3QgeyBibmYgfSA9IEZ1cnRsZVBhcnNlcjtcblxuICBsZXQgcnVsZXM7XG5cbiAgcnVsZXMgPSBydWxlc0Zyb21CTkYoYm5mKTtcblxuICBydWxlcyA9IGVsaW1pbmF0ZUxlZnRSZWN1cnNpb24ocnVsZXMpOyAgLy8vXG5cbiAgY29uc3QgZnVydGxlUGFyc2VyID0gcGFyc2VyRnJvbVJ1bGVzKEZ1cnRsZVBhcnNlciwgcnVsZXMpO1xuXG4gIHJldHVybiBmdXJ0bGVQYXJzZXI7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgZnVydGxlUGFyc2VyRnJvbUJORixcbiAgZnVydGxlUGFyc2VyRnJvbU5vdGhpbmdcbn07XG4iXSwibmFtZXMiOlsiZnVydGxlUGFyc2VyRnJvbUJORiIsImZ1cnRsZVBhcnNlckZyb21Ob3RoaW5nIiwicnVsZXNGcm9tQk5GIiwicGFyc2VyVXRpbGl0aWVzIiwicGFyc2VyRnJvbVJ1bGVzIiwiYm5mIiwicnVsZXMiLCJlbGltaW5hdGVMZWZ0UmVjdXJzaW9uIiwiZnVydGxlUGFyc2VyIiwiRnVydGxlUGFyc2VyIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFtQ0EsT0FHRTtlQUhGOztJQTFCZ0JBLG1CQUFtQjtlQUFuQkE7O0lBWUFDLHVCQUF1QjtlQUF2QkE7Ozs0QkFuQmdCO3FDQUNPOzZEQUVkOzs7Ozs7QUFFekIsSUFBUUMsZUFBa0NDLDZCQUFlLENBQWpERCxjQUFjRSxrQkFBb0JELDZCQUFlLENBQW5DQztBQUVmLFNBQVNKLG9CQUFvQkssR0FBRztJQUNyQyxJQUFJQztJQUVKQSxRQUFRSixhQUFhRztJQUVyQkMsUUFBUUMsSUFBQUEsNkNBQXNCLEVBQUNELFFBQVMsR0FBRztJQUUzQyxJQUFNRSxlQUFlSixnQkFBZ0JLLGVBQVksRUFBRUg7SUFFbkQsT0FBT0U7QUFDVDtBQUVPLFNBQVNQO0lBQ2QsSUFBTSxBQUFFSSxNQUFRSSxlQUFZLENBQXBCSjtJQUVSLElBQUlDO0lBRUpBLFFBQVFKLGFBQWFHO0lBRXJCQyxRQUFRQyxJQUFBQSw2Q0FBc0IsRUFBQ0QsUUFBUyxHQUFHO0lBRTNDLElBQU1FLGVBQWVKLGdCQUFnQkssZUFBWSxFQUFFSDtJQUVuRCxPQUFPRTtBQUNUO0lBRUEsV0FBZTtJQUNiUixxQkFBQUE7SUFDQUMseUJBQUFBO0FBQ0YifQ==
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-grammars",
3
3
  "author": "James Smith",
4
- "version": "1.1.1",
4
+ "version": "1.2.4",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-grammars",
7
7
  "description": "Occam's grammars.",
@@ -1,21 +1,17 @@
1
1
  "use strict";
2
2
 
3
- import { lexerUtilities } from "occam-lexers";
4
- import { parserUtilities } from "occam-parsers";
5
- import { eliminateLeftRecursion } from "occam-grammar-utilities";
6
- import { FurtleLexer, FurtleParser } from "../../index"; ///
3
+ import { FurtleLexer, FurtleParser, lexersUtilities, parsersUtilities } from "../../index"; ///
7
4
 
8
5
  import View from "../view";
9
6
 
10
- const { rulesFromEntries, lexerFromRules } = lexerUtilities,
11
- { rulesFromBNF, parserFromRulesAndStartRuleName } = parserUtilities;
7
+ const { furtleParserFromBNF } = parsersUtilities,
8
+ { furtleLexerFromEntries } = lexersUtilities;
12
9
 
13
10
  export default class FurtleView extends View {
14
11
  getTokens() {
15
12
  const lexicalEntries = this.getLexicalEntries(),
16
- entries = lexicalEntries, ///
17
- rules = rulesFromEntries(entries),
18
- furtleLexer = lexerFromRules(FurtleLexer, rules),
13
+ entries = lexicalEntries, ////
14
+ furtleLexer = furtleLexerFromEntries(entries),
19
15
  lexer = furtleLexer, ///
20
16
  content = this.getContent(),
21
17
  tokens = lexer.tokenise(content);
@@ -26,17 +22,8 @@ export default class FurtleView extends View {
26
22
  getParseTree(tokens) {
27
23
  let parseTree = null;
28
24
 
29
- const bnf = this.getBNF();
30
-
31
- let rules;
32
-
33
- rules = rulesFromBNF(bnf);
34
-
35
- rules = eliminateLeftRecursion(rules); ///
36
-
37
- const ruleName = this.getRuleName(),
38
- startRuleName = ruleName, ///
39
- furtleParser = parserFromRulesAndStartRuleName(FurtleParser, rules, startRuleName),
25
+ const bnf = this.getBNF(),
26
+ furtleParser = furtleParserFromBNF(bnf),
40
27
  parser = furtleParser, ///
41
28
  node = parser.parse(tokens);
42
29
 
package/src/index.js CHANGED
@@ -1,5 +1,8 @@
1
1
  "use strict";
2
2
 
3
+ export { default as lexersUtilities } from "./utilities/lexers";
4
+ export { default as parsersUtilities } from "./utilities/parsers";
5
+
3
6
  export { default as TeXLexer } from "./teX/lexer";
4
7
  export { default as JSONLexer } from "./json/lexer";
5
8
  export { default as FurtleLexer } from "./furtle/lexer";
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ import { lexerUtilities } from "occam-lexers";
4
+
5
+ import FurtleLexer from "../furtle/lexer";
6
+
7
+ const { lexerFromRules, rulesFromEntries } = lexerUtilities;
8
+
9
+ export function furtleLexerFromEntries(entries) {
10
+ const rules = rulesFromEntries(entries),
11
+ furtleLexer = lexerFromRules(FurtleLexer, rules);
12
+
13
+ return furtleLexer;
14
+ }
15
+
16
+ export function furtleLexerFromNothing() {
17
+ const { entries } = FurtleLexer,
18
+ rules = rulesFromEntries(entries),
19
+ furtleLexer = lexerFromRules(FurtleLexer, rules);
20
+
21
+ return furtleLexer;
22
+ }
23
+
24
+ export default {
25
+ furtleLexerFromEntries,
26
+ furtleLexerFromNothing
27
+ };
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ import { parserUtilities } from "occam-parsers";
4
+ import { eliminateLeftRecursion } from "occam-grammar-utilities";
5
+
6
+ import FurtleParser from "../furtle/parser";
7
+
8
+ const { rulesFromBNF, parserFromRules } = parserUtilities;
9
+
10
+ export function furtleParserFromBNF(bnf) {
11
+ let rules;
12
+
13
+ rules = rulesFromBNF(bnf);
14
+
15
+ rules = eliminateLeftRecursion(rules); ///
16
+
17
+ const furtleParser = parserFromRules(FurtleParser, rules);
18
+
19
+ return furtleParser;
20
+ }
21
+
22
+ export function furtleParserFromNothing() {
23
+ const { bnf } = FurtleParser;
24
+
25
+ let rules;
26
+
27
+ rules = rulesFromBNF(bnf);
28
+
29
+ rules = eliminateLeftRecursion(rules); ///
30
+
31
+ const furtleParser = parserFromRules(FurtleParser, rules);
32
+
33
+ return furtleParser;
34
+ }
35
+
36
+ export default {
37
+ furtleParserFromBNF,
38
+ furtleParserFromNothing
39
+ };