occam-grammars 1.2.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
@@ -10,16 +10,22 @@ function _export(target, all) {
10
10
  }
11
11
  _export(exports, {
12
12
  CustomGrammarBNFLexer: function() {
13
- return _lexer4.default;
13
+ return _lexer5.default;
14
14
  },
15
15
  CustomGrammarBNFParser: function() {
16
- return _parser4.default;
16
+ return _parser5.default;
17
17
  },
18
18
  CustomGrammarPatternLexer: function() {
19
- return _lexer5.default;
19
+ return _lexer6.default;
20
20
  },
21
21
  CustomGrammarPatternParser: function() {
22
- return _parser5.default;
22
+ return _parser6.default;
23
+ },
24
+ FurtleLexer: function() {
25
+ return _lexer2.default;
26
+ },
27
+ FurtleParser: function() {
28
+ return _parser2.default;
23
29
  },
24
30
  JSONLexer: function() {
25
31
  return _lexer1.default;
@@ -28,16 +34,16 @@ _export(exports, {
28
34
  return _parser1.default;
29
35
  },
30
36
  NominalLexer: function() {
31
- return _lexer2.default;
37
+ return _lexer3.default;
32
38
  },
33
39
  NominalParser: function() {
34
- return _parser2.default;
40
+ return _parser3.default;
35
41
  },
36
42
  PlainTextLexer: function() {
37
- return _lexer3.default;
43
+ return _lexer4.default;
38
44
  },
39
45
  PlainTextParser: function() {
40
- return _parser3.default;
46
+ return _parser4.default;
41
47
  },
42
48
  TeXLexer: function() {
43
49
  return _lexer.default;
@@ -56,20 +62,22 @@ var _lexers = /*#__PURE__*/ _interop_require_default(require("./utilities/lexers
56
62
  var _parsers = /*#__PURE__*/ _interop_require_default(require("./utilities/parsers"));
57
63
  var _lexer = /*#__PURE__*/ _interop_require_default(require("./teX/lexer"));
58
64
  var _lexer1 = /*#__PURE__*/ _interop_require_default(require("./json/lexer"));
59
- var _lexer2 = /*#__PURE__*/ _interop_require_default(require("./nominal/lexer"));
60
- var _lexer3 = /*#__PURE__*/ _interop_require_default(require("./plainText/lexer"));
61
- var _lexer4 = /*#__PURE__*/ _interop_require_default(require("./customGrammarBNF/lexer"));
62
- var _lexer5 = /*#__PURE__*/ _interop_require_default(require("./customGrammarPattern/lexer"));
65
+ var _lexer2 = /*#__PURE__*/ _interop_require_default(require("./furtle/lexer"));
66
+ var _lexer3 = /*#__PURE__*/ _interop_require_default(require("./nominal/lexer"));
67
+ var _lexer4 = /*#__PURE__*/ _interop_require_default(require("./plainText/lexer"));
68
+ var _lexer5 = /*#__PURE__*/ _interop_require_default(require("./customGrammarBNF/lexer"));
69
+ var _lexer6 = /*#__PURE__*/ _interop_require_default(require("./customGrammarPattern/lexer"));
63
70
  var _parser = /*#__PURE__*/ _interop_require_default(require("./teX/parser"));
64
71
  var _parser1 = /*#__PURE__*/ _interop_require_default(require("./json/parser"));
65
- var _parser2 = /*#__PURE__*/ _interop_require_default(require("./nominal/parser"));
66
- var _parser3 = /*#__PURE__*/ _interop_require_default(require("./plainText/parser"));
67
- var _parser4 = /*#__PURE__*/ _interop_require_default(require("./customGrammarBNF/parser"));
68
- var _parser5 = /*#__PURE__*/ _interop_require_default(require("./customGrammarPattern/parser"));
72
+ var _parser2 = /*#__PURE__*/ _interop_require_default(require("./furtle/parser"));
73
+ var _parser3 = /*#__PURE__*/ _interop_require_default(require("./nominal/parser"));
74
+ var _parser4 = /*#__PURE__*/ _interop_require_default(require("./plainText/parser"));
75
+ var _parser5 = /*#__PURE__*/ _interop_require_default(require("./customGrammarBNF/parser"));
76
+ var _parser6 = /*#__PURE__*/ _interop_require_default(require("./customGrammarPattern/parser"));
69
77
  function _interop_require_default(obj) {
70
78
  return obj && obj.__esModule ? obj : {
71
79
  default: obj
72
80
  };
73
81
  }
74
82
 
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBsZXhlcnNVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvbGV4ZXJzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHBhcnNlcnNVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvcGFyc2Vyc1wiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIFRlWExleGVyIH0gZnJvbSBcIi4vdGVYL2xleGVyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEpTT05MZXhlciB9IGZyb20gXCIuL2pzb24vbGV4ZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTm9taW5hbExleGVyIH0gZnJvbSBcIi4vbm9taW5hbC9sZXhlclwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBQbGFpblRleHRMZXhlciB9IGZyb20gXCIuL3BsYWluVGV4dC9sZXhlclwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBDdXN0b21HcmFtbWFyQk5GTGV4ZXIgfSBmcm9tIFwiLi9jdXN0b21HcmFtbWFyQk5GL2xleGVyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEN1c3RvbUdyYW1tYXJQYXR0ZXJuTGV4ZXIgfSBmcm9tIFwiLi9jdXN0b21HcmFtbWFyUGF0dGVybi9sZXhlclwiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIFRlWFBhcnNlciB9IGZyb20gXCIuL3RlWC9wYXJzZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgSlNPTlBhcnNlciB9IGZyb20gXCIuL2pzb24vcGFyc2VyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIE5vbWluYWxQYXJzZXIgfSBmcm9tIFwiLi9ub21pbmFsL3BhcnNlclwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBQbGFpblRleHRQYXJzZXIgfSBmcm9tIFwiLi9wbGFpblRleHQvcGFyc2VyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEN1c3RvbUdyYW1tYXJCTkZQYXJzZXIgfSBmcm9tIFwiLi9jdXN0b21HcmFtbWFyQk5GL3BhcnNlclwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBDdXN0b21HcmFtbWFyUGF0dGVyblBhcnNlciB9IGZyb20gXCIuL2N1c3RvbUdyYW1tYXJQYXR0ZXJuL3BhcnNlclwiO1xuIl0sIm5hbWVzIjpbIkN1c3RvbUdyYW1tYXJCTkZMZXhlciIsIkN1c3RvbUdyYW1tYXJCTkZQYXJzZXIiLCJDdXN0b21HcmFtbWFyUGF0dGVybkxleGVyIiwiQ3VzdG9tR3JhbW1hclBhdHRlcm5QYXJzZXIiLCJKU09OTGV4ZXIiLCJKU09OUGFyc2VyIiwiTm9taW5hbExleGVyIiwiTm9taW5hbFBhcnNlciIsIlBsYWluVGV4dExleGVyIiwiUGxhaW5UZXh0UGFyc2VyIiwiVGVYTGV4ZXIiLCJUZVhQYXJzZXIiLCJsZXhlcnNVdGlsaXRpZXMiLCJwYXJzZXJzVXRpbGl0aWVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFTb0JBLHFCQUFxQjtlQUFyQkEsZUFBcUI7O0lBT3JCQyxzQkFBc0I7ZUFBdEJBLGdCQUFzQjs7SUFOdEJDLHlCQUF5QjtlQUF6QkEsZUFBeUI7O0lBT3pCQywwQkFBMEI7ZUFBMUJBLGdCQUEwQjs7SUFYMUJDLFNBQVM7ZUFBVEEsZUFBUzs7SUFPVEMsVUFBVTtlQUFWQSxnQkFBVTs7SUFOVkMsWUFBWTtlQUFaQSxlQUFZOztJQU9aQyxhQUFhO2VBQWJBLGdCQUFhOztJQU5iQyxjQUFjO2VBQWRBLGVBQWM7O0lBT2RDLGVBQWU7ZUFBZkEsZ0JBQWU7O0lBVmZDLFFBQVE7ZUFBUkEsY0FBUTs7SUFPUkMsU0FBUztlQUFUQSxlQUFTOztJQVZUQyxlQUFlO2VBQWZBLGVBQWU7O0lBQ2ZDLGdCQUFnQjtlQUFoQkEsZ0JBQWdCOzs7NkRBRE87OERBQ0M7NERBRVI7NkRBQ0M7NkRBQ0c7NkRBQ0U7NkRBQ087NkRBQ0k7NkRBRWhCOzhEQUNDOzhEQUNHOzhEQUNFOzhEQUNPOzhEQUNJIn0=
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBsZXhlcnNVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvbGV4ZXJzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHBhcnNlcnNVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvcGFyc2Vyc1wiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIFRlWExleGVyIH0gZnJvbSBcIi4vdGVYL2xleGVyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEpTT05MZXhlciB9IGZyb20gXCIuL2pzb24vbGV4ZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRnVydGxlTGV4ZXIgfSBmcm9tIFwiLi9mdXJ0bGUvbGV4ZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTm9taW5hbExleGVyIH0gZnJvbSBcIi4vbm9taW5hbC9sZXhlclwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBQbGFpblRleHRMZXhlciB9IGZyb20gXCIuL3BsYWluVGV4dC9sZXhlclwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBDdXN0b21HcmFtbWFyQk5GTGV4ZXIgfSBmcm9tIFwiLi9jdXN0b21HcmFtbWFyQk5GL2xleGVyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEN1c3RvbUdyYW1tYXJQYXR0ZXJuTGV4ZXIgfSBmcm9tIFwiLi9jdXN0b21HcmFtbWFyUGF0dGVybi9sZXhlclwiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIFRlWFBhcnNlciB9IGZyb20gXCIuL3RlWC9wYXJzZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgSlNPTlBhcnNlciB9IGZyb20gXCIuL2pzb24vcGFyc2VyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEZ1cnRsZVBhcnNlciB9IGZyb20gXCIuL2Z1cnRsZS9wYXJzZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTm9taW5hbFBhcnNlciB9IGZyb20gXCIuL25vbWluYWwvcGFyc2VyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIFBsYWluVGV4dFBhcnNlciB9IGZyb20gXCIuL3BsYWluVGV4dC9wYXJzZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQ3VzdG9tR3JhbW1hckJORlBhcnNlciB9IGZyb20gXCIuL2N1c3RvbUdyYW1tYXJCTkYvcGFyc2VyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEN1c3RvbUdyYW1tYXJQYXR0ZXJuUGFyc2VyIH0gZnJvbSBcIi4vY3VzdG9tR3JhbW1hclBhdHRlcm4vcGFyc2VyXCI7XG4iXSwibmFtZXMiOlsiQ3VzdG9tR3JhbW1hckJORkxleGVyIiwiQ3VzdG9tR3JhbW1hckJORlBhcnNlciIsIkN1c3RvbUdyYW1tYXJQYXR0ZXJuTGV4ZXIiLCJDdXN0b21HcmFtbWFyUGF0dGVyblBhcnNlciIsIkZ1cnRsZUxleGVyIiwiRnVydGxlUGFyc2VyIiwiSlNPTkxleGVyIiwiSlNPTlBhcnNlciIsIk5vbWluYWxMZXhlciIsIk5vbWluYWxQYXJzZXIiLCJQbGFpblRleHRMZXhlciIsIlBsYWluVGV4dFBhcnNlciIsIlRlWExleGVyIiwiVGVYUGFyc2VyIiwibGV4ZXJzVXRpbGl0aWVzIiwicGFyc2Vyc1V0aWxpdGllcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBVW9CQSxxQkFBcUI7ZUFBckJBLGVBQXFCOztJQVFyQkMsc0JBQXNCO2VBQXRCQSxnQkFBc0I7O0lBUHRCQyx5QkFBeUI7ZUFBekJBLGVBQXlCOztJQVF6QkMsMEJBQTBCO2VBQTFCQSxnQkFBMEI7O0lBWjFCQyxXQUFXO2VBQVhBLGVBQVc7O0lBUVhDLFlBQVk7ZUFBWkEsZ0JBQVk7O0lBVFpDLFNBQVM7ZUFBVEEsZUFBUzs7SUFRVEMsVUFBVTtlQUFWQSxnQkFBVTs7SUFOVkMsWUFBWTtlQUFaQSxlQUFZOztJQVFaQyxhQUFhO2VBQWJBLGdCQUFhOztJQVBiQyxjQUFjO2VBQWRBLGVBQWM7O0lBUWRDLGVBQWU7ZUFBZkEsZ0JBQWU7O0lBWmZDLFFBQVE7ZUFBUkEsY0FBUTs7SUFRUkMsU0FBUztlQUFUQSxlQUFTOztJQVhUQyxlQUFlO2VBQWZBLGVBQWU7O0lBQ2ZDLGdCQUFnQjtlQUFoQkEsZ0JBQWdCOzs7NkRBRE87OERBQ0M7NERBRVI7NkRBQ0M7NkRBQ0U7NkRBQ0M7NkRBQ0U7NkRBQ087NkRBQ0k7NkRBRWhCOzhEQUNDOzhEQUNFOzhEQUNDOzhEQUNFOzhEQUNPOzhEQUNJIn0=
@@ -12,6 +12,9 @@ _export(exports, {
12
12
  default: function() {
13
13
  return _default;
14
14
  },
15
+ furtleLexerFromEntries: function() {
16
+ return furtleLexerFromEntries;
17
+ },
15
18
  furtleLexerFromNothing: function() {
16
19
  return furtleLexerFromNothing;
17
20
  }
@@ -24,12 +27,17 @@ function _interop_require_default(obj) {
24
27
  };
25
28
  }
26
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
+ }
27
34
  function furtleLexerFromNothing() {
28
35
  var entries = _lexer.default.entries, rules = rulesFromEntries(entries), furtleLexer = lexerFromRules(_lexer.default, rules);
29
36
  return furtleLexer;
30
37
  }
31
38
  var _default = {
39
+ furtleLexerFromEntries: furtleLexerFromEntries,
32
40
  furtleLexerFromNothing: furtleLexerFromNothing
33
41
  };
34
42
 
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbGV4ZXJzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBsZXhlclV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1sZXhlcnNcIjtcblxuaW1wb3J0IEZ1cnRsZUxleGVyIGZyb20gXCIuLi9mdXJ0bGUvbGV4ZXJcIjtcblxuY29uc3QgeyBsZXhlckZyb21SdWxlcywgcnVsZXNGcm9tRW50cmllcyB9ID0gbGV4ZXJVdGlsaXRpZXM7XG5cbmV4cG9ydCBmdW5jdGlvbiBmdXJ0bGVMZXhlckZyb21Ob3RoaW5nKCkge1xuICBjb25zdCB7IGVudHJpZXMgfSA9IEZ1cnRsZUxleGVyLFxuICAgICAgICBydWxlcyA9IHJ1bGVzRnJvbUVudHJpZXMoZW50cmllcyksXG4gICAgICAgIGZ1cnRsZUxleGVyID0gbGV4ZXJGcm9tUnVsZXMoRnVydGxlTGV4ZXIsIHJ1bGVzKTtcblxuICByZXR1cm4gZnVydGxlTGV4ZXI7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgZnVydGxlTGV4ZXJGcm9tTm90aGluZ1xufTtcbiJdLCJuYW1lcyI6WyJmdXJ0bGVMZXhlckZyb21Ob3RoaW5nIiwibGV4ZXJGcm9tUnVsZXMiLCJsZXhlclV0aWxpdGllcyIsInJ1bGVzRnJvbUVudHJpZXMiLCJlbnRyaWVzIiwiRnVydGxlTGV4ZXIiLCJydWxlcyIsImZ1cnRsZUxleGVyIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFnQkEsT0FFRTtlQUZGOztJQVJnQkEsc0JBQXNCO2VBQXRCQTs7OzJCQU5lOzREQUVQOzs7Ozs7QUFFeEIsSUFBUUMsaUJBQXFDQywyQkFBYyxDQUFuREQsZ0JBQWdCRSxtQkFBcUJELDJCQUFjLENBQW5DQztBQUVqQixTQUFTSDtJQUNkLElBQU0sQUFBRUksVUFBWUMsY0FBVyxDQUF2QkQsU0FDRkUsUUFBUUgsaUJBQWlCQyxVQUN6QkcsY0FBY04sZUFBZUksY0FBVyxFQUFFQztJQUVoRCxPQUFPQztBQUNUO0lBRUEsV0FBZTtJQUNiUCx3QkFBQUE7QUFDRiJ9
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbGV4ZXJzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBsZXhlclV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1sZXhlcnNcIjtcblxuaW1wb3J0IEZ1cnRsZUxleGVyIGZyb20gXCIuLi9mdXJ0bGUvbGV4ZXJcIjtcblxuY29uc3QgeyBsZXhlckZyb21SdWxlcywgcnVsZXNGcm9tRW50cmllcyB9ID0gbGV4ZXJVdGlsaXRpZXM7XG5cbmV4cG9ydCBmdW5jdGlvbiBmdXJ0bGVMZXhlckZyb21FbnRyaWVzKGVudHJpZXMpIHtcbiAgY29uc3QgcnVsZXMgPSBydWxlc0Zyb21FbnRyaWVzKGVudHJpZXMpLFxuICAgICAgICBmdXJ0bGVMZXhlciA9IGxleGVyRnJvbVJ1bGVzKEZ1cnRsZUxleGVyLCBydWxlcyk7XG5cbiAgcmV0dXJuIGZ1cnRsZUxleGVyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZnVydGxlTGV4ZXJGcm9tTm90aGluZygpIHtcbiAgY29uc3QgeyBlbnRyaWVzIH0gPSBGdXJ0bGVMZXhlcixcbiAgICAgICAgcnVsZXMgPSBydWxlc0Zyb21FbnRyaWVzKGVudHJpZXMpLFxuICAgICAgICBmdXJ0bGVMZXhlciA9IGxleGVyRnJvbVJ1bGVzKEZ1cnRsZUxleGVyLCBydWxlcyk7XG5cbiAgcmV0dXJuIGZ1cnRsZUxleGVyO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGZ1cnRsZUxleGVyRnJvbUVudHJpZXMsXG4gIGZ1cnRsZUxleGVyRnJvbU5vdGhpbmdcbn07XG4iXSwibmFtZXMiOlsiZnVydGxlTGV4ZXJGcm9tRW50cmllcyIsImZ1cnRsZUxleGVyRnJvbU5vdGhpbmciLCJsZXhlckZyb21SdWxlcyIsImxleGVyVXRpbGl0aWVzIiwicnVsZXNGcm9tRW50cmllcyIsImVudHJpZXMiLCJydWxlcyIsImZ1cnRsZUxleGVyIiwiRnVydGxlTGV4ZXIiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQXVCQSxPQUdFO2VBSEY7O0lBZmdCQSxzQkFBc0I7ZUFBdEJBOztJQU9BQyxzQkFBc0I7ZUFBdEJBOzs7MkJBYmU7NERBRVA7Ozs7OztBQUV4QixJQUFRQyxpQkFBcUNDLDJCQUFjLENBQW5ERCxnQkFBZ0JFLG1CQUFxQkQsMkJBQWMsQ0FBbkNDO0FBRWpCLFNBQVNKLHVCQUF1QkssT0FBTztJQUM1QyxJQUFNQyxRQUFRRixpQkFBaUJDLFVBQ3pCRSxjQUFjTCxlQUFlTSxjQUFXLEVBQUVGO0lBRWhELE9BQU9DO0FBQ1Q7QUFFTyxTQUFTTjtJQUNkLElBQU0sQUFBRUksVUFBWUcsY0FBVyxDQUF2QkgsU0FDRkMsUUFBUUYsaUJBQWlCQyxVQUN6QkUsY0FBY0wsZUFBZU0sY0FBVyxFQUFFRjtJQUVoRCxPQUFPQztBQUNUO0lBRUEsV0FBZTtJQUNiUCx3QkFBQUE7SUFDQUMsd0JBQUFBO0FBQ0YifQ==
@@ -12,6 +12,9 @@ _export(exports, {
12
12
  default: function() {
13
13
  return _default;
14
14
  },
15
+ furtleParserFromBNF: function() {
16
+ return furtleParserFromBNF;
17
+ },
15
18
  furtleParserFromNothing: function() {
16
19
  return furtleParserFromNothing;
17
20
  }
@@ -25,6 +28,13 @@ function _interop_require_default(obj) {
25
28
  };
26
29
  }
27
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
+ }
28
38
  function furtleParserFromNothing() {
29
39
  var bnf = _parser.default.bnf;
30
40
  var rules;
@@ -34,7 +44,8 @@ function furtleParserFromNothing() {
34
44
  return furtleParser;
35
45
  }
36
46
  var _default = {
47
+ furtleParserFromBNF: furtleParserFromBNF,
37
48
  furtleParserFromNothing: furtleParserFromNothing
38
49
  };
39
50
 
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcGFyc2Vycy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgcGFyc2VyVXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLXBhcnNlcnNcIjtcbmltcG9ydCB7IGVsaW1pbmF0ZUxlZnRSZWN1cnNpb24gfSBmcm9tIFwib2NjYW0tZ3JhbW1hci11dGlsaXRpZXNcIjtcblxuaW1wb3J0IEZ1cnRsZVBhcnNlciBmcm9tIFwiLi4vZnVydGxlL3BhcnNlclwiO1xuXG5jb25zdCB7IHJ1bGVzRnJvbUJORiwgcGFyc2VyRnJvbVJ1bGVzIH0gPSBwYXJzZXJVdGlsaXRpZXM7XG5cbmV4cG9ydCBmdW5jdGlvbiBmdXJ0bGVQYXJzZXJGcm9tTm90aGluZygpIHtcbiAgY29uc3QgeyBibmYgfSA9IEZ1cnRsZVBhcnNlcjtcblxuICBsZXQgcnVsZXM7XG5cbiAgcnVsZXMgPSBydWxlc0Zyb21CTkYoYm5mKTtcblxuICBydWxlcyA9IGVsaW1pbmF0ZUxlZnRSZWN1cnNpb24ocnVsZXMpOyAgLy8vXG5cbiAgY29uc3QgZnVydGxlUGFyc2VyID0gcGFyc2VyRnJvbVJ1bGVzKEZ1cnRsZVBhcnNlciwgcnVsZXMpO1xuXG4gIHJldHVybiBmdXJ0bGVQYXJzZXI7XG59XG5cblxuZXhwb3J0IGRlZmF1bHQge1xuICBmdXJ0bGVQYXJzZXJGcm9tTm90aGluZ1xufTtcbiJdLCJuYW1lcyI6WyJmdXJ0bGVQYXJzZXJGcm9tTm90aGluZyIsInJ1bGVzRnJvbUJORiIsInBhcnNlclV0aWxpdGllcyIsInBhcnNlckZyb21SdWxlcyIsImJuZiIsIkZ1cnRsZVBhcnNlciIsInJ1bGVzIiwiZWxpbWluYXRlTGVmdFJlY3Vyc2lvbiIsImZ1cnRsZVBhcnNlciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBd0JBLE9BRUU7ZUFGRjs7SUFmZ0JBLHVCQUF1QjtlQUF2QkE7Ozs0QkFQZ0I7cUNBQ087NkRBRWQ7Ozs7OztBQUV6QixJQUFRQyxlQUFrQ0MsNkJBQWUsQ0FBakRELGNBQWNFLGtCQUFvQkQsNkJBQWUsQ0FBbkNDO0FBRWYsU0FBU0g7SUFDZCxJQUFNLEFBQUVJLE1BQVFDLGVBQVksQ0FBcEJEO0lBRVIsSUFBSUU7SUFFSkEsUUFBUUwsYUFBYUc7SUFFckJFLFFBQVFDLElBQUFBLDZDQUFzQixFQUFDRCxRQUFTLEdBQUc7SUFFM0MsSUFBTUUsZUFBZUwsZ0JBQWdCRSxlQUFZLEVBQUVDO0lBRW5ELE9BQU9FO0FBQ1Q7SUFHQSxXQUFlO0lBQ2JSLHlCQUFBQTtBQUNGIn0=
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.2.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
@@ -5,6 +5,7 @@ export { default as parsersUtilities } from "./utilities/parsers";
5
5
 
6
6
  export { default as TeXLexer } from "./teX/lexer";
7
7
  export { default as JSONLexer } from "./json/lexer";
8
+ export { default as FurtleLexer } from "./furtle/lexer";
8
9
  export { default as NominalLexer } from "./nominal/lexer";
9
10
  export { default as PlainTextLexer } from "./plainText/lexer";
10
11
  export { default as CustomGrammarBNFLexer } from "./customGrammarBNF/lexer";
@@ -12,6 +13,7 @@ export { default as CustomGrammarPatternLexer } from "./customGrammarPattern/lex
12
13
 
13
14
  export { default as TeXParser } from "./teX/parser";
14
15
  export { default as JSONParser } from "./json/parser";
16
+ export { default as FurtleParser } from "./furtle/parser";
15
17
  export { default as NominalParser } from "./nominal/parser";
16
18
  export { default as PlainTextParser } from "./plainText/parser";
17
19
  export { default as CustomGrammarBNFParser } from "./customGrammarBNF/parser";
@@ -6,6 +6,13 @@ import FurtleLexer from "../furtle/lexer";
6
6
 
7
7
  const { lexerFromRules, rulesFromEntries } = lexerUtilities;
8
8
 
9
+ export function furtleLexerFromEntries(entries) {
10
+ const rules = rulesFromEntries(entries),
11
+ furtleLexer = lexerFromRules(FurtleLexer, rules);
12
+
13
+ return furtleLexer;
14
+ }
15
+
9
16
  export function furtleLexerFromNothing() {
10
17
  const { entries } = FurtleLexer,
11
18
  rules = rulesFromEntries(entries),
@@ -15,5 +22,6 @@ export function furtleLexerFromNothing() {
15
22
  }
16
23
 
17
24
  export default {
25
+ furtleLexerFromEntries,
18
26
  furtleLexerFromNothing
19
27
  };
@@ -7,6 +7,18 @@ import FurtleParser from "../furtle/parser";
7
7
 
8
8
  const { rulesFromBNF, parserFromRules } = parserUtilities;
9
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
+
10
22
  export function furtleParserFromNothing() {
11
23
  const { bnf } = FurtleParser;
12
24
 
@@ -21,7 +33,7 @@ export function furtleParserFromNothing() {
21
33
  return furtleParser;
22
34
  }
23
35
 
24
-
25
36
  export default {
37
+ furtleParserFromBNF,
26
38
  furtleParserFromNothing
27
39
  };