occam-custom-grammars 5.0.1205 → 5.0.1207

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.
@@ -56,16 +56,28 @@ function _unsupported_iterable_to_array(o, minLen) {
56
56
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
57
57
  }
58
58
  var lexerFromRules = _occamlexers.lexerUtilities.lexerFromRules, rulesFromEntries = _occamlexers.lexerUtilities.rulesFromEntries;
59
- function nominalLexerFromNothing() {
60
- var entries = _occamgrammars.NominalLexer.entries, combinedCustomGrammar = _combined.default.fromNothing(), rules = rulesFromEntriesAndCombinedCustomGrammar(entries, combinedCustomGrammar), nominalLexer = lexerFromRules(_occamgrammars.NominalLexer, rules);
59
+ function nominalLexerFromNothing(Class) {
60
+ if (Class === undefined) {
61
+ Class = _occamgrammars.NominalLexer; ///
62
+ }
63
+ var entries = Class.entries, combinedCustomGrammar = _combined.default.fromNothing(), rules = rulesFromEntriesAndCombinedCustomGrammar(entries, combinedCustomGrammar), nominalLexer = lexerFromRules(Class, rules);
61
64
  return nominalLexer;
62
65
  }
63
- function nominalLexerFromCombinedCustomGrammar(combinedCustomGrammar) {
64
- var entries = _occamgrammars.NominalLexer.entries, rules = rulesFromEntriesAndCombinedCustomGrammar(entries, combinedCustomGrammar), nominalLexer = lexerFromRules(_occamgrammars.NominalLexer, rules);
66
+ function nominalLexerFromCombinedCustomGrammar(Class, combinedCustomGrammar) {
67
+ if (combinedCustomGrammar === undefined) {
68
+ combinedCustomGrammar = Class; ///
69
+ Class = _occamgrammars.NominalLexer; ///
70
+ }
71
+ var entries = Class.entries, rules = rulesFromEntriesAndCombinedCustomGrammar(entries, combinedCustomGrammar), nominalLexer = lexerFromRules(Class, rules);
65
72
  return nominalLexer;
66
73
  }
67
- function nominalLexerFromEntriesAndCombinedCustomGrammar(entries, combinedCustomGrammar) {
68
- var rules = rulesFromEntriesAndCombinedCustomGrammar(entries, combinedCustomGrammar), nominalLexer = lexerFromRules(_occamgrammars.NominalLexer, rules);
74
+ function nominalLexerFromEntriesAndCombinedCustomGrammar(Class, entries, combinedCustomGrammar) {
75
+ if (combinedCustomGrammar === undefined) {
76
+ combinedCustomGrammar = entries; ///
77
+ entries = Class; ///
78
+ Class = _occamgrammars.NominalLexer; ///
79
+ }
80
+ var rules = rulesFromEntriesAndCombinedCustomGrammar(entries, combinedCustomGrammar), nominalLexer = lexerFromRules(Class, rules);
69
81
  return nominalLexer;
70
82
  }
71
83
  var _default = {
@@ -80,4 +92,4 @@ function rulesFromEntriesAndCombinedCustomGrammar(entries, combinedCustomGrammar
80
92
  return rules;
81
93
  }
82
94
 
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbGV4ZXJzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBOb21pbmFsTGV4ZXIgfSBmcm9tIFwib2NjYW0tZ3JhbW1hcnNcIjtcbmltcG9ydCB7IGxleGVyVXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWxleGVyc1wiO1xuXG5pbXBvcnQgQ29tYmluZWRDdXN0b21HcmFtbWFyIGZyb20gXCIuLi9jdXN0b21HcmFtbWFyL2NvbWJpbmVkXCI7XG5cbmNvbnN0IHsgbGV4ZXJGcm9tUnVsZXMsIHJ1bGVzRnJvbUVudHJpZXMgfSA9IGxleGVyVXRpbGl0aWVzO1xuXG5leHBvcnQgZnVuY3Rpb24gbm9taW5hbExleGVyRnJvbU5vdGhpbmcoKSB7XG4gIGNvbnN0IHsgZW50cmllcyB9ID0gTm9taW5hbExleGVyLFxuICAgICAgICBjb21iaW5lZEN1c3RvbUdyYW1tYXIgPSBDb21iaW5lZEN1c3RvbUdyYW1tYXIuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgcnVsZXMgPSBydWxlc0Zyb21FbnRyaWVzQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyKGVudHJpZXMsIGNvbWJpbmVkQ3VzdG9tR3JhbW1hciksXG4gICAgICAgIG5vbWluYWxMZXhlciA9IGxleGVyRnJvbVJ1bGVzKE5vbWluYWxMZXhlciwgcnVsZXMpO1xuXG4gIHJldHVybiBub21pbmFsTGV4ZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub21pbmFsTGV4ZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyKGNvbWJpbmVkQ3VzdG9tR3JhbW1hcikge1xuICBjb25zdCB7IGVudHJpZXMgfSA9IE5vbWluYWxMZXhlcixcbiAgICAgICAgcnVsZXMgPSBydWxlc0Zyb21FbnRyaWVzQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyKGVudHJpZXMsIGNvbWJpbmVkQ3VzdG9tR3JhbW1hciksXG4gICAgICAgIG5vbWluYWxMZXhlciA9IGxleGVyRnJvbVJ1bGVzKE5vbWluYWxMZXhlciwgcnVsZXMpO1xuXG4gIHJldHVybiBub21pbmFsTGV4ZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub21pbmFsTGV4ZXJGcm9tRW50cmllc0FuZENvbWJpbmVkQ3VzdG9tR3JhbW1hcihlbnRyaWVzLCBjb21iaW5lZEN1c3RvbUdyYW1tYXIpIHtcbiAgY29uc3QgcnVsZXMgPSBydWxlc0Zyb21FbnRyaWVzQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyKGVudHJpZXMsIGNvbWJpbmVkQ3VzdG9tR3JhbW1hciksXG4gICAgICAgIG5vbWluYWxMZXhlciA9IGxleGVyRnJvbVJ1bGVzKE5vbWluYWxMZXhlciwgcnVsZXMpO1xuXG4gIHJldHVybiBub21pbmFsTGV4ZXI7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgbm9taW5hbExleGVyRnJvbU5vdGhpbmcsXG4gIG5vbWluYWxMZXhlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIsXG4gIG5vbWluYWxMZXhlckZyb21FbnRyaWVzQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyXG59O1xuXG5mdW5jdGlvbiBydWxlc0Zyb21FbnRyaWVzQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyKGVudHJpZXMsIGNvbWJpbmVkQ3VzdG9tR3JhbW1hcikge1xuICBjb25zdCBjdXN0b21HcmFtbWFyRW50cmllcyA9IGNvbWJpbmVkQ3VzdG9tR3JhbW1hci5nZXRFbnRyaWVzKCk7XG5cbiAgZW50cmllcyA9IFsgLy8vXG4gICAgLi4uY3VzdG9tR3JhbW1hckVudHJpZXMsXG4gICAgLi4uZW50cmllc1xuICBdO1xuXG4gIGNvbnN0IHJ1bGVzID0gcnVsZXNGcm9tRW50cmllcyhlbnRyaWVzKTtcblxuICByZXR1cm4gcnVsZXM7XG59XG4iXSwibmFtZXMiOlsibm9taW5hbExleGVyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsIm5vbWluYWxMZXhlckZyb21FbnRyaWVzQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyIiwibm9taW5hbExleGVyRnJvbU5vdGhpbmciLCJsZXhlckZyb21SdWxlcyIsImxleGVyVXRpbGl0aWVzIiwicnVsZXNGcm9tRW50cmllcyIsImVudHJpZXMiLCJOb21pbmFsTGV4ZXIiLCJjb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJDb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJmcm9tTm90aGluZyIsInJ1bGVzIiwicnVsZXNGcm9tRW50cmllc0FuZENvbWJpbmVkQ3VzdG9tR3JhbW1hciIsIm5vbWluYWxMZXhlciIsImN1c3RvbUdyYW1tYXJFbnRyaWVzIiwiZ2V0RW50cmllcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBaUNBO2VBQUE7O1FBZmdCQTtlQUFBQTs7UUFRQUM7ZUFBQUE7O1FBakJBQztlQUFBQTs7OzZCQVBhOzJCQUNFOytEQUVHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWxDLElBQVFDLGlCQUFxQ0MsMkJBQWMsQ0FBbkRELGdCQUFnQkUsbUJBQXFCRCwyQkFBYyxDQUFuQ0M7QUFFakIsU0FBU0g7SUFDZCxJQUFNLEFBQUVJLFVBQVlDLDJCQUFZLENBQXhCRCxTQUNGRSx3QkFBd0JDLGlCQUFxQixDQUFDQyxXQUFXLElBQ3pEQyxRQUFRQyx5Q0FBeUNOLFNBQVNFLHdCQUMxREssZUFBZVYsZUFBZUksMkJBQVksRUFBRUk7SUFFbEQsT0FBT0U7QUFDVDtBQUVPLFNBQVNiLHNDQUFzQ1EscUJBQXFCO0lBQ3pFLElBQU0sQUFBRUYsVUFBWUMsMkJBQVksQ0FBeEJELFNBQ0ZLLFFBQVFDLHlDQUF5Q04sU0FBU0Usd0JBQzFESyxlQUFlVixlQUFlSSwyQkFBWSxFQUFFSTtJQUVsRCxPQUFPRTtBQUNUO0FBRU8sU0FBU1osZ0RBQWdESyxPQUFPLEVBQUVFLHFCQUFxQjtJQUM1RixJQUFNRyxRQUFRQyx5Q0FBeUNOLFNBQVNFLHdCQUMxREssZUFBZVYsZUFBZUksMkJBQVksRUFBRUk7SUFFbEQsT0FBT0U7QUFDVDtJQUVBLFdBQWU7SUFDYlgseUJBQUFBO0lBQ0FGLHVDQUFBQTtJQUNBQyxpREFBQUE7QUFDRjtBQUVBLFNBQVNXLHlDQUF5Q04sT0FBTyxFQUFFRSxxQkFBcUI7SUFDOUUsSUFBTU0sdUJBQXVCTixzQkFBc0JPLFVBQVU7SUFFN0RULFVBQVUsQUFDUixxQkFBR1EsNkJBQ0gscUJBQUdSO0lBR0wsSUFBTUssUUFBUU4saUJBQWlCQztJQUUvQixPQUFPSztBQUNUIn0=
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbGV4ZXJzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBOb21pbmFsTGV4ZXIgfSBmcm9tIFwib2NjYW0tZ3JhbW1hcnNcIjtcbmltcG9ydCB7IGxleGVyVXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWxleGVyc1wiO1xuXG5pbXBvcnQgQ29tYmluZWRDdXN0b21HcmFtbWFyIGZyb20gXCIuLi9jdXN0b21HcmFtbWFyL2NvbWJpbmVkXCI7XG5cbmNvbnN0IHsgbGV4ZXJGcm9tUnVsZXMsIHJ1bGVzRnJvbUVudHJpZXMgfSA9IGxleGVyVXRpbGl0aWVzO1xuXG5leHBvcnQgZnVuY3Rpb24gbm9taW5hbExleGVyRnJvbU5vdGhpbmcoQ2xhc3MpIHtcbiAgaWYgKENsYXNzID09PSB1bmRlZmluZWQpIHtcbiAgICBDbGFzcyA9IE5vbWluYWxMZXhlcjsgLy8vXG4gIH1cblxuICBjb25zdCB7IGVudHJpZXMgfSA9IENsYXNzLFxuICAgICAgICBjb21iaW5lZEN1c3RvbUdyYW1tYXIgPSBDb21iaW5lZEN1c3RvbUdyYW1tYXIuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgcnVsZXMgPSBydWxlc0Zyb21FbnRyaWVzQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyKGVudHJpZXMsIGNvbWJpbmVkQ3VzdG9tR3JhbW1hciksXG4gICAgICAgIG5vbWluYWxMZXhlciA9IGxleGVyRnJvbVJ1bGVzKENsYXNzLCBydWxlcyk7XG5cbiAgcmV0dXJuIG5vbWluYWxMZXhlcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vbWluYWxMZXhlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIoQ2xhc3MsIGNvbWJpbmVkQ3VzdG9tR3JhbW1hcikge1xuICBpZiAoY29tYmluZWRDdXN0b21HcmFtbWFyID09PSB1bmRlZmluZWQpIHtcbiAgICBjb21iaW5lZEN1c3RvbUdyYW1tYXIgPSBDbGFzczsgIC8vL1xuXG4gICAgQ2xhc3MgPSBOb21pbmFsTGV4ZXI7IC8vL1xuICB9XG5cbiAgY29uc3QgeyBlbnRyaWVzIH0gPSBDbGFzcyxcbiAgICAgICAgcnVsZXMgPSBydWxlc0Zyb21FbnRyaWVzQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyKGVudHJpZXMsIGNvbWJpbmVkQ3VzdG9tR3JhbW1hciksXG4gICAgICAgIG5vbWluYWxMZXhlciA9IGxleGVyRnJvbVJ1bGVzKENsYXNzLCBydWxlcyk7XG5cbiAgcmV0dXJuIG5vbWluYWxMZXhlcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vbWluYWxMZXhlckZyb21FbnRyaWVzQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyKENsYXNzLCBlbnRyaWVzLCBjb21iaW5lZEN1c3RvbUdyYW1tYXIpIHtcbiAgaWYgKGNvbWJpbmVkQ3VzdG9tR3JhbW1hciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgY29tYmluZWRDdXN0b21HcmFtbWFyID0gZW50cmllczsgIC8vL1xuXG4gICAgZW50cmllcyA9IENsYXNzOyAgLy8vXG5cbiAgICBDbGFzcyA9IE5vbWluYWxMZXhlcjsgLy8vXG4gIH1cblxuICBjb25zdCBydWxlcyA9IHJ1bGVzRnJvbUVudHJpZXNBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIoZW50cmllcywgY29tYmluZWRDdXN0b21HcmFtbWFyKSxcbiAgICAgICAgbm9taW5hbExleGVyID0gbGV4ZXJGcm9tUnVsZXMoQ2xhc3MsIHJ1bGVzKTtcblxuICByZXR1cm4gbm9taW5hbExleGVyO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIG5vbWluYWxMZXhlckZyb21Ob3RoaW5nLFxuICBub21pbmFsTGV4ZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyLFxuICBub21pbmFsTGV4ZXJGcm9tRW50cmllc0FuZENvbWJpbmVkQ3VzdG9tR3JhbW1hclxufTtcblxuZnVuY3Rpb24gcnVsZXNGcm9tRW50cmllc0FuZENvbWJpbmVkQ3VzdG9tR3JhbW1hcihlbnRyaWVzLCBjb21iaW5lZEN1c3RvbUdyYW1tYXIpIHtcbiAgY29uc3QgY3VzdG9tR3JhbW1hckVudHJpZXMgPSBjb21iaW5lZEN1c3RvbUdyYW1tYXIuZ2V0RW50cmllcygpO1xuXG4gIGVudHJpZXMgPSBbIC8vL1xuICAgIC4uLmN1c3RvbUdyYW1tYXJFbnRyaWVzLFxuICAgIC4uLmVudHJpZXNcbiAgXTtcblxuICBjb25zdCBydWxlcyA9IHJ1bGVzRnJvbUVudHJpZXMoZW50cmllcyk7XG5cbiAgcmV0dXJuIHJ1bGVzO1xufVxuIl0sIm5hbWVzIjpbIm5vbWluYWxMZXhlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIiLCJub21pbmFsTGV4ZXJGcm9tRW50cmllc0FuZENvbWJpbmVkQ3VzdG9tR3JhbW1hciIsIm5vbWluYWxMZXhlckZyb21Ob3RoaW5nIiwibGV4ZXJGcm9tUnVsZXMiLCJsZXhlclV0aWxpdGllcyIsInJ1bGVzRnJvbUVudHJpZXMiLCJDbGFzcyIsInVuZGVmaW5lZCIsIk5vbWluYWxMZXhlciIsImVudHJpZXMiLCJjb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJDb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJmcm9tTm90aGluZyIsInJ1bGVzIiwicnVsZXNGcm9tRW50cmllc0FuZENvbWJpbmVkQ3VzdG9tR3JhbW1hciIsIm5vbWluYWxMZXhlciIsImN1c3RvbUdyYW1tYXJFbnRyaWVzIiwiZ2V0RW50cmllcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBbURBO2VBQUE7O1FBN0JnQkE7ZUFBQUE7O1FBY0FDO2VBQUFBOztRQTNCQUM7ZUFBQUE7Ozs2QkFQYTsyQkFDRTsrREFFRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVsQyxJQUFRQyxpQkFBcUNDLDJCQUFjLENBQW5ERCxnQkFBZ0JFLG1CQUFxQkQsMkJBQWMsQ0FBbkNDO0FBRWpCLFNBQVNILHdCQUF3QkksS0FBSztJQUMzQyxJQUFJQSxVQUFVQyxXQUFXO1FBQ3ZCRCxRQUFRRSwyQkFBWSxFQUFFLEdBQUc7SUFDM0I7SUFFQSxJQUFNLEFBQUVDLFVBQVlILE1BQVpHLFNBQ0ZDLHdCQUF3QkMsaUJBQXFCLENBQUNDLFdBQVcsSUFDekRDLFFBQVFDLHlDQUF5Q0wsU0FBU0Msd0JBQzFESyxlQUFlWixlQUFlRyxPQUFPTztJQUUzQyxPQUFPRTtBQUNUO0FBRU8sU0FBU2Ysc0NBQXNDTSxLQUFLLEVBQUVJLHFCQUFxQjtJQUNoRixJQUFJQSwwQkFBMEJILFdBQVc7UUFDdkNHLHdCQUF3QkosT0FBUSxHQUFHO1FBRW5DQSxRQUFRRSwyQkFBWSxFQUFFLEdBQUc7SUFDM0I7SUFFQSxJQUFNLEFBQUVDLFVBQVlILE1BQVpHLFNBQ0ZJLFFBQVFDLHlDQUF5Q0wsU0FBU0Msd0JBQzFESyxlQUFlWixlQUFlRyxPQUFPTztJQUUzQyxPQUFPRTtBQUNUO0FBRU8sU0FBU2QsZ0RBQWdESyxLQUFLLEVBQUVHLE9BQU8sRUFBRUMscUJBQXFCO0lBQ25HLElBQUlBLDBCQUEwQkgsV0FBVztRQUN2Q0csd0JBQXdCRCxTQUFVLEdBQUc7UUFFckNBLFVBQVVILE9BQVEsR0FBRztRQUVyQkEsUUFBUUUsMkJBQVksRUFBRSxHQUFHO0lBQzNCO0lBRUEsSUFBTUssUUFBUUMseUNBQXlDTCxTQUFTQyx3QkFDMURLLGVBQWVaLGVBQWVHLE9BQU9PO0lBRTNDLE9BQU9FO0FBQ1Q7SUFFQSxXQUFlO0lBQ2JiLHlCQUFBQTtJQUNBRix1Q0FBQUE7SUFDQUMsaURBQUFBO0FBQ0Y7QUFFQSxTQUFTYSx5Q0FBeUNMLE9BQU8sRUFBRUMscUJBQXFCO0lBQzlFLElBQU1NLHVCQUF1Qk4sc0JBQXNCTyxVQUFVO0lBRTdEUixVQUFVLEFBQ1IscUJBQUdPLDZCQUNILHFCQUFHUDtJQUdMLElBQU1JLFFBQVFSLGlCQUFpQkk7SUFFL0IsT0FBT0k7QUFDVCJ9
@@ -40,28 +40,55 @@ function _interop_require_default(obj) {
40
40
  };
41
41
  }
42
42
  var rulesFromBNF = _occamparsers.parserUtilities.rulesFromBNF, parserFromRules = _occamparsers.parserUtilities.parserFromRules, parserFromRulesAndStartRuleName = _occamparsers.parserUtilities.parserFromRulesAndStartRuleName;
43
- function nominalParserFromNothing() {
44
- var bnf = _occamgrammars.NominalParser.bnf, combinedCustomGrammar = _combined.default.fromNothing(), rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar), nominalParser = parserFromRules(_occamgrammars.NominalParser, rules);
43
+ function nominalParserFromNothing(Class) {
44
+ if (Class === undefined) {
45
+ Class = _occamgrammars.NominalParser; ///
46
+ }
47
+ var bnf = Class.bnf, combinedCustomGrammar = _combined.default.fromNothing(), rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar), nominalParser = parserFromRules(Class, rules);
45
48
  return nominalParser;
46
49
  }
47
- function nominalParserFromStartRuleName(startRuleName) {
48
- var bnf = _occamgrammars.NominalParser.bnf, combinedCustomGrammar = _combined.default.fromNothing(), rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar), nominalParser = parserFromRulesAndStartRuleName(_occamgrammars.NominalParser, rules, startRuleName);
50
+ function nominalParserFromStartRuleName(Class, startRuleName) {
51
+ if (startRuleName === undefined) {
52
+ startRuleName = Class; ///
53
+ Class = _occamgrammars.NominalParser; ///
54
+ }
55
+ var bnf = Class.bnf, combinedCustomGrammar = _combined.default.fromNothing(), rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar), nominalParser = parserFromRulesAndStartRuleName(Class, rules, startRuleName);
49
56
  return nominalParser;
50
57
  }
51
- function nominalParserFromCombinedCustomGrammar(combinedCustomGrammar) {
52
- var bnf = _occamgrammars.NominalParser.bnf, rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar), nominalParser = parserFromRules(_occamgrammars.NominalParser, rules);
58
+ function nominalParserFromCombinedCustomGrammar(Class, combinedCustomGrammar) {
59
+ if (combinedCustomGrammar === undefined) {
60
+ combinedCustomGrammar = Class; ///
61
+ Class = _occamgrammars.NominalParser; ///
62
+ }
63
+ var bnf = Class.bnf, rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar), nominalParser = parserFromRules(Class, rules);
53
64
  return nominalParser;
54
65
  }
55
- function nominalParserFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar) {
56
- var rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar), nominalParser = parserFromRules(_occamgrammars.NominalParser, rules);
66
+ function nominalParserFromBNFAndCombinedCustomGrammar(Class, bnf, combinedCustomGrammar) {
67
+ if (combinedCustomGrammar === undefined) {
68
+ combinedCustomGrammar = bnf; ///
69
+ bnf = Class; ///
70
+ Class = _occamgrammars.NominalParser; ///
71
+ }
72
+ var rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar), nominalParser = parserFromRules(Class, rules);
57
73
  return nominalParser;
58
74
  }
59
- function nominalParserFromStartRuleNameAndCombinedCustomGrammar(startRuleName, combinedCustomGrammar) {
60
- var bnf = _occamgrammars.NominalParser.bnf, rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar), nominalParser = parserFromRulesAndStartRuleName(_occamgrammars.NominalParser, rules, startRuleName);
75
+ function nominalParserFromStartRuleNameAndCombinedCustomGrammar(Class, startRuleName, combinedCustomGrammar) {
76
+ if (combinedCustomGrammar === undefined) {
77
+ combinedCustomGrammar = startRuleName; ///
78
+ startRuleName = Class; ///
79
+ Class = _occamgrammars.NominalParser; ///
80
+ }
81
+ var bnf = Class.bnf, rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar), nominalParser = parserFromRulesAndStartRuleName(Class, rules, startRuleName);
61
82
  return nominalParser;
62
83
  }
63
- function nominalParserFromBNFStartRuleNameAndCombinedCustomGrammar(bnf, startRuleName, combinedCustomGrammar) {
64
- var rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar), nominalParser = parserFromRulesAndStartRuleName(_occamgrammars.NominalParser, rules, startRuleName);
84
+ function nominalParserFromBNFStartRuleNameAndCombinedCustomGrammar(Class, bnf, startRuleName, combinedCustomGrammar) {
85
+ if (combinedCustomGrammar === undefined) {
86
+ combinedCustomGrammar = startRuleName; ///
87
+ startRuleName = bnf; ///
88
+ bnf = Class; ///
89
+ Class = _occamgrammars.NominalParser; ///
90
+ }
91
+ var rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar), nominalParser = parserFromRulesAndStartRuleName(Class, rules, startRuleName);
65
92
  return nominalParser;
66
93
  }
67
94
  var _default = {
@@ -78,4 +105,4 @@ function rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar) {
78
105
  return rules;
79
106
  }
80
107
 
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcGFyc2Vycy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgTm9taW5hbFBhcnNlciB9IGZyb20gXCJvY2NhbS1ncmFtbWFyc1wiO1xuaW1wb3J0IHsgcGFyc2VyVXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLXBhcnNlcnNcIjtcblxuaW1wb3J0IENvbWJpbmVkQ3VzdG9tR3JhbW1hciBmcm9tIFwiLi4vY3VzdG9tR3JhbW1hci9jb21iaW5lZFwiO1xuXG5jb25zdCB7IHJ1bGVzRnJvbUJORiwgcGFyc2VyRnJvbVJ1bGVzLCBwYXJzZXJGcm9tUnVsZXNBbmRTdGFydFJ1bGVOYW1lIH0gPSBwYXJzZXJVdGlsaXRpZXM7XG5cbmV4cG9ydCBmdW5jdGlvbiBub21pbmFsUGFyc2VyRnJvbU5vdGhpbmcoKSB7XG4gIGNvbnN0IHsgYm5mIH0gPSBOb21pbmFsUGFyc2VyLFxuICAgICAgICBjb21iaW5lZEN1c3RvbUdyYW1tYXIgPSBDb21iaW5lZEN1c3RvbUdyYW1tYXIuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgcnVsZXMgPSBydWxlc0Zyb21CTkZBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIoYm5mLCBjb21iaW5lZEN1c3RvbUdyYW1tYXIpLFxuICAgICAgICBub21pbmFsUGFyc2VyID0gcGFyc2VyRnJvbVJ1bGVzKE5vbWluYWxQYXJzZXIsIHJ1bGVzKTtcblxuICByZXR1cm4gbm9taW5hbFBhcnNlcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vbWluYWxQYXJzZXJGcm9tU3RhcnRSdWxlTmFtZShzdGFydFJ1bGVOYW1lKSB7XG4gIGNvbnN0IHsgYm5mIH0gPSBOb21pbmFsUGFyc2VyLFxuICAgICAgICBjb21iaW5lZEN1c3RvbUdyYW1tYXIgPSBDb21iaW5lZEN1c3RvbUdyYW1tYXIuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgcnVsZXMgPSBydWxlc0Zyb21CTkZBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIoYm5mLCBjb21iaW5lZEN1c3RvbUdyYW1tYXIpLFxuICAgICAgICBub21pbmFsUGFyc2VyID0gcGFyc2VyRnJvbVJ1bGVzQW5kU3RhcnRSdWxlTmFtZShOb21pbmFsUGFyc2VyLCBydWxlcywgc3RhcnRSdWxlTmFtZSk7XG5cbiAgcmV0dXJuIG5vbWluYWxQYXJzZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub21pbmFsUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hcihjb21iaW5lZEN1c3RvbUdyYW1tYXIpIHtcbiAgY29uc3QgeyBibmYgfSA9IE5vbWluYWxQYXJzZXIsXG4gICAgICAgIHJ1bGVzID0gcnVsZXNGcm9tQk5GQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyKGJuZiwgY29tYmluZWRDdXN0b21HcmFtbWFyKSxcbiAgICAgICAgbm9taW5hbFBhcnNlciA9IHBhcnNlckZyb21SdWxlcyhOb21pbmFsUGFyc2VyLCBydWxlcyk7XG5cbiAgcmV0dXJuIG5vbWluYWxQYXJzZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub21pbmFsUGFyc2VyRnJvbUJORkFuZENvbWJpbmVkQ3VzdG9tR3JhbW1hcihibmYsIGNvbWJpbmVkQ3VzdG9tR3JhbW1hcikge1xuICBjb25zdCBydWxlcyA9IHJ1bGVzRnJvbUJORkFuZENvbWJpbmVkQ3VzdG9tR3JhbW1hcihibmYsIGNvbWJpbmVkQ3VzdG9tR3JhbW1hciksXG4gICAgICAgIG5vbWluYWxQYXJzZXIgPSBwYXJzZXJGcm9tUnVsZXMoTm9taW5hbFBhcnNlciwgcnVsZXMpO1xuXG4gIHJldHVybiBub21pbmFsUGFyc2VyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbm9taW5hbFBhcnNlckZyb21TdGFydFJ1bGVOYW1lQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyKHN0YXJ0UnVsZU5hbWUsIGNvbWJpbmVkQ3VzdG9tR3JhbW1hcikge1xuICBjb25zdCB7IGJuZiB9ID0gTm9taW5hbFBhcnNlcixcbiAgICAgICAgcnVsZXMgPSBydWxlc0Zyb21CTkZBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIoYm5mLCBjb21iaW5lZEN1c3RvbUdyYW1tYXIpLFxuICAgICAgICBub21pbmFsUGFyc2VyID0gcGFyc2VyRnJvbVJ1bGVzQW5kU3RhcnRSdWxlTmFtZShOb21pbmFsUGFyc2VyLCBydWxlcywgc3RhcnRSdWxlTmFtZSk7XG5cbiAgcmV0dXJuIG5vbWluYWxQYXJzZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub21pbmFsUGFyc2VyRnJvbUJORlN0YXJ0UnVsZU5hbWVBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIoYm5mLCBzdGFydFJ1bGVOYW1lLCBjb21iaW5lZEN1c3RvbUdyYW1tYXIpIHtcbiAgY29uc3QgcnVsZXMgPSBydWxlc0Zyb21CTkZBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIoYm5mLCBjb21iaW5lZEN1c3RvbUdyYW1tYXIpLFxuICAgICAgICBub21pbmFsUGFyc2VyID0gcGFyc2VyRnJvbVJ1bGVzQW5kU3RhcnRSdWxlTmFtZShOb21pbmFsUGFyc2VyLCBydWxlcywgc3RhcnRSdWxlTmFtZSk7XG5cbiAgcmV0dXJuIG5vbWluYWxQYXJzZXI7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgbm9taW5hbFBhcnNlckZyb21Ob3RoaW5nLFxuICBub21pbmFsUGFyc2VyRnJvbVN0YXJ0UnVsZU5hbWUsXG4gIG5vbWluYWxQYXJzZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyLFxuICBub21pbmFsUGFyc2VyRnJvbUJORkFuZENvbWJpbmVkQ3VzdG9tR3JhbW1hcixcbiAgbm9taW5hbFBhcnNlckZyb21TdGFydFJ1bGVOYW1lQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyLFxuICBub21pbmFsUGFyc2VyRnJvbUJORlN0YXJ0UnVsZU5hbWVBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXJcbn07XG5cbmZ1bmN0aW9uIHJ1bGVzRnJvbUJORkFuZENvbWJpbmVkQ3VzdG9tR3JhbW1hcihibmYsIGNvbWJpbmVkQ3VzdG9tR3JhbW1hcikge1xuICBsZXQgcnVsZXMgPSBydWxlc0Zyb21CTkYoYm5mKTtcblxuICBydWxlcyA9IGNvbWJpbmVkQ3VzdG9tR3JhbW1hci5wb3N0UHJvY2VzcyhydWxlcyk7XG5cbiAgcmV0dXJuIHJ1bGVzO1xufVxuIl0sIm5hbWVzIjpbIm5vbWluYWxQYXJzZXJGcm9tQk5GQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyIiwibm9taW5hbFBhcnNlckZyb21CTkZTdGFydFJ1bGVOYW1lQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyIiwibm9taW5hbFBhcnNlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIiLCJub21pbmFsUGFyc2VyRnJvbU5vdGhpbmciLCJub21pbmFsUGFyc2VyRnJvbVN0YXJ0UnVsZU5hbWUiLCJub21pbmFsUGFyc2VyRnJvbVN0YXJ0UnVsZU5hbWVBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJydWxlc0Zyb21CTkYiLCJwYXJzZXJVdGlsaXRpZXMiLCJwYXJzZXJGcm9tUnVsZXMiLCJwYXJzZXJGcm9tUnVsZXNBbmRTdGFydFJ1bGVOYW1lIiwiYm5mIiwiTm9taW5hbFBhcnNlciIsImNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsIkNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsImZyb21Ob3RoaW5nIiwicnVsZXMiLCJydWxlc0Zyb21CTkZBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJub21pbmFsUGFyc2VyIiwic3RhcnRSdWxlTmFtZSIsInBvc3RQcm9jZXNzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUF5REE7ZUFBQTs7UUF0QmdCQTtlQUFBQTs7UUFlQUM7ZUFBQUE7O1FBdkJBQztlQUFBQTs7UUFsQkFDO2VBQUFBOztRQVNBQztlQUFBQTs7UUF3QkFDO2VBQUFBOzs7NkJBeENjOzRCQUNFOytEQUVFOzs7Ozs7QUFFbEMsSUFBUUMsZUFBbUVDLDZCQUFlLENBQWxGRCxjQUFjRSxrQkFBcURELDZCQUFlLENBQXBFQyxpQkFBaUJDLGtDQUFvQ0YsNkJBQWUsQ0FBbkRFO0FBRWhDLFNBQVNOO0lBQ2QsSUFBTSxBQUFFTyxNQUFRQyw0QkFBYSxDQUFyQkQsS0FDRkUsd0JBQXdCQyxpQkFBcUIsQ0FBQ0MsV0FBVyxJQUN6REMsUUFBUUMscUNBQXFDTixLQUFLRSx3QkFDbERLLGdCQUFnQlQsZ0JBQWdCRyw0QkFBYSxFQUFFSTtJQUVyRCxPQUFPRTtBQUNUO0FBRU8sU0FBU2IsK0JBQStCYyxhQUFhO0lBQzFELElBQU0sQUFBRVIsTUFBUUMsNEJBQWEsQ0FBckJELEtBQ0ZFLHdCQUF3QkMsaUJBQXFCLENBQUNDLFdBQVcsSUFDekRDLFFBQVFDLHFDQUFxQ04sS0FBS0Usd0JBQ2xESyxnQkFBZ0JSLGdDQUFnQ0UsNEJBQWEsRUFBRUksT0FBT0c7SUFFNUUsT0FBT0Q7QUFDVDtBQUVPLFNBQVNmLHVDQUF1Q1UscUJBQXFCO0lBQzFFLElBQU0sQUFBRUYsTUFBUUMsNEJBQWEsQ0FBckJELEtBQ0ZLLFFBQVFDLHFDQUFxQ04sS0FBS0Usd0JBQ2xESyxnQkFBZ0JULGdCQUFnQkcsNEJBQWEsRUFBRUk7SUFFckQsT0FBT0U7QUFDVDtBQUVPLFNBQVNqQiw2Q0FBNkNVLEdBQUcsRUFBRUUscUJBQXFCO0lBQ3JGLElBQU1HLFFBQVFDLHFDQUFxQ04sS0FBS0Usd0JBQ2xESyxnQkFBZ0JULGdCQUFnQkcsNEJBQWEsRUFBRUk7SUFFckQsT0FBT0U7QUFDVDtBQUVPLFNBQVNaLHVEQUF1RGEsYUFBYSxFQUFFTixxQkFBcUI7SUFDekcsSUFBTSxBQUFFRixNQUFRQyw0QkFBYSxDQUFyQkQsS0FDRkssUUFBUUMscUNBQXFDTixLQUFLRSx3QkFDbERLLGdCQUFnQlIsZ0NBQWdDRSw0QkFBYSxFQUFFSSxPQUFPRztJQUU1RSxPQUFPRDtBQUNUO0FBRU8sU0FBU2hCLDBEQUEwRFMsR0FBRyxFQUFFUSxhQUFhLEVBQUVOLHFCQUFxQjtJQUNqSCxJQUFNRyxRQUFRQyxxQ0FBcUNOLEtBQUtFLHdCQUNsREssZ0JBQWdCUixnQ0FBZ0NFLDRCQUFhLEVBQUVJLE9BQU9HO0lBRTVFLE9BQU9EO0FBQ1Q7SUFFQSxXQUFlO0lBQ2JkLDBCQUFBQTtJQUNBQyxnQ0FBQUE7SUFDQUYsd0NBQUFBO0lBQ0FGLDhDQUFBQTtJQUNBSyx3REFBQUE7SUFDQUosMkRBQUFBO0FBQ0Y7QUFFQSxTQUFTZSxxQ0FBcUNOLEdBQUcsRUFBRUUscUJBQXFCO0lBQ3RFLElBQUlHLFFBQVFULGFBQWFJO0lBRXpCSyxRQUFRSCxzQkFBc0JPLFdBQVcsQ0FBQ0o7SUFFMUMsT0FBT0E7QUFDVCJ9
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcGFyc2Vycy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgTm9taW5hbFBhcnNlciB9IGZyb20gXCJvY2NhbS1ncmFtbWFyc1wiO1xuaW1wb3J0IHsgcGFyc2VyVXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLXBhcnNlcnNcIjtcblxuaW1wb3J0IENvbWJpbmVkQ3VzdG9tR3JhbW1hciBmcm9tIFwiLi4vY3VzdG9tR3JhbW1hci9jb21iaW5lZFwiO1xuXG5jb25zdCB7IHJ1bGVzRnJvbUJORiwgcGFyc2VyRnJvbVJ1bGVzLCBwYXJzZXJGcm9tUnVsZXNBbmRTdGFydFJ1bGVOYW1lIH0gPSBwYXJzZXJVdGlsaXRpZXM7XG5cbmV4cG9ydCBmdW5jdGlvbiBub21pbmFsUGFyc2VyRnJvbU5vdGhpbmcoQ2xhc3MpIHtcbiAgaWYgKENsYXNzID09PSB1bmRlZmluZWQpIHtcbiAgICBDbGFzcyA9IE5vbWluYWxQYXJzZXI7ICAvLy9cbiAgfVxuXG4gIGNvbnN0IHsgYm5mIH0gPSBDbGFzcyxcbiAgICAgICAgY29tYmluZWRDdXN0b21HcmFtbWFyID0gQ29tYmluZWRDdXN0b21HcmFtbWFyLmZyb21Ob3RoaW5nKCksXG4gICAgICAgIHJ1bGVzID0gcnVsZXNGcm9tQk5GQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyKGJuZiwgY29tYmluZWRDdXN0b21HcmFtbWFyKSxcbiAgICAgICAgbm9taW5hbFBhcnNlciA9IHBhcnNlckZyb21SdWxlcyhDbGFzcywgcnVsZXMpO1xuXG4gIHJldHVybiBub21pbmFsUGFyc2VyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbm9taW5hbFBhcnNlckZyb21TdGFydFJ1bGVOYW1lKENsYXNzLCBzdGFydFJ1bGVOYW1lKSB7XG4gIGlmIChzdGFydFJ1bGVOYW1lID09PSB1bmRlZmluZWQpIHtcbiAgICBzdGFydFJ1bGVOYW1lID0gQ2xhc3M7ICAvLy9cblxuICAgIENsYXNzID0gTm9taW5hbFBhcnNlcjsgIC8vL1xuICB9XG5cbiAgY29uc3QgeyBibmYgfSA9IENsYXNzLFxuICAgICAgICBjb21iaW5lZEN1c3RvbUdyYW1tYXIgPSBDb21iaW5lZEN1c3RvbUdyYW1tYXIuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgcnVsZXMgPSBydWxlc0Zyb21CTkZBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIoYm5mLCBjb21iaW5lZEN1c3RvbUdyYW1tYXIpLFxuICAgICAgICBub21pbmFsUGFyc2VyID0gcGFyc2VyRnJvbVJ1bGVzQW5kU3RhcnRSdWxlTmFtZShDbGFzcywgcnVsZXMsIHN0YXJ0UnVsZU5hbWUpO1xuXG4gIHJldHVybiBub21pbmFsUGFyc2VyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbm9taW5hbFBhcnNlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIoQ2xhc3MsIGNvbWJpbmVkQ3VzdG9tR3JhbW1hcikge1xuICBpZiAoY29tYmluZWRDdXN0b21HcmFtbWFyID09PSB1bmRlZmluZWQpIHtcbiAgICBjb21iaW5lZEN1c3RvbUdyYW1tYXIgPSBDbGFzczsgIC8vL1xuXG4gICAgQ2xhc3MgPSBOb21pbmFsUGFyc2VyOyAgLy8vXG4gIH1cblxuICBjb25zdCB7IGJuZiB9ID0gQ2xhc3MsXG4gICAgICAgIHJ1bGVzID0gcnVsZXNGcm9tQk5GQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyKGJuZiwgY29tYmluZWRDdXN0b21HcmFtbWFyKSxcbiAgICAgICAgbm9taW5hbFBhcnNlciA9IHBhcnNlckZyb21SdWxlcyhDbGFzcywgcnVsZXMpO1xuXG4gIHJldHVybiBub21pbmFsUGFyc2VyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbm9taW5hbFBhcnNlckZyb21CTkZBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIoQ2xhc3MsIGJuZiwgY29tYmluZWRDdXN0b21HcmFtbWFyKSB7XG4gIGlmIChjb21iaW5lZEN1c3RvbUdyYW1tYXIgPT09IHVuZGVmaW5lZCkge1xuICAgIGNvbWJpbmVkQ3VzdG9tR3JhbW1hciA9IGJuZjsgIC8vL1xuXG4gICAgYm5mID0gQ2xhc3M7ICAvLy9cblxuICAgIENsYXNzID0gTm9taW5hbFBhcnNlcjsgIC8vL1xuICB9XG5cbiAgY29uc3QgcnVsZXMgPSBydWxlc0Zyb21CTkZBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIoYm5mLCBjb21iaW5lZEN1c3RvbUdyYW1tYXIpLFxuICAgICAgICBub21pbmFsUGFyc2VyID0gcGFyc2VyRnJvbVJ1bGVzKENsYXNzLCBydWxlcyk7XG5cbiAgcmV0dXJuIG5vbWluYWxQYXJzZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub21pbmFsUGFyc2VyRnJvbVN0YXJ0UnVsZU5hbWVBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIoQ2xhc3MsIHN0YXJ0UnVsZU5hbWUsIGNvbWJpbmVkQ3VzdG9tR3JhbW1hcikge1xuICBpZiAoY29tYmluZWRDdXN0b21HcmFtbWFyID09PSB1bmRlZmluZWQpIHtcbiAgICBjb21iaW5lZEN1c3RvbUdyYW1tYXIgPSBzdGFydFJ1bGVOYW1lOyAgLy8vXG5cbiAgICBzdGFydFJ1bGVOYW1lID0gQ2xhc3M7ICAvLy9cblxuICAgIENsYXNzID0gTm9taW5hbFBhcnNlcjsgIC8vL1xuICB9XG5cbiAgY29uc3QgeyBibmYgfSA9IENsYXNzLFxuICAgICAgICBydWxlcyA9IHJ1bGVzRnJvbUJORkFuZENvbWJpbmVkQ3VzdG9tR3JhbW1hcihibmYsIGNvbWJpbmVkQ3VzdG9tR3JhbW1hciksXG4gICAgICAgIG5vbWluYWxQYXJzZXIgPSBwYXJzZXJGcm9tUnVsZXNBbmRTdGFydFJ1bGVOYW1lKENsYXNzLCBydWxlcywgc3RhcnRSdWxlTmFtZSk7XG5cbiAgcmV0dXJuIG5vbWluYWxQYXJzZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub21pbmFsUGFyc2VyRnJvbUJORlN0YXJ0UnVsZU5hbWVBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIoQ2xhc3MsIGJuZiwgc3RhcnRSdWxlTmFtZSwgY29tYmluZWRDdXN0b21HcmFtbWFyKSB7XG4gIGlmIChjb21iaW5lZEN1c3RvbUdyYW1tYXIgPT09IHVuZGVmaW5lZCkge1xuICAgIGNvbWJpbmVkQ3VzdG9tR3JhbW1hciA9IHN0YXJ0UnVsZU5hbWU7ICAvLy9cblxuICAgIHN0YXJ0UnVsZU5hbWUgPSBibmY7ICAvLy9cblxuICAgIGJuZiA9IENsYXNzOyAgLy8vXG5cbiAgICBDbGFzcyA9IE5vbWluYWxQYXJzZXI7ICAvLy9cbiAgfVxuXG4gIGNvbnN0IHJ1bGVzID0gcnVsZXNGcm9tQk5GQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyKGJuZiwgY29tYmluZWRDdXN0b21HcmFtbWFyKSxcbiAgICAgICAgbm9taW5hbFBhcnNlciA9IHBhcnNlckZyb21SdWxlc0FuZFN0YXJ0UnVsZU5hbWUoQ2xhc3MsIHJ1bGVzLCBzdGFydFJ1bGVOYW1lKTtcblxuICByZXR1cm4gbm9taW5hbFBhcnNlcjtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBub21pbmFsUGFyc2VyRnJvbU5vdGhpbmcsXG4gIG5vbWluYWxQYXJzZXJGcm9tU3RhcnRSdWxlTmFtZSxcbiAgbm9taW5hbFBhcnNlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIsXG4gIG5vbWluYWxQYXJzZXJGcm9tQk5GQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyLFxuICBub21pbmFsUGFyc2VyRnJvbVN0YXJ0UnVsZU5hbWVBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIsXG4gIG5vbWluYWxQYXJzZXJGcm9tQk5GU3RhcnRSdWxlTmFtZUFuZENvbWJpbmVkQ3VzdG9tR3JhbW1hclxufTtcblxuZnVuY3Rpb24gcnVsZXNGcm9tQk5GQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyKGJuZiwgY29tYmluZWRDdXN0b21HcmFtbWFyKSB7XG4gIGxldCBydWxlcyA9IHJ1bGVzRnJvbUJORihibmYpO1xuXG4gIHJ1bGVzID0gY29tYmluZWRDdXN0b21HcmFtbWFyLnBvc3RQcm9jZXNzKHJ1bGVzKTtcblxuICByZXR1cm4gcnVsZXM7XG59XG4iXSwibmFtZXMiOlsibm9taW5hbFBhcnNlckZyb21CTkZBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJub21pbmFsUGFyc2VyRnJvbUJORlN0YXJ0UnVsZU5hbWVBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJub21pbmFsUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsIm5vbWluYWxQYXJzZXJGcm9tTm90aGluZyIsIm5vbWluYWxQYXJzZXJGcm9tU3RhcnRSdWxlTmFtZSIsIm5vbWluYWxQYXJzZXJGcm9tU3RhcnRSdWxlTmFtZUFuZENvbWJpbmVkQ3VzdG9tR3JhbW1hciIsInJ1bGVzRnJvbUJORiIsInBhcnNlclV0aWxpdGllcyIsInBhcnNlckZyb21SdWxlcyIsInBhcnNlckZyb21SdWxlc0FuZFN0YXJ0UnVsZU5hbWUiLCJDbGFzcyIsInVuZGVmaW5lZCIsIk5vbWluYWxQYXJzZXIiLCJibmYiLCJjb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJDb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJmcm9tTm90aGluZyIsInJ1bGVzIiwicnVsZXNGcm9tQk5GQW5kQ29tYmluZWRDdXN0b21HcmFtbWFyIiwibm9taW5hbFBhcnNlciIsInN0YXJ0UnVsZU5hbWUiLCJwb3N0UHJvY2VzcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBbUdBO2VBQUE7O1FBaERnQkE7ZUFBQUE7O1FBK0JBQztlQUFBQTs7UUE3Q0FDO2VBQUFBOztRQTVCQUM7ZUFBQUE7O1FBYUFDO2VBQUFBOztRQTRDQUM7ZUFBQUE7Ozs2QkFoRWM7NEJBQ0U7K0RBRUU7Ozs7OztBQUVsQyxJQUFRQyxlQUFtRUMsNkJBQWUsQ0FBbEZELGNBQWNFLGtCQUFxREQsNkJBQWUsQ0FBcEVDLGlCQUFpQkMsa0NBQW9DRiw2QkFBZSxDQUFuREU7QUFFaEMsU0FBU04seUJBQXlCTyxLQUFLO0lBQzVDLElBQUlBLFVBQVVDLFdBQVc7UUFDdkJELFFBQVFFLDRCQUFhLEVBQUcsR0FBRztJQUM3QjtJQUVBLElBQU0sQUFBRUMsTUFB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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-custom-grammars",
3
3
  "author": "James Smith",
4
- "version": "5.0.1205",
4
+ "version": "5.0.1207",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-custom-grammars",
7
7
  "description": "Occam's custom grammars.",
@@ -7,26 +7,44 @@ import CombinedCustomGrammar from "../customGrammar/combined";
7
7
 
8
8
  const { lexerFromRules, rulesFromEntries } = lexerUtilities;
9
9
 
10
- export function nominalLexerFromNothing() {
11
- const { entries } = NominalLexer,
10
+ export function nominalLexerFromNothing(Class) {
11
+ if (Class === undefined) {
12
+ Class = NominalLexer; ///
13
+ }
14
+
15
+ const { entries } = Class,
12
16
  combinedCustomGrammar = CombinedCustomGrammar.fromNothing(),
13
17
  rules = rulesFromEntriesAndCombinedCustomGrammar(entries, combinedCustomGrammar),
14
- nominalLexer = lexerFromRules(NominalLexer, rules);
18
+ nominalLexer = lexerFromRules(Class, rules);
15
19
 
16
20
  return nominalLexer;
17
21
  }
18
22
 
19
- export function nominalLexerFromCombinedCustomGrammar(combinedCustomGrammar) {
20
- const { entries } = NominalLexer,
23
+ export function nominalLexerFromCombinedCustomGrammar(Class, combinedCustomGrammar) {
24
+ if (combinedCustomGrammar === undefined) {
25
+ combinedCustomGrammar = Class; ///
26
+
27
+ Class = NominalLexer; ///
28
+ }
29
+
30
+ const { entries } = Class,
21
31
  rules = rulesFromEntriesAndCombinedCustomGrammar(entries, combinedCustomGrammar),
22
- nominalLexer = lexerFromRules(NominalLexer, rules);
32
+ nominalLexer = lexerFromRules(Class, rules);
23
33
 
24
34
  return nominalLexer;
25
35
  }
26
36
 
27
- export function nominalLexerFromEntriesAndCombinedCustomGrammar(entries, combinedCustomGrammar) {
37
+ export function nominalLexerFromEntriesAndCombinedCustomGrammar(Class, entries, combinedCustomGrammar) {
38
+ if (combinedCustomGrammar === undefined) {
39
+ combinedCustomGrammar = entries; ///
40
+
41
+ entries = Class; ///
42
+
43
+ Class = NominalLexer; ///
44
+ }
45
+
28
46
  const rules = rulesFromEntriesAndCombinedCustomGrammar(entries, combinedCustomGrammar),
29
- nominalLexer = lexerFromRules(NominalLexer, rules);
47
+ nominalLexer = lexerFromRules(Class, rules);
30
48
 
31
49
  return nominalLexer;
32
50
  }
@@ -7,50 +7,92 @@ import CombinedCustomGrammar from "../customGrammar/combined";
7
7
 
8
8
  const { rulesFromBNF, parserFromRules, parserFromRulesAndStartRuleName } = parserUtilities;
9
9
 
10
- export function nominalParserFromNothing() {
11
- const { bnf } = NominalParser,
10
+ export function nominalParserFromNothing(Class) {
11
+ if (Class === undefined) {
12
+ Class = NominalParser; ///
13
+ }
14
+
15
+ const { bnf } = Class,
12
16
  combinedCustomGrammar = CombinedCustomGrammar.fromNothing(),
13
17
  rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar),
14
- nominalParser = parserFromRules(NominalParser, rules);
18
+ nominalParser = parserFromRules(Class, rules);
15
19
 
16
20
  return nominalParser;
17
21
  }
18
22
 
19
- export function nominalParserFromStartRuleName(startRuleName) {
20
- const { bnf } = NominalParser,
23
+ export function nominalParserFromStartRuleName(Class, startRuleName) {
24
+ if (startRuleName === undefined) {
25
+ startRuleName = Class; ///
26
+
27
+ Class = NominalParser; ///
28
+ }
29
+
30
+ const { bnf } = Class,
21
31
  combinedCustomGrammar = CombinedCustomGrammar.fromNothing(),
22
32
  rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar),
23
- nominalParser = parserFromRulesAndStartRuleName(NominalParser, rules, startRuleName);
33
+ nominalParser = parserFromRulesAndStartRuleName(Class, rules, startRuleName);
24
34
 
25
35
  return nominalParser;
26
36
  }
27
37
 
28
- export function nominalParserFromCombinedCustomGrammar(combinedCustomGrammar) {
29
- const { bnf } = NominalParser,
38
+ export function nominalParserFromCombinedCustomGrammar(Class, combinedCustomGrammar) {
39
+ if (combinedCustomGrammar === undefined) {
40
+ combinedCustomGrammar = Class; ///
41
+
42
+ Class = NominalParser; ///
43
+ }
44
+
45
+ const { bnf } = Class,
30
46
  rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar),
31
- nominalParser = parserFromRules(NominalParser, rules);
47
+ nominalParser = parserFromRules(Class, rules);
32
48
 
33
49
  return nominalParser;
34
50
  }
35
51
 
36
- export function nominalParserFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar) {
52
+ export function nominalParserFromBNFAndCombinedCustomGrammar(Class, bnf, combinedCustomGrammar) {
53
+ if (combinedCustomGrammar === undefined) {
54
+ combinedCustomGrammar = bnf; ///
55
+
56
+ bnf = Class; ///
57
+
58
+ Class = NominalParser; ///
59
+ }
60
+
37
61
  const rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar),
38
- nominalParser = parserFromRules(NominalParser, rules);
62
+ nominalParser = parserFromRules(Class, rules);
39
63
 
40
64
  return nominalParser;
41
65
  }
42
66
 
43
- export function nominalParserFromStartRuleNameAndCombinedCustomGrammar(startRuleName, combinedCustomGrammar) {
44
- const { bnf } = NominalParser,
67
+ export function nominalParserFromStartRuleNameAndCombinedCustomGrammar(Class, startRuleName, combinedCustomGrammar) {
68
+ if (combinedCustomGrammar === undefined) {
69
+ combinedCustomGrammar = startRuleName; ///
70
+
71
+ startRuleName = Class; ///
72
+
73
+ Class = NominalParser; ///
74
+ }
75
+
76
+ const { bnf } = Class,
45
77
  rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar),
46
- nominalParser = parserFromRulesAndStartRuleName(NominalParser, rules, startRuleName);
78
+ nominalParser = parserFromRulesAndStartRuleName(Class, rules, startRuleName);
47
79
 
48
80
  return nominalParser;
49
81
  }
50
82
 
51
- export function nominalParserFromBNFStartRuleNameAndCombinedCustomGrammar(bnf, startRuleName, combinedCustomGrammar) {
83
+ export function nominalParserFromBNFStartRuleNameAndCombinedCustomGrammar(Class, bnf, startRuleName, combinedCustomGrammar) {
84
+ if (combinedCustomGrammar === undefined) {
85
+ combinedCustomGrammar = startRuleName; ///
86
+
87
+ startRuleName = bnf; ///
88
+
89
+ bnf = Class; ///
90
+
91
+ Class = NominalParser; ///
92
+ }
93
+
52
94
  const rules = rulesFromBNFAndCombinedCustomGrammar(bnf, combinedCustomGrammar),
53
- nominalParser = parserFromRulesAndStartRuleName(NominalParser, rules, startRuleName);
95
+ nominalParser = parserFromRulesAndStartRuleName(Class, rules, startRuleName);
54
96
 
55
97
  return nominalParser;
56
98
  }