yapp 2.2.51 → 2.2.52

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.
@@ -3,10 +3,8 @@ Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
5
  exports.default = void 0;
6
- var _occamLexers = require("occam-lexers");
7
- var _occamGrammarUtilities = require("occam-grammar-utilities");
8
6
  var _occamParsers = require("occam-parsers");
9
- var _rules = require("../utilities/rules");
7
+ var _parser = require("../utilities/parser");
10
8
  function _assertThisInitialized(self) {
11
9
  if (self === void 0) {
12
10
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
@@ -91,7 +89,6 @@ function _createSuper(Derived) {
91
89
  return _possibleConstructorReturn(this, result);
92
90
  };
93
91
  }
94
- var bnfLexer = _occamLexers.BNFLexer.fromNothing(), bnfParser = _occamParsers.BNFParser.fromNothing();
95
92
  var YappParser = /*#__PURE__*/ function(CommonParser) {
96
93
  _inherits(YappParser, CommonParser);
97
94
  var _super = _createSuper(YappParser);
@@ -103,21 +100,21 @@ var YappParser = /*#__PURE__*/ function(CommonParser) {
103
100
  {
104
101
  key: "fromNothing",
105
102
  value: function fromNothing(Class) {
106
- var bnf = Class.bnf, rules = rulesFromBNF(bnf), parser = parserFromRules(Class, rules);
103
+ var bnf = Class.bnf, rules = (0, _parser).rulesFromBNF(bnf), parser = (0, _parser).parserFromRules(Class, rules);
107
104
  return parser;
108
105
  }
109
106
  },
110
107
  {
111
108
  key: "fromBNF",
112
109
  value: function fromBNF(Class, bnf) {
113
- var rules = rulesFromBNF(bnf), parser = parserFromRules(Class, rules);
110
+ var rules = (0, _parser).rulesFromBNF(bnf), parser = (0, _parser).parserFromRules(Class, rules);
114
111
  return parser;
115
112
  }
116
113
  },
117
114
  {
118
115
  key: "fromRules",
119
116
  value: function fromRules(Class, rules) {
120
- var parser = parserFromRules(Class, rules);
117
+ var parser = (0, _parser).parserFromRules(Class, rules);
121
118
  return parser;
122
119
  }
123
120
  }
@@ -125,16 +122,5 @@ var YappParser = /*#__PURE__*/ function(CommonParser) {
125
122
  return YappParser;
126
123
  }(_occamParsers.CommonParser);
127
124
  exports.default = YappParser;
128
- function rulesFromBNF(bnf) {
129
- var tokens = bnfLexer.tokensFromBNF(bnf), rules = bnfParser.rulesFromTokens(tokens);
130
- return rules;
131
- }
132
- function parserFromRules(Class, rules) {
133
- var ruleMap = (0, _rules).ruleMapFromRules(rules);
134
- var startRule = (0, _rules).startRuleFromRules(rules);
135
- startRule = (0, _occamGrammarUtilities).eliminateLeftRecursion(startRule, ruleMap);
136
- var parser = new Class(startRule, ruleMap);
137
- return parser;
138
- }
139
125
 
140
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJzZXIveWFwcC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgQk5GTGV4ZXIgfSBmcm9tIFwib2NjYW0tbGV4ZXJzXCI7XG5pbXBvcnQgeyBlbGltaW5hdGVMZWZ0UmVjdXJzaW9uIH0gZnJvbSBcIm9jY2FtLWdyYW1tYXItdXRpbGl0aWVzXCI7XG5pbXBvcnQgeyBCTkZQYXJzZXIsIENvbW1vblBhcnNlciB9IGZyb20gXCJvY2NhbS1wYXJzZXJzXCI7XG5cbmltcG9ydCB7IHN0YXJ0UnVsZUZyb21SdWxlcywgcnVsZU1hcEZyb21SdWxlcyB9IGZyb20gXCIuLi91dGlsaXRpZXMvcnVsZXNcIjtcblxuY29uc3QgYm5mTGV4ZXIgPSBCTkZMZXhlci5mcm9tTm90aGluZygpLFxuICAgICAgYm5mUGFyc2VyID0gQk5GUGFyc2VyLmZyb21Ob3RoaW5nKCk7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFlhcHBQYXJzZXIgZXh0ZW5kcyBDb21tb25QYXJzZXIge1xuICBzdGF0aWMgZnJvbU5vdGhpbmcoQ2xhc3MpIHtcbiAgICBjb25zdCB7IGJuZiB9ID0gQ2xhc3MsXG4gICAgICAgICAgcnVsZXMgPSBydWxlc0Zyb21CTkYoYm5mKSxcbiAgICAgICAgICBwYXJzZXIgPSBwYXJzZXJGcm9tUnVsZXMoQ2xhc3MsIHJ1bGVzKTtcblxuICAgIHJldHVybiBwYXJzZXI7XG4gIH1cblxuICBzdGF0aWMgZnJvbUJORihDbGFzcywgYm5mKSB7XG4gICAgY29uc3QgcnVsZXMgPSBydWxlc0Zyb21CTkYoYm5mKSxcbiAgICAgICAgICBwYXJzZXIgPSBwYXJzZXJGcm9tUnVsZXMoQ2xhc3MsIHJ1bGVzKTtcblxuICAgIHJldHVybiBwYXJzZXI7XG4gIH1cblxuICBzdGF0aWMgZnJvbVJ1bGVzKENsYXNzLCBydWxlcykge1xuICAgIGNvbnN0IHBhcnNlciA9IHBhcnNlckZyb21SdWxlcyhDbGFzcywgcnVsZXMpO1xuXG4gICAgcmV0dXJuIHBhcnNlcjtcbiAgfVxufVxuXG5mdW5jdGlvbiBydWxlc0Zyb21CTkYoYm5mKSB7XG4gIGNvbnN0IHRva2VucyA9IGJuZkxleGVyLnRva2Vuc0Zyb21CTkYoYm5mKSxcbiAgICAgICAgcnVsZXMgPSBibmZQYXJzZXIucnVsZXNGcm9tVG9rZW5zKHRva2Vucyk7XG5cbiAgcmV0dXJuIHJ1bGVzO1xufVxuXG5mdW5jdGlvbiBwYXJzZXJGcm9tUnVsZXMoQ2xhc3MsIHJ1bGVzKSB7XG4gIGNvbnN0IHJ1bGVNYXAgPSBydWxlTWFwRnJvbVJ1bGVzKHJ1bGVzKTtcblxuICBsZXQgc3RhcnRSdWxlID0gc3RhcnRSdWxlRnJvbVJ1bGVzKHJ1bGVzKTtcblxuICBzdGFydFJ1bGUgPSBlbGltaW5hdGVMZWZ0UmVjdXJzaW9uKHN0YXJ0UnVsZSwgcnVsZU1hcCk7XG5cbiAgY29uc3QgcGFyc2VyID0gbmV3IENsYXNzKHN0YXJ0UnVsZSwgcnVsZU1hcCk7XG5cbiAgcmV0dXJuIHBhcnNlcjtcbn0iXSwibmFtZXMiOlsiYm5mTGV4ZXIiLCJmcm9tTm90aGluZyIsImJuZlBhcnNlciIsIllhcHBQYXJzZXIiLCJDbGFzcyIsImJuZiIsInJ1bGVzIiwicnVsZXNGcm9tQk5GIiwicGFyc2VyIiwicGFyc2VyRnJvbVJ1bGVzIiwiZnJvbUJORiIsImZyb21SdWxlcyIsInRva2VucyIsInRva2Vuc0Zyb21CTkYiLCJydWxlc0Zyb21Ub2tlbnMiLCJydWxlTWFwIiwic3RhcnRSdWxlIl0sIm1hcHBpbmdzIjoiQUFBQSxDQUFZOzs7OztBQUVhLEdBQWMsQ0FBZCxZQUFjO0FBQ0EsR0FBeUIsQ0FBekIsc0JBQXlCO0FBQ3hCLEdBQWUsQ0FBZixhQUFlO0FBRUYsR0FBb0IsQ0FBcEIsTUFBb0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFekUsR0FBSyxDQUFDQSxRQUFRLEdBTlcsWUFBYyxVQU1iQyxXQUFXLElBQy9CQyxTQUFTLEdBTHlCLGFBQWUsV0FLM0JELFdBQVc7SUFFbEJFLFVBQVUsaUJBQWhCLFFBQVE7Y0FBRkEsVUFBVTs4QkFBVkEsVUFBVTthQUFWQSxVQUFVOzhCQUFWQSxVQUFVOzs7aUJBQVZBLFVBQVU7O1lBQ3RCRixHQUFXLEVBQVhBLENBQVc7bUJBQWxCLFFBQVEsQ0FBREEsV0FBVyxDQUFDRyxLQUFLLEVBQUUsQ0FBQztnQkFDekIsR0FBSyxDQUFHQyxHQUFHLEdBQUtELEtBQUssQ0FBYkMsR0FBRyxFQUNMQyxLQUFLLEdBQUdDLFlBQVksQ0FBQ0YsR0FBRyxHQUN4QkcsTUFBTSxHQUFHQyxlQUFlLENBQUNMLEtBQUssRUFBRUUsS0FBSztnQkFFM0MsTUFBTSxDQUFDRSxNQUFNO1lBQ2YsQ0FBQzs7O1lBRU1FLEdBQU8sRUFBUEEsQ0FBTzttQkFBZCxRQUFRLENBQURBLE9BQU8sQ0FBQ04sS0FBSyxFQUFFQyxHQUFHLEVBQUUsQ0FBQztnQkFDMUIsR0FBSyxDQUFDQyxLQUFLLEdBQUdDLFlBQVksQ0FBQ0YsR0FBRyxHQUN4QkcsTUFBTSxHQUFHQyxlQUFlLENBQUNMLEtBQUssRUFBRUUsS0FBSztnQkFFM0MsTUFBTSxDQUFDRSxNQUFNO1lBQ2YsQ0FBQzs7O1lBRU1HLEdBQVMsRUFBVEEsQ0FBUzttQkFBaEIsUUFBUSxDQUFEQSxTQUFTLENBQUNQLEtBQUssRUFBRUUsS0FBSyxFQUFFLENBQUM7Z0JBQzlCLEdBQUssQ0FBQ0UsTUFBTSxHQUFHQyxlQUFlLENBQUNMLEtBQUssRUFBRUUsS0FBSztnQkFFM0MsTUFBTSxDQUFDRSxNQUFNO1lBQ2YsQ0FBQzs7O1dBcEJrQkwsVUFBVTtFQVBTLGFBQWU7a0JBT2xDQSxVQUFVO1NBdUJ0QkksWUFBWSxDQUFDRixHQUFHLEVBQUUsQ0FBQztJQUMxQixHQUFLLENBQUNPLE1BQU0sR0FBR1osUUFBUSxDQUFDYSxhQUFhLENBQUNSLEdBQUcsR0FDbkNDLEtBQUssR0FBR0osU0FBUyxDQUFDWSxlQUFlLENBQUNGLE1BQU07SUFFOUMsTUFBTSxDQUFDTixLQUFLO0FBQ2QsQ0FBQztTQUVRRyxlQUFlLENBQUNMLEtBQUssRUFBRUUsS0FBSyxFQUFFLENBQUM7SUFDdEMsR0FBSyxDQUFDUyxPQUFPLE9BcENzQyxNQUFvQixtQkFvQ3RDVCxLQUFLO0lBRXRDLEdBQUcsQ0FBQ1UsU0FBUyxPQXRDc0MsTUFBb0IscUJBc0NwQ1YsS0FBSztJQUV4Q1UsU0FBUyxPQTNDNEIsc0JBQXlCLHlCQTJDM0JBLFNBQVMsRUFBRUQsT0FBTztJQUVyRCxHQUFLLENBQUNQLE1BQU0sR0FBRyxHQUFHLENBQUNKLEtBQUssQ0FBQ1ksU0FBUyxFQUFFRCxPQUFPO0lBRTNDLE1BQU0sQ0FBQ1AsTUFBTTtBQUNmLENBQUMifQ==
126
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXJzZXIveWFwcC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgQ29tbW9uUGFyc2VyIH0gZnJvbSBcIm9jY2FtLXBhcnNlcnNcIjtcblxuaW1wb3J0IHsgcnVsZXNGcm9tQk5GLCBwYXJzZXJGcm9tUnVsZXMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3BhcnNlclwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBZYXBwUGFyc2VyIGV4dGVuZHMgQ29tbW9uUGFyc2VyIHtcbiAgc3RhdGljIGZyb21Ob3RoaW5nKENsYXNzKSB7XG4gICAgY29uc3QgeyBibmYgfSA9IENsYXNzLFxuICAgICAgICAgIHJ1bGVzID0gcnVsZXNGcm9tQk5GKGJuZiksXG4gICAgICAgICAgcGFyc2VyID0gcGFyc2VyRnJvbVJ1bGVzKENsYXNzLCBydWxlcyk7XG5cbiAgICByZXR1cm4gcGFyc2VyO1xuICB9XG5cbiAgc3RhdGljIGZyb21CTkYoQ2xhc3MsIGJuZikge1xuICAgIGNvbnN0IHJ1bGVzID0gcnVsZXNGcm9tQk5GKGJuZiksXG4gICAgICAgICAgcGFyc2VyID0gcGFyc2VyRnJvbVJ1bGVzKENsYXNzLCBydWxlcyk7XG5cbiAgICByZXR1cm4gcGFyc2VyO1xuICB9XG5cbiAgc3RhdGljIGZyb21SdWxlcyhDbGFzcywgcnVsZXMpIHtcbiAgICBjb25zdCBwYXJzZXIgPSBwYXJzZXJGcm9tUnVsZXMoQ2xhc3MsIHJ1bGVzKTtcblxuICAgIHJldHVybiBwYXJzZXI7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJZYXBwUGFyc2VyIiwiZnJvbU5vdGhpbmciLCJDbGFzcyIsImJuZiIsInJ1bGVzIiwicGFyc2VyIiwiZnJvbUJORiIsImZyb21SdWxlcyJdLCJtYXBwaW5ncyI6IkFBQUEsQ0FBWTs7Ozs7QUFFaUIsR0FBZSxDQUFmLGFBQWU7QUFFRSxHQUFxQixDQUFyQixPQUFxQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQUU5Q0EsVUFBVSxpQkFBaEIsUUFBUTtjQUFGQSxVQUFVOzhCQUFWQSxVQUFVO2FBQVZBLFVBQVU7OEJBQVZBLFVBQVU7OztpQkFBVkEsVUFBVTs7WUFDdEJDLEdBQVcsRUFBWEEsQ0FBVzttQkFBbEIsUUFBUSxDQUFEQSxXQUFXLENBQUNDLEtBQUssRUFBRSxDQUFDO2dCQUN6QixHQUFLLENBQUdDLEdBQUcsR0FBS0QsS0FBSyxDQUFiQyxHQUFHLEVBQ0xDLEtBQUssT0FMK0IsT0FBcUIsZUFLcENELEdBQUcsR0FDeEJFLE1BQU0sT0FOOEIsT0FBcUIsa0JBTWhDSCxLQUFLLEVBQUVFLEtBQUs7Z0JBRTNDLE1BQU0sQ0FBQ0MsTUFBTTtZQUNmLENBQUM7OztZQUVNQyxHQUFPLEVBQVBBLENBQU87bUJBQWQsUUFBUSxDQUFEQSxPQUFPLENBQUNKLEtBQUssRUFBRUMsR0FBRyxFQUFFLENBQUM7Z0JBQzFCLEdBQUssQ0FBQ0MsS0FBSyxPQVorQixPQUFxQixlQVlwQ0QsR0FBRyxHQUN4QkUsTUFBTSxPQWI4QixPQUFxQixrQkFhaENILEtBQUssRUFBRUUsS0FBSztnQkFFM0MsTUFBTSxDQUFDQyxNQUFNO1lBQ2YsQ0FBQzs7O1lBRU1FLEdBQVMsRUFBVEEsQ0FBUzttQkFBaEIsUUFBUSxDQUFEQSxTQUFTLENBQUNMLEtBQUssRUFBRUUsS0FBSyxFQUFFLENBQUM7Z0JBQzlCLEdBQUssQ0FBQ0MsTUFBTSxPQW5COEIsT0FBcUIsa0JBbUJoQ0gsS0FBSyxFQUFFRSxLQUFLO2dCQUUzQyxNQUFNLENBQUNDLE1BQU07WUFDZixDQUFDOzs7V0FwQmtCTCxVQUFVO0VBSkYsYUFBZTtrQkFJdkJBLFVBQVUifQ==
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ exports.rulesFromBNF = rulesFromBNF;
6
+ exports.parserFromRules = parserFromRules;
7
+ var _occamLexers = require("occam-lexers");
8
+ var _occamParsers = require("occam-parsers");
9
+ var _occamGrammarUtilities = require("occam-grammar-utilities");
10
+ var _rules = require("../utilities/rules");
11
+ var bnfLexer = _occamLexers.BNFLexer.fromNothing(), bnfParser = _occamParsers.BNFParser.fromNothing();
12
+ function rulesFromBNF(bnf) {
13
+ var tokens = bnfLexer.tokensFromBNF(bnf), rules = bnfParser.rulesFromTokens(tokens);
14
+ return rules;
15
+ }
16
+ function parserFromRules(Class, rules) {
17
+ var ruleMap = (0, _rules).ruleMapFromRules(rules);
18
+ var startRule = (0, _rules).startRuleFromRules(rules);
19
+ startRule = (0, _occamGrammarUtilities).eliminateLeftRecursion(startRule, ruleMap);
20
+ var parser = new Class(startRule, ruleMap);
21
+ return parser;
22
+ }
23
+
24
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcGFyc2VyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBCTkZMZXhlciB9IGZyb20gXCJvY2NhbS1sZXhlcnNcIjtcbmltcG9ydCB7IEJORlBhcnNlciB9IGZyb20gXCJvY2NhbS1wYXJzZXJzXCI7XG5pbXBvcnQgeyBlbGltaW5hdGVMZWZ0UmVjdXJzaW9uIH0gZnJvbSBcIm9jY2FtLWdyYW1tYXItdXRpbGl0aWVzXCI7XG5cbmltcG9ydCB7IHJ1bGVNYXBGcm9tUnVsZXMsIHN0YXJ0UnVsZUZyb21SdWxlcyB9IGZyb20gXCIuLi91dGlsaXRpZXMvcnVsZXNcIjtcblxuY29uc3QgYm5mTGV4ZXIgPSBCTkZMZXhlci5mcm9tTm90aGluZygpLFxuICAgICAgYm5mUGFyc2VyID0gQk5GUGFyc2VyLmZyb21Ob3RoaW5nKCk7XG5cbmV4cG9ydCBmdW5jdGlvbiBydWxlc0Zyb21CTkYoYm5mKSB7XG4gIGNvbnN0IHRva2VucyA9IGJuZkxleGVyLnRva2Vuc0Zyb21CTkYoYm5mKSxcbiAgICAgICAgcnVsZXMgPSBibmZQYXJzZXIucnVsZXNGcm9tVG9rZW5zKHRva2Vucyk7XG5cbiAgcmV0dXJuIHJ1bGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VyRnJvbVJ1bGVzKENsYXNzLCBydWxlcykge1xuICBjb25zdCBydWxlTWFwID0gcnVsZU1hcEZyb21SdWxlcyhydWxlcyk7XG5cbiAgbGV0IHN0YXJ0UnVsZSA9IHN0YXJ0UnVsZUZyb21SdWxlcyhydWxlcyk7XG5cbiAgc3RhcnRSdWxlID0gZWxpbWluYXRlTGVmdFJlY3Vyc2lvbihzdGFydFJ1bGUsIHJ1bGVNYXApO1xuXG4gIGNvbnN0IHBhcnNlciA9IG5ldyBDbGFzcyhzdGFydFJ1bGUsIHJ1bGVNYXApO1xuXG4gIHJldHVybiBwYXJzZXI7XG59XG4iXSwibmFtZXMiOlsicnVsZXNGcm9tQk5GIiwicGFyc2VyRnJvbVJ1bGVzIiwiYm5mTGV4ZXIiLCJmcm9tTm90aGluZyIsImJuZlBhcnNlciIsImJuZiIsInRva2VucyIsInRva2Vuc0Zyb21CTkYiLCJydWxlcyIsInJ1bGVzRnJvbVRva2VucyIsIkNsYXNzIiwicnVsZU1hcCIsInN0YXJ0UnVsZSIsInBhcnNlciJdLCJtYXBwaW5ncyI6IkFBQUEsQ0FBWTs7OztRQVdJQSxZQUFZLEdBQVpBLFlBQVk7UUFPWkMsZUFBZSxHQUFmQSxlQUFlO0FBaEJOLEdBQWMsQ0FBZCxZQUFjO0FBQ2IsR0FBZSxDQUFmLGFBQWU7QUFDRixHQUF5QixDQUF6QixzQkFBeUI7QUFFWCxHQUFvQixDQUFwQixNQUFvQjtBQUV6RSxHQUFLLENBQUNDLFFBQVEsR0FOVyxZQUFjLFVBTWJDLFdBQVcsSUFDL0JDLFNBQVMsR0FOVyxhQUFlLFdBTWJELFdBQVc7U0FFdkJILFlBQVksQ0FBQ0ssR0FBRyxFQUFFLENBQUM7SUFDakMsR0FBSyxDQUFDQyxNQUFNLEdBQUdKLFFBQVEsQ0FBQ0ssYUFBYSxDQUFDRixHQUFHLEdBQ25DRyxLQUFLLEdBQUdKLFNBQVMsQ0FBQ0ssZUFBZSxDQUFDSCxNQUFNO0lBRTlDLE1BQU0sQ0FBQ0UsS0FBSztBQUNkLENBQUM7U0FFZVAsZUFBZSxDQUFDUyxLQUFLLEVBQUVGLEtBQUssRUFBRSxDQUFDO0lBQzdDLEdBQUssQ0FBQ0csT0FBTyxPQWJzQyxNQUFvQixtQkFhdENILEtBQUs7SUFFdEMsR0FBRyxDQUFDSSxTQUFTLE9BZnNDLE1BQW9CLHFCQWVwQ0osS0FBSztJQUV4Q0ksU0FBUyxPQW5CNEIsc0JBQXlCLHlCQW1CM0JBLFNBQVMsRUFBRUQsT0FBTztJQUVyRCxHQUFLLENBQUNFLE1BQU0sR0FBRyxHQUFHLENBQUNILEtBQUssQ0FBQ0UsU0FBUyxFQUFFRCxPQUFPO0lBRTNDLE1BQU0sQ0FBQ0UsTUFBTTtBQUNmLENBQUMifQ==
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "yapp",
3
3
  "author": "James Smith",
4
- "version": "2.2.51",
4
+ "version": "2.2.52",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/yapp",
7
7
  "description": "Yet Another Pretty Printer.",
@@ -17,7 +17,7 @@
17
17
  "occam-dom": "^3.0.74",
18
18
  "occam-grammar-utilities": "^5.0.80",
19
19
  "occam-lexers": "^15.0.1",
20
- "occam-parsers": "^14.1.0"
20
+ "occam-parsers": "^14.1.1"
21
21
  },
22
22
  "devDependencies": {
23
23
  "@swc/core": "^1.2.106",
@@ -1,13 +1,8 @@
1
1
  "use strict";
2
2
 
3
- import { BNFLexer } from "occam-lexers";
4
- import { eliminateLeftRecursion } from "occam-grammar-utilities";
5
- import { BNFParser, CommonParser } from "occam-parsers";
3
+ import { CommonParser } from "occam-parsers";
6
4
 
7
- import { startRuleFromRules, ruleMapFromRules } from "../utilities/rules";
8
-
9
- const bnfLexer = BNFLexer.fromNothing(),
10
- bnfParser = BNFParser.fromNothing();
5
+ import { rulesFromBNF, parserFromRules } from "../utilities/parser";
11
6
 
12
7
  export default class YappParser extends CommonParser {
13
8
  static fromNothing(Class) {
@@ -31,22 +26,3 @@ export default class YappParser extends CommonParser {
31
26
  return parser;
32
27
  }
33
28
  }
34
-
35
- function rulesFromBNF(bnf) {
36
- const tokens = bnfLexer.tokensFromBNF(bnf),
37
- rules = bnfParser.rulesFromTokens(tokens);
38
-
39
- return rules;
40
- }
41
-
42
- function parserFromRules(Class, rules) {
43
- const ruleMap = ruleMapFromRules(rules);
44
-
45
- let startRule = startRuleFromRules(rules);
46
-
47
- startRule = eliminateLeftRecursion(startRule, ruleMap);
48
-
49
- const parser = new Class(startRule, ruleMap);
50
-
51
- return parser;
52
- }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ import { BNFLexer } from "occam-lexers";
4
+ import { BNFParser } from "occam-parsers";
5
+ import { eliminateLeftRecursion } from "occam-grammar-utilities";
6
+
7
+ import { ruleMapFromRules, startRuleFromRules } from "../utilities/rules";
8
+
9
+ const bnfLexer = BNFLexer.fromNothing(),
10
+ bnfParser = BNFParser.fromNothing();
11
+
12
+ export function rulesFromBNF(bnf) {
13
+ const tokens = bnfLexer.tokensFromBNF(bnf),
14
+ rules = bnfParser.rulesFromTokens(tokens);
15
+
16
+ return rules;
17
+ }
18
+
19
+ export function parserFromRules(Class, rules) {
20
+ const ruleMap = ruleMapFromRules(rules);
21
+
22
+ let startRule = startRuleFromRules(rules);
23
+
24
+ startRule = eliminateLeftRecursion(startRule, ruleMap);
25
+
26
+ const parser = new Class(startRule, ruleMap);
27
+
28
+ return parser;
29
+ }