occam-grammars 1.3.437 → 1.3.439

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.
@@ -27,17 +27,24 @@ function _interop_require_default(obj) {
27
27
  };
28
28
  }
29
29
  var lexerFromRules = _occamlexers.lexerUtilities.lexerFromRules, rulesFromEntries = _occamlexers.lexerUtilities.rulesFromEntries;
30
- function furtleLexerFromEntries(entries) {
30
+ function furtleLexerFromEntries(Class, entries) {
31
+ if (entries === undefined) {
32
+ entries = Class; ///
33
+ Class = _lexer.default; ///
34
+ }
31
35
  var rules;
32
36
  rules = rulesFromEntries(entries);
33
- var furtleLexer = lexerFromRules(_lexer.default, rules);
37
+ var furtleLexer = lexerFromRules(Class, rules);
34
38
  return furtleLexer;
35
39
  }
36
- function furtleLexerFromNothing() {
40
+ function furtleLexerFromNothing(Class) {
41
+ if (Class === undefined) {
42
+ Class = _lexer.default; ///
43
+ }
37
44
  var entries = _lexer.default.entries;
38
45
  var rules;
39
46
  rules = rulesFromEntries(entries);
40
- var furtleLexer = lexerFromRules(_lexer.default, rules);
47
+ var furtleLexer = lexerFromRules(Class, rules);
41
48
  return furtleLexer;
42
49
  }
43
50
  var _default = {
@@ -45,4 +52,4 @@ var _default = {
45
52
  furtleLexerFromNothing: furtleLexerFromNothing
46
53
  };
47
54
 
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbGV4ZXJzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBsZXhlclV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1sZXhlcnNcIjtcblxuaW1wb3J0IEZ1cnRsZUxleGVyIGZyb20gXCIuLi9mdXJ0bGUvbGV4ZXJcIjtcblxuY29uc3QgeyBsZXhlckZyb21SdWxlcywgcnVsZXNGcm9tRW50cmllcyB9ID0gbGV4ZXJVdGlsaXRpZXM7XG5cbmV4cG9ydCBmdW5jdGlvbiBmdXJ0bGVMZXhlckZyb21FbnRyaWVzKGVudHJpZXMpIHtcbiAgbGV0IHJ1bGVzO1xuXG4gIHJ1bGVzID0gcnVsZXNGcm9tRW50cmllcyhlbnRyaWVzKTtcblxuICBjb25zdCBmdXJ0bGVMZXhlciA9IGxleGVyRnJvbVJ1bGVzKEZ1cnRsZUxleGVyLCBydWxlcyk7XG5cbiAgcmV0dXJuIGZ1cnRsZUxleGVyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZnVydGxlTGV4ZXJGcm9tTm90aGluZygpIHtcbiAgY29uc3QgeyBlbnRyaWVzIH0gPSBGdXJ0bGVMZXhlcjtcblxuICBsZXQgcnVsZXM7XG5cbiAgcnVsZXMgPSBydWxlc0Zyb21FbnRyaWVzKGVudHJpZXMpO1xuXG4gIGNvbnN0IGZ1cnRsZUxleGVyID0gbGV4ZXJGcm9tUnVsZXMoRnVydGxlTGV4ZXIsIHJ1bGVzKTtcblxuICByZXR1cm4gZnVydGxlTGV4ZXI7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgZnVydGxlTGV4ZXJGcm9tRW50cmllcyxcbiAgZnVydGxlTGV4ZXJGcm9tTm90aGluZ1xufTtcbiJdLCJuYW1lcyI6WyJmdXJ0bGVMZXhlckZyb21FbnRyaWVzIiwiZnVydGxlTGV4ZXJGcm9tTm90aGluZyIsImxleGVyRnJvbVJ1bGVzIiwibGV4ZXJVdGlsaXRpZXMiLCJydWxlc0Zyb21FbnRyaWVzIiwiZW50cmllcyIsInJ1bGVzIiwiZnVydGxlTGV4ZXIiLCJGdXJ0bGVMZXhlciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBOEJBO2VBQUE7O1FBdEJnQkE7ZUFBQUE7O1FBVUFDO2VBQUFBOzs7MkJBaEJlOzREQUVQOzs7Ozs7QUFFeEIsSUFBUUMsaUJBQXFDQywyQkFBYyxDQUFuREQsZ0JBQWdCRSxtQkFBcUJELDJCQUFjLENBQW5DQztBQUVqQixTQUFTSix1QkFBdUJLLE9BQU87SUFDNUMsSUFBSUM7SUFFSkEsUUFBUUYsaUJBQWlCQztJQUV6QixJQUFNRSxjQUFjTCxlQUFlTSxjQUFXLEVBQUVGO0lBRWhELE9BQU9DO0FBQ1Q7QUFFTyxTQUFTTjtJQUNkLElBQU0sQUFBRUksVUFBWUcsY0FBVyxDQUF2Qkg7SUFFUixJQUFJQztJQUVKQSxRQUFRRixpQkFBaUJDO0lBRXpCLElBQU1FLGNBQWNMLGVBQWVNLGNBQVcsRUFBRUY7SUFFaEQsT0FBT0M7QUFDVDtJQUVBLFdBQWU7SUFDYlAsd0JBQUFBO0lBQ0FDLHdCQUFBQTtBQUNGIn0=
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbGV4ZXJzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBsZXhlclV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1sZXhlcnNcIjtcblxuaW1wb3J0IEZ1cnRsZUxleGVyIGZyb20gXCIuLi9mdXJ0bGUvbGV4ZXJcIjtcblxuY29uc3QgeyBsZXhlckZyb21SdWxlcywgcnVsZXNGcm9tRW50cmllcyB9ID0gbGV4ZXJVdGlsaXRpZXM7XG5cbmV4cG9ydCBmdW5jdGlvbiBmdXJ0bGVMZXhlckZyb21FbnRyaWVzKENsYXNzLCBlbnRyaWVzKSB7XG4gIGlmIChlbnRyaWVzID09PSB1bmRlZmluZWQpIHtcbiAgICBlbnRyaWVzID0gQ2xhc3M7ICAvLy9cblxuICAgIENsYXNzID0gRnVydGxlTGV4ZXI7ICAvLy9cbiAgfVxuXG4gIGxldCBydWxlcztcblxuICBydWxlcyA9IHJ1bGVzRnJvbUVudHJpZXMoZW50cmllcyk7XG5cbiAgY29uc3QgZnVydGxlTGV4ZXIgPSBsZXhlckZyb21SdWxlcyhDbGFzcywgcnVsZXMpO1xuXG4gIHJldHVybiBmdXJ0bGVMZXhlcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZ1cnRsZUxleGVyRnJvbU5vdGhpbmcoQ2xhc3MpIHtcbiAgaWYgKENsYXNzID09PSB1bmRlZmluZWQpIHtcbiAgICBDbGFzcyA9IEZ1cnRsZUxleGVyOyAgLy8vXG4gIH1cblxuICBjb25zdCB7IGVudHJpZXMgfSA9IEZ1cnRsZUxleGVyO1xuXG4gIGxldCBydWxlcztcblxuICBydWxlcyA9IHJ1bGVzRnJvbUVudHJpZXMoZW50cmllcyk7XG5cbiAgY29uc3QgZnVydGxlTGV4ZXIgPSBsZXhlckZyb21SdWxlcyhDbGFzcywgcnVsZXMpO1xuXG4gIHJldHVybiBmdXJ0bGVMZXhlcjtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBmdXJ0bGVMZXhlckZyb21FbnRyaWVzLFxuICBmdXJ0bGVMZXhlckZyb21Ob3RoaW5nXG59O1xuIl0sIm5hbWVzIjpbImZ1cnRsZUxleGVyRnJvbUVudHJpZXMiLCJmdXJ0bGVMZXhlckZyb21Ob3RoaW5nIiwibGV4ZXJGcm9tUnVsZXMiLCJsZXhlclV0aWxpdGllcyIsInJ1bGVzRnJvbUVudHJpZXMiLCJDbGFzcyIsImVudHJpZXMiLCJ1bmRlZmluZWQiLCJGdXJ0bGVMZXhlciIsInJ1bGVzIiwiZnVydGxlTGV4ZXIiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQXdDQTtlQUFBOztRQWhDZ0JBO2VBQUFBOztRQWdCQUM7ZUFBQUE7OzsyQkF0QmU7NERBRVA7Ozs7OztBQUV4QixJQUFRQyxpQkFBcUNDLDJCQUFjLENBQW5ERCxnQkFBZ0JFLG1CQUFxQkQsMkJBQWMsQ0FBbkNDO0FBRWpCLFNBQVNKLHVCQUF1QkssS0FBSyxFQUFFQyxPQUFPO0lBQ25ELElBQUlBLFlBQVlDLFdBQVc7UUFDekJELFVBQVVELE9BQVEsR0FBRztRQUVyQkEsUUFBUUcsY0FBVyxFQUFHLEdBQUc7SUFDM0I7SUFFQSxJQUFJQztJQUVKQSxRQUFRTCxpQkFBaUJFO0lBRXpCLElBQU1JLGNBQWNSLGVBQWVHLE9BQU9JO0lBRTFDLE9BQU9DO0FBQ1Q7QUFFTyxTQUFTVCx1QkFBdUJJLEtBQUs7SUFDMUMsSUFBSUEsVUFBVUUsV0FBVztRQUN2QkYsUUFBUUcsY0FBVyxFQUFHLEdBQUc7SUFDM0I7SUFFQSxJQUFNLEFBQUVGLFVBQVlFLGNBQVcsQ0FBdkJGO0lBRVIsSUFBSUc7SUFFSkEsUUFBUUwsaUJBQWlCRTtJQUV6QixJQUFNSSxjQUFjUixlQUFlRyxPQUFPSTtJQUUxQyxPQUFPQztBQUNUO0lBRUEsV0FBZTtJQUNiVix3QkFBQUE7SUFDQUMsd0JBQUFBO0FBQ0YifQ==
@@ -31,26 +31,38 @@ function _interop_require_default(obj) {
31
31
  };
32
32
  }
33
33
  var rulesFromBNF = _occamparsers.parserUtilities.rulesFromBNF, parserFromRules = _occamparsers.parserUtilities.parserFromRules, parserFromRulesAndStartRuleName = _occamparsers.parserUtilities.parserFromRulesAndStartRuleName;
34
- function furtleParserFromBNF(bnf) {
34
+ function furtleParserFromBNF(Class, bnf) {
35
+ if (bnf === undefined) {
36
+ bnf = Class; ///
37
+ Class = _parser.default; ///
38
+ }
35
39
  var rules;
36
40
  rules = rulesFromBNF(bnf);
37
41
  rules = (0, _occamgrammarutilities.eliminateLeftRecursion)(rules); ///
38
- var furtleParser = parserFromRules(_parser.default, rules);
42
+ var furtleParser = parserFromRules(Class, rules);
39
43
  return furtleParser;
40
44
  }
41
- function furtleParserFromNothing() {
45
+ function furtleParserFromNothing(Class) {
46
+ if (Class === undefined) {
47
+ Class = _parser.default; ///
48
+ }
42
49
  var bnf = _parser.default.bnf;
43
50
  var rules;
44
51
  rules = rulesFromBNF(bnf);
45
52
  rules = (0, _occamgrammarutilities.eliminateLeftRecursion)(rules); ///
46
- var furtleParser = parserFromRules(_parser.default, rules);
53
+ var furtleParser = parserFromRules(Class, rules);
47
54
  return furtleParser;
48
55
  }
49
- function furtleParserFromBNFAndStartRuleName(bnf, startRuleName) {
56
+ function furtleParserFromBNFAndStartRuleName(Class, bnf, startRuleName) {
57
+ if (startRuleName === undefined) {
58
+ startRuleName = bnf; ///
59
+ bnf = Class; ///
60
+ Class = _parser.default; ///
61
+ }
50
62
  var rules;
51
63
  rules = rulesFromBNF(bnf);
52
64
  rules = (0, _occamgrammarutilities.eliminateLeftRecursion)(rules); ///
53
- var furtleParser = parserFromRulesAndStartRuleName(_parser.default, rules, startRuleName);
65
+ var furtleParser = parserFromRulesAndStartRuleName(Class, rules, startRuleName);
54
66
  return furtleParser;
55
67
  }
56
68
  var _default = {
@@ -59,4 +71,4 @@ var _default = {
59
71
  furtleParserFromBNFAndStartRuleName: furtleParserFromBNFAndStartRuleName
60
72
  };
61
73
 
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcGFyc2Vycy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgcGFyc2VyVXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLXBhcnNlcnNcIjtcbmltcG9ydCB7IGVsaW1pbmF0ZUxlZnRSZWN1cnNpb24gfSBmcm9tIFwib2NjYW0tZ3JhbW1hci11dGlsaXRpZXNcIjtcblxuaW1wb3J0IEZ1cnRsZVBhcnNlciBmcm9tIFwiLi4vZnVydGxlL3BhcnNlclwiO1xuXG5jb25zdCB7IHJ1bGVzRnJvbUJORiwgcGFyc2VyRnJvbVJ1bGVzLCBwYXJzZXJGcm9tUnVsZXNBbmRTdGFydFJ1bGVOYW1lIH0gPSBwYXJzZXJVdGlsaXRpZXM7XG5cbmV4cG9ydCBmdW5jdGlvbiBmdXJ0bGVQYXJzZXJGcm9tQk5GKGJuZikge1xuICBsZXQgcnVsZXM7XG5cbiAgcnVsZXMgPSBydWxlc0Zyb21CTkYoYm5mKTtcblxuICBydWxlcyA9IGVsaW1pbmF0ZUxlZnRSZWN1cnNpb24ocnVsZXMpOyAgLy8vXG5cbiAgY29uc3QgZnVydGxlUGFyc2VyID0gcGFyc2VyRnJvbVJ1bGVzKEZ1cnRsZVBhcnNlciwgcnVsZXMpO1xuXG4gIHJldHVybiBmdXJ0bGVQYXJzZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmdXJ0bGVQYXJzZXJGcm9tTm90aGluZygpIHtcbiAgY29uc3QgeyBibmYgfSA9IEZ1cnRsZVBhcnNlcjtcblxuICBsZXQgcnVsZXM7XG5cbiAgcnVsZXMgPSBydWxlc0Zyb21CTkYoYm5mKTtcblxuICBydWxlcyA9IGVsaW1pbmF0ZUxlZnRSZWN1cnNpb24ocnVsZXMpOyAgLy8vXG5cbiAgY29uc3QgZnVydGxlUGFyc2VyID0gcGFyc2VyRnJvbVJ1bGVzKEZ1cnRsZVBhcnNlciwgcnVsZXMpO1xuXG4gIHJldHVybiBmdXJ0bGVQYXJzZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmdXJ0bGVQYXJzZXJGcm9tQk5GQW5kU3RhcnRSdWxlTmFtZShibmYsIHN0YXJ0UnVsZU5hbWUpIHtcbiAgbGV0IHJ1bGVzO1xuXG4gIHJ1bGVzID0gcnVsZXNGcm9tQk5GKGJuZik7XG5cbiAgcnVsZXMgPSBlbGltaW5hdGVMZWZ0UmVjdXJzaW9uKHJ1bGVzKTsgIC8vL1xuXG4gIGNvbnN0IGZ1cnRsZVBhcnNlciA9IHBhcnNlckZyb21SdWxlc0FuZFN0YXJ0UnVsZU5hbWUoRnVydGxlUGFyc2VyLCBydWxlcywgc3RhcnRSdWxlTmFtZSk7XG5cbiAgcmV0dXJuIGZ1cnRsZVBhcnNlcjtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBmdXJ0bGVQYXJzZXJGcm9tQk5GLFxuICBmdXJ0bGVQYXJzZXJGcm9tTm90aGluZyxcbiAgZnVydGxlUGFyc2VyRnJvbUJORkFuZFN0YXJ0UnVsZU5hbWVcbn07XG4iXSwibmFtZXMiOlsiZnVydGxlUGFyc2VyRnJvbUJORiIsImZ1cnRsZVBhcnNlckZyb21CTkZBbmRTdGFydFJ1bGVOYW1lIiwiZnVydGxlUGFyc2VyRnJvbU5vdGhpbmciLCJydWxlc0Zyb21CTkYiLCJwYXJzZXJVdGlsaXRpZXMiLCJwYXJzZXJGcm9tUnVsZXMiLCJwYXJzZXJGcm9tUnVsZXNBbmRTdGFydFJ1bGVOYW1lIiwiYm5mIiwicnVsZXMiLCJlbGltaW5hdGVMZWZ0UmVjdXJzaW9uIiwiZnVydGxlUGFyc2VyIiwiRnVydGxlUGFyc2VyIiwic3RhcnRSdWxlTmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBK0NBO2VBQUE7O1FBdENnQkE7ZUFBQUE7O1FBMEJBQztlQUFBQTs7UUFkQUM7ZUFBQUE7Ozs0QkFuQmdCO3FDQUNPOzZEQUVkOzs7Ozs7QUFFekIsSUFBUUMsZUFBbUVDLDZCQUFlLENBQWxGRCxjQUFjRSxrQkFBcURELDZCQUFlLENBQXBFQyxpQkFBaUJDLGtDQUFvQ0YsNkJBQWUsQ0FBbkRFO0FBRWhDLFNBQVNOLG9CQUFvQk8sR0FBRztJQUNyQyxJQUFJQztJQUVKQSxRQUFRTCxhQUFhSTtJQUVyQkMsUUFBUUMsSUFBQUEsNkNBQXNCLEVBQUNELFFBQVMsR0FBRztJQUUzQyxJQUFNRSxlQUFlTCxnQkFBZ0JNLGVBQVksRUFBRUg7SUFFbkQsT0FBT0U7QUFDVDtBQUVPLFNBQVNSO0lBQ2QsSUFBTSxBQUFFSyxNQUFRSSxlQUFZLENBQXBCSjtJQUVSLElBQUlDO0lBRUpBLFFBQVFMLGFBQWFJO0lBRXJCQyxRQUFRQyxJQUFBQSw2Q0FBc0IsRUFBQ0QsUUFBUyxHQUFHO0lBRTNDLElBQU1FLGVBQWVMLGdCQUFnQk0sZUFBWSxFQUFFSDtJQUVuRCxPQUFPRTtBQUNUO0FBRU8sU0FBU1Qsb0NBQW9DTSxHQUFHLEVBQUVLLGFBQWE7SUFDcEUsSUFBSUo7SUFFSkEsUUFBUUwsYUFBYUk7SUFFckJDLFFBQVFDLElBQUFBLDZDQUFzQixFQUFDRCxRQUFTLEdBQUc7SUFFM0MsSUFBTUUsZUFBZUosZ0NBQWdDSyxlQUFZLEVBQUVILE9BQU9JO0lBRTFFLE9BQU9GO0FBQ1Q7SUFFQSxXQUFlO0lBQ2JWLHFCQUFBQTtJQUNBRSx5QkFBQUE7SUFDQUQscUNBQUFBO0FBQ0YifQ==
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcGFyc2Vycy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgcGFyc2VyVXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLXBhcnNlcnNcIjtcbmltcG9ydCB7IGVsaW1pbmF0ZUxlZnRSZWN1cnNpb24gfSBmcm9tIFwib2NjYW0tZ3JhbW1hci11dGlsaXRpZXNcIjtcblxuaW1wb3J0IEZ1cnRsZVBhcnNlciBmcm9tIFwiLi4vZnVydGxlL3BhcnNlclwiO1xuXG5jb25zdCB7IHJ1bGVzRnJvbUJORiwgcGFyc2VyRnJvbVJ1bGVzLCBwYXJzZXJGcm9tUnVsZXNBbmRTdGFydFJ1bGVOYW1lIH0gPSBwYXJzZXJVdGlsaXRpZXM7XG5cbmV4cG9ydCBmdW5jdGlvbiBmdXJ0bGVQYXJzZXJGcm9tQk5GKENsYXNzLCBibmYpIHtcbiAgaWYgKGJuZiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgYm5mID0gQ2xhc3M7ICAvLy9cblxuICAgIENsYXNzID0gRnVydGxlUGFyc2VyOyAgLy8vXG4gIH1cblxuICBsZXQgcnVsZXM7XG5cbiAgcnVsZXMgPSBydWxlc0Zyb21CTkYoYm5mKTtcblxuICBydWxlcyA9IGVsaW1pbmF0ZUxlZnRSZWN1cnNpb24ocnVsZXMpOyAgLy8vXG5cbiAgY29uc3QgZnVydGxlUGFyc2VyID0gcGFyc2VyRnJvbVJ1bGVzKENsYXNzLCBydWxlcyk7XG5cbiAgcmV0dXJuIGZ1cnRsZVBhcnNlcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZ1cnRsZVBhcnNlckZyb21Ob3RoaW5nKENsYXNzKSB7XG4gIGlmIChDbGFzcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgQ2xhc3MgPSBGdXJ0bGVQYXJzZXI7ICAvLy9cbiAgfVxuXG4gIGNvbnN0IHsgYm5mIH0gPSBGdXJ0bGVQYXJzZXI7XG5cbiAgbGV0IHJ1bGVzO1xuXG4gIHJ1bGVzID0gcnVsZXNGcm9tQk5GKGJuZik7XG5cbiAgcnVsZXMgPSBlbGltaW5hdGVMZWZ0UmVjdXJzaW9uKHJ1bGVzKTsgIC8vL1xuXG4gIGNvbnN0IGZ1cnRsZVBhcnNlciA9IHBhcnNlckZyb21SdWxlcyhDbGFzcywgcnVsZXMpO1xuXG4gIHJldHVybiBmdXJ0bGVQYXJzZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmdXJ0bGVQYXJzZXJGcm9tQk5GQW5kU3RhcnRSdWxlTmFtZShDbGFzcywgYm5mLCBzdGFydFJ1bGVOYW1lKSB7XG4gIGlmIChzdGFydFJ1bGVOYW1lID09PSB1bmRlZmluZWQpIHtcbiAgICBzdGFydFJ1bGVOYW1lID0gYm5mOyAgLy8vXG5cbiAgICBibmYgPSBDbGFzczsgIC8vL1xuXG4gICAgQ2xhc3MgPSBGdXJ0bGVQYXJzZXI7ICAvLy9cbiAgfVxuXG4gIGxldCBydWxlcztcblxuICBydWxlcyA9IHJ1bGVzRnJvbUJORihibmYpO1xuXG4gIHJ1bGVzID0gZWxpbWluYXRlTGVmdFJlY3Vyc2lvbihydWxlcyk7ICAvLy9cblxuICBjb25zdCBmdXJ0bGVQYXJzZXIgPSBwYXJzZXJGcm9tUnVsZXNBbmRTdGFydFJ1bGVOYW1lKENsYXNzLCBydWxlcywgc3RhcnRSdWxlTmFtZSk7XG5cbiAgcmV0dXJuIGZ1cnRsZVBhcnNlcjtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBmdXJ0bGVQYXJzZXJGcm9tQk5GLFxuICBmdXJ0bGVQYXJzZXJGcm9tTm90aGluZyxcbiAgZnVydGxlUGFyc2VyRnJvbUJORkFuZFN0YXJ0UnVsZU5hbWVcbn07XG4iXSwibmFtZXMiOlsiZnVydGxlUGFyc2VyRnJvbUJORiIsImZ1cnRsZVBhcnNlckZyb21CTkZBbmRTdGFydFJ1bGVOYW1lIiwiZnVydGxlUGFyc2VyRnJvbU5vdGhpbmciLCJydWxlc0Zyb21CTkYiLCJwYXJzZXJVdGlsaXRpZXMiLCJwYXJzZXJGcm9tUnVsZXMiLCJwYXJzZXJGcm9tUnVsZXNBbmRTdGFydFJ1bGVOYW1lIiwiQ2xhc3MiLCJibmYiLCJ1bmRlZmluZWQiLCJGdXJ0bGVQYXJzZXIiLCJydWxlcyIsImVsaW1pbmF0ZUxlZnRSZWN1cnNpb24iLCJmdXJ0bGVQYXJzZXIiLCJzdGFydFJ1bGVOYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFpRUE7ZUFBQTs7UUF4RGdCQTtlQUFBQTs7UUFvQ0FDO2VBQUFBOztRQWxCQUM7ZUFBQUE7Ozs0QkF6QmdCO3FDQUNPOzZEQUVkOzs7Ozs7QUFFekIsSUFBUUMsZUFBbUVDLDZCQUFlLENBQWxGRCxjQUFjRSxrQkFBcURELDZCQUFlLENBQXBFQyxpQkFBaUJDLGtDQUFvQ0YsNkJBQWUsQ0FBbkRFO0FBRWhDLFNBQVNOLG9CQUFvQk8sS0FBSyxFQUFFQyxHQUFHO0lBQzVDLElBQUlBLFFBQVFDLFdBQVc7UUFDckJELE1BQU1ELE9BQVEsR0FBRztRQUVqQkEsUUFBUUcsZUFBWSxFQUFHLEdBQUc7SUFDNUI7SUFFQSxJQUFJQztJQUVKQSxRQUFRUixhQUFhSztJQUVyQkcsUUFBUUMsSUFBQUEsNkNBQXNCLEVBQUNELFFBQVMsR0FBRztJQUUzQyxJQUFNRSxlQUFlUixnQkFBZ0JFLE9BQU9JO0lBRTVDLE9BQU9FO0FBQ1Q7QUFFTyxTQUFTWCx3QkFBd0JLLEtBQUs7SUFDM0MsSUFBSUEsVUFBVUUsV0FBVztRQUN2QkYsUUFBUUcsZUFBWSxFQUFHLEdBQUc7SUFDNUI7SUFFQSxJQUFNLEFBQUVGLE1BQVFFLGVBQVksQ0FBcEJGO0lBRVIsSUFBSUc7SUFFSkEsUUFBUVIsYUFBYUs7SUFFckJHLFFBQVFDLElBQUFBLDZDQUFzQixFQUFDRCxRQUFTLEdBQUc7SUFFM0MsSUFBTUUsZUFBZVIsZ0JBQWdCRSxPQUFPSTtJQUU1QyxPQUFPRTtBQUNUO0FBRU8sU0FBU1osb0NBQW9DTSxLQUFLLEVBQUVDLEdBQUcsRUFBRU0sYUFBYTtJQUMzRSxJQUFJQSxrQkFBa0JMLFdBQVc7UUFDL0JLLGdCQUFnQk4sS0FBTSxHQUFHO1FBRXpCQSxNQUFNRCxPQUFRLEdBQUc7UUFFakJBLFFBQVFHLGVBQVksRUFBRyxHQUFHO0lBQzVCO0lBRUEsSUFBSUM7SUFFSkEsUUFBUVIsYUFBYUs7SUFFckJHLFFBQVFDLElBQUFBLDZDQUFzQixFQUFDRCxRQUFTLEdBQUc7SUFFM0MsSUFBTUUsZUFBZVAsZ0NBQWdDQyxPQUFPSSxPQUFPRztJQUVuRSxPQUFPRDtBQUNUO0lBRUEsV0FBZTtJQUNiYixxQkFBQUE7SUFDQUUseUJBQUFBO0lBQ0FELHFDQUFBQTtBQUNGIn0=
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-grammars",
3
3
  "author": "James Smith",
4
- "version": "1.3.437",
4
+ "version": "1.3.439",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-grammars",
7
7
  "description": "Occam's grammars.",
@@ -6,24 +6,34 @@ import FurtleLexer from "../furtle/lexer";
6
6
 
7
7
  const { lexerFromRules, rulesFromEntries } = lexerUtilities;
8
8
 
9
- export function furtleLexerFromEntries(entries) {
9
+ export function furtleLexerFromEntries(Class, entries) {
10
+ if (entries === undefined) {
11
+ entries = Class; ///
12
+
13
+ Class = FurtleLexer; ///
14
+ }
15
+
10
16
  let rules;
11
17
 
12
18
  rules = rulesFromEntries(entries);
13
19
 
14
- const furtleLexer = lexerFromRules(FurtleLexer, rules);
20
+ const furtleLexer = lexerFromRules(Class, rules);
15
21
 
16
22
  return furtleLexer;
17
23
  }
18
24
 
19
- export function furtleLexerFromNothing() {
25
+ export function furtleLexerFromNothing(Class) {
26
+ if (Class === undefined) {
27
+ Class = FurtleLexer; ///
28
+ }
29
+
20
30
  const { entries } = FurtleLexer;
21
31
 
22
32
  let rules;
23
33
 
24
34
  rules = rulesFromEntries(entries);
25
35
 
26
- const furtleLexer = lexerFromRules(FurtleLexer, rules);
36
+ const furtleLexer = lexerFromRules(Class, rules);
27
37
 
28
38
  return furtleLexer;
29
39
  }
@@ -7,19 +7,29 @@ import FurtleParser from "../furtle/parser";
7
7
 
8
8
  const { rulesFromBNF, parserFromRules, parserFromRulesAndStartRuleName } = parserUtilities;
9
9
 
10
- export function furtleParserFromBNF(bnf) {
10
+ export function furtleParserFromBNF(Class, bnf) {
11
+ if (bnf === undefined) {
12
+ bnf = Class; ///
13
+
14
+ Class = FurtleParser; ///
15
+ }
16
+
11
17
  let rules;
12
18
 
13
19
  rules = rulesFromBNF(bnf);
14
20
 
15
21
  rules = eliminateLeftRecursion(rules); ///
16
22
 
17
- const furtleParser = parserFromRules(FurtleParser, rules);
23
+ const furtleParser = parserFromRules(Class, rules);
18
24
 
19
25
  return furtleParser;
20
26
  }
21
27
 
22
- export function furtleParserFromNothing() {
28
+ export function furtleParserFromNothing(Class) {
29
+ if (Class === undefined) {
30
+ Class = FurtleParser; ///
31
+ }
32
+
23
33
  const { bnf } = FurtleParser;
24
34
 
25
35
  let rules;
@@ -28,19 +38,27 @@ export function furtleParserFromNothing() {
28
38
 
29
39
  rules = eliminateLeftRecursion(rules); ///
30
40
 
31
- const furtleParser = parserFromRules(FurtleParser, rules);
41
+ const furtleParser = parserFromRules(Class, rules);
32
42
 
33
43
  return furtleParser;
34
44
  }
35
45
 
36
- export function furtleParserFromBNFAndStartRuleName(bnf, startRuleName) {
46
+ export function furtleParserFromBNFAndStartRuleName(Class, bnf, startRuleName) {
47
+ if (startRuleName === undefined) {
48
+ startRuleName = bnf; ///
49
+
50
+ bnf = Class; ///
51
+
52
+ Class = FurtleParser; ///
53
+ }
54
+
37
55
  let rules;
38
56
 
39
57
  rules = rulesFromBNF(bnf);
40
58
 
41
59
  rules = eliminateLeftRecursion(rules); ///
42
60
 
43
- const furtleParser = parserFromRulesAndStartRuleName(FurtleParser, rules, startRuleName);
61
+ const furtleParser = parserFromRulesAndStartRuleName(Class, rules, startRuleName);
44
62
 
45
63
  return furtleParser;
46
64
  }