occam-grammars 1.1.1 → 1.2.1

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.
package/lib/index.js CHANGED
@@ -10,22 +10,16 @@ function _export(target, all) {
10
10
  }
11
11
  _export(exports, {
12
12
  CustomGrammarBNFLexer: function() {
13
- return _lexer5.default;
13
+ return _lexer4.default;
14
14
  },
15
15
  CustomGrammarBNFParser: function() {
16
- return _parser5.default;
16
+ return _parser4.default;
17
17
  },
18
18
  CustomGrammarPatternLexer: function() {
19
- return _lexer6.default;
19
+ return _lexer5.default;
20
20
  },
21
21
  CustomGrammarPatternParser: function() {
22
- return _parser6.default;
23
- },
24
- FurtleLexer: function() {
25
- return _lexer2.default;
26
- },
27
- FurtleParser: function() {
28
- return _parser2.default;
22
+ return _parser5.default;
29
23
  },
30
24
  JSONLexer: function() {
31
25
  return _lexer1.default;
@@ -34,42 +28,48 @@ _export(exports, {
34
28
  return _parser1.default;
35
29
  },
36
30
  NominalLexer: function() {
37
- return _lexer3.default;
31
+ return _lexer2.default;
38
32
  },
39
33
  NominalParser: function() {
40
- return _parser3.default;
34
+ return _parser2.default;
41
35
  },
42
36
  PlainTextLexer: function() {
43
- return _lexer4.default;
37
+ return _lexer3.default;
44
38
  },
45
39
  PlainTextParser: function() {
46
- return _parser4.default;
40
+ return _parser3.default;
47
41
  },
48
42
  TeXLexer: function() {
49
43
  return _lexer.default;
50
44
  },
51
45
  TeXParser: function() {
52
46
  return _parser.default;
47
+ },
48
+ lexersUtilities: function() {
49
+ return _lexers.default;
50
+ },
51
+ parsersUtilities: function() {
52
+ return _parsers.default;
53
53
  }
54
54
  });
55
+ var _lexers = /*#__PURE__*/ _interop_require_default(require("./utilities/lexers"));
56
+ var _parsers = /*#__PURE__*/ _interop_require_default(require("./utilities/parsers"));
55
57
  var _lexer = /*#__PURE__*/ _interop_require_default(require("./teX/lexer"));
56
58
  var _lexer1 = /*#__PURE__*/ _interop_require_default(require("./json/lexer"));
57
- var _lexer2 = /*#__PURE__*/ _interop_require_default(require("./furtle/lexer"));
58
- var _lexer3 = /*#__PURE__*/ _interop_require_default(require("./nominal/lexer"));
59
- var _lexer4 = /*#__PURE__*/ _interop_require_default(require("./plainText/lexer"));
60
- var _lexer5 = /*#__PURE__*/ _interop_require_default(require("./customGrammarBNF/lexer"));
61
- var _lexer6 = /*#__PURE__*/ _interop_require_default(require("./customGrammarPattern/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"));
62
63
  var _parser = /*#__PURE__*/ _interop_require_default(require("./teX/parser"));
63
64
  var _parser1 = /*#__PURE__*/ _interop_require_default(require("./json/parser"));
64
- var _parser2 = /*#__PURE__*/ _interop_require_default(require("./furtle/parser"));
65
- var _parser3 = /*#__PURE__*/ _interop_require_default(require("./nominal/parser"));
66
- var _parser4 = /*#__PURE__*/ _interop_require_default(require("./plainText/parser"));
67
- var _parser5 = /*#__PURE__*/ _interop_require_default(require("./customGrammarBNF/parser"));
68
- var _parser6 = /*#__PURE__*/ _interop_require_default(require("./customGrammarPattern/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"));
69
69
  function _interop_require_default(obj) {
70
70
  return obj && obj.__esModule ? obj : {
71
71
  default: obj
72
72
  };
73
73
  }
74
74
 
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBUZVhMZXhlciB9IGZyb20gXCIuL3RlWC9sZXhlclwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBKU09OTGV4ZXIgfSBmcm9tIFwiLi9qc29uL2xleGVyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEZ1cnRsZUxleGVyIH0gZnJvbSBcIi4vZnVydGxlL2xleGVyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIE5vbWluYWxMZXhlciB9IGZyb20gXCIuL25vbWluYWwvbGV4ZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUGxhaW5UZXh0TGV4ZXIgfSBmcm9tIFwiLi9wbGFpblRleHQvbGV4ZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQ3VzdG9tR3JhbW1hckJORkxleGVyIH0gZnJvbSBcIi4vY3VzdG9tR3JhbW1hckJORi9sZXhlclwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBDdXN0b21HcmFtbWFyUGF0dGVybkxleGVyIH0gZnJvbSBcIi4vY3VzdG9tR3JhbW1hclBhdHRlcm4vbGV4ZXJcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBUZVhQYXJzZXIgfSBmcm9tIFwiLi90ZVgvcGFyc2VyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEpTT05QYXJzZXIgfSBmcm9tIFwiLi9qc29uL3BhcnNlclwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBGdXJ0bGVQYXJzZXIgfSBmcm9tIFwiLi9mdXJ0bGUvcGFyc2VyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIE5vbWluYWxQYXJzZXIgfSBmcm9tIFwiLi9ub21pbmFsL3BhcnNlclwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBQbGFpblRleHRQYXJzZXIgfSBmcm9tIFwiLi9wbGFpblRleHQvcGFyc2VyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEN1c3RvbUdyYW1tYXJCTkZQYXJzZXIgfSBmcm9tIFwiLi9jdXN0b21HcmFtbWFyQk5GL3BhcnNlclwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBDdXN0b21HcmFtbWFyUGF0dGVyblBhcnNlciB9IGZyb20gXCIuL2N1c3RvbUdyYW1tYXJQYXR0ZXJuL3BhcnNlclwiO1xuIl0sIm5hbWVzIjpbIkN1c3RvbUdyYW1tYXJCTkZMZXhlciIsIkN1c3RvbUdyYW1tYXJCTkZQYXJzZXIiLCJDdXN0b21HcmFtbWFyUGF0dGVybkxleGVyIiwiQ3VzdG9tR3JhbW1hclBhdHRlcm5QYXJzZXIiLCJGdXJ0bGVMZXhlciIsIkZ1cnRsZVBhcnNlciIsIkpTT05MZXhlciIsIkpTT05QYXJzZXIiLCJOb21pbmFsTGV4ZXIiLCJOb21pbmFsUGFyc2VyIiwiUGxhaW5UZXh0TGV4ZXIiLCJQbGFpblRleHRQYXJzZXIiLCJUZVhMZXhlciIsIlRlWFBhcnNlciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBT29CQSxxQkFBcUI7ZUFBckJBLGVBQXFCOztJQVFyQkMsc0JBQXNCO2VBQXRCQSxnQkFBc0I7O0lBUHRCQyx5QkFBeUI7ZUFBekJBLGVBQXlCOztJQVF6QkMsMEJBQTBCO2VBQTFCQSxnQkFBMEI7O0lBWjFCQyxXQUFXO2VBQVhBLGVBQVc7O0lBUVhDLFlBQVk7ZUFBWkEsZ0JBQVk7O0lBVFpDLFNBQVM7ZUFBVEEsZUFBUzs7SUFRVEMsVUFBVTtlQUFWQSxnQkFBVTs7SUFOVkMsWUFBWTtlQUFaQSxlQUFZOztJQVFaQyxhQUFhO2VBQWJBLGdCQUFhOztJQVBiQyxjQUFjO2VBQWRBLGVBQWM7O0lBUWRDLGVBQWU7ZUFBZkEsZ0JBQWU7O0lBWmZDLFFBQVE7ZUFBUkEsY0FBUTs7SUFRUkMsU0FBUztlQUFUQSxlQUFTOzs7NERBUk87NkRBQ0M7NkRBQ0U7NkRBQ0M7NkRBQ0U7NkRBQ087NkRBQ0k7NkRBRWhCOzhEQUNDOzhEQUNFOzhEQUNDOzhEQUNFOzhEQUNPOzhEQUNJIn0=
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBsZXhlcnNVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvbGV4ZXJzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHBhcnNlcnNVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvcGFyc2Vyc1wiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIFRlWExleGVyIH0gZnJvbSBcIi4vdGVYL2xleGVyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEpTT05MZXhlciB9IGZyb20gXCIuL2pzb24vbGV4ZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTm9taW5hbExleGVyIH0gZnJvbSBcIi4vbm9taW5hbC9sZXhlclwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBQbGFpblRleHRMZXhlciB9IGZyb20gXCIuL3BsYWluVGV4dC9sZXhlclwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBDdXN0b21HcmFtbWFyQk5GTGV4ZXIgfSBmcm9tIFwiLi9jdXN0b21HcmFtbWFyQk5GL2xleGVyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEN1c3RvbUdyYW1tYXJQYXR0ZXJuTGV4ZXIgfSBmcm9tIFwiLi9jdXN0b21HcmFtbWFyUGF0dGVybi9sZXhlclwiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIFRlWFBhcnNlciB9IGZyb20gXCIuL3RlWC9wYXJzZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgSlNPTlBhcnNlciB9IGZyb20gXCIuL2pzb24vcGFyc2VyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIE5vbWluYWxQYXJzZXIgfSBmcm9tIFwiLi9ub21pbmFsL3BhcnNlclwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBQbGFpblRleHRQYXJzZXIgfSBmcm9tIFwiLi9wbGFpblRleHQvcGFyc2VyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEN1c3RvbUdyYW1tYXJCTkZQYXJzZXIgfSBmcm9tIFwiLi9jdXN0b21HcmFtbWFyQk5GL3BhcnNlclwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBDdXN0b21HcmFtbWFyUGF0dGVyblBhcnNlciB9IGZyb20gXCIuL2N1c3RvbUdyYW1tYXJQYXR0ZXJuL3BhcnNlclwiO1xuIl0sIm5hbWVzIjpbIkN1c3RvbUdyYW1tYXJCTkZMZXhlciIsIkN1c3RvbUdyYW1tYXJCTkZQYXJzZXIiLCJDdXN0b21HcmFtbWFyUGF0dGVybkxleGVyIiwiQ3VzdG9tR3JhbW1hclBhdHRlcm5QYXJzZXIiLCJKU09OTGV4ZXIiLCJKU09OUGFyc2VyIiwiTm9taW5hbExleGVyIiwiTm9taW5hbFBhcnNlciIsIlBsYWluVGV4dExleGVyIiwiUGxhaW5UZXh0UGFyc2VyIiwiVGVYTGV4ZXIiLCJUZVhQYXJzZXIiLCJsZXhlcnNVdGlsaXRpZXMiLCJwYXJzZXJzVXRpbGl0aWVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFTb0JBLHFCQUFxQjtlQUFyQkEsZUFBcUI7O0lBT3JCQyxzQkFBc0I7ZUFBdEJBLGdCQUFzQjs7SUFOdEJDLHlCQUF5QjtlQUF6QkEsZUFBeUI7O0lBT3pCQywwQkFBMEI7ZUFBMUJBLGdCQUEwQjs7SUFYMUJDLFNBQVM7ZUFBVEEsZUFBUzs7SUFPVEMsVUFBVTtlQUFWQSxnQkFBVTs7SUFOVkMsWUFBWTtlQUFaQSxlQUFZOztJQU9aQyxhQUFhO2VBQWJBLGdCQUFhOztJQU5iQyxjQUFjO2VBQWRBLGVBQWM7O0lBT2RDLGVBQWU7ZUFBZkEsZ0JBQWU7O0lBVmZDLFFBQVE7ZUFBUkEsY0FBUTs7SUFPUkMsU0FBUztlQUFUQSxlQUFTOztJQVZUQyxlQUFlO2VBQWZBLGVBQWU7O0lBQ2ZDLGdCQUFnQjtlQUFoQkEsZ0JBQWdCOzs7NkRBRE87OERBQ0M7NERBRVI7NkRBQ0M7NkRBQ0c7NkRBQ0U7NkRBQ087NkRBQ0k7NkRBRWhCOzhEQUNDOzhEQUNHOzhEQUNFOzhEQUNPOzhEQUNJIn0=
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ default: function() {
13
+ return _default;
14
+ },
15
+ furtleLexerFromNothing: function() {
16
+ return furtleLexerFromNothing;
17
+ }
18
+ });
19
+ var _occamlexers = require("occam-lexers");
20
+ var _lexer = /*#__PURE__*/ _interop_require_default(require("../furtle/lexer"));
21
+ function _interop_require_default(obj) {
22
+ return obj && obj.__esModule ? obj : {
23
+ default: obj
24
+ };
25
+ }
26
+ var lexerFromRules = _occamlexers.lexerUtilities.lexerFromRules, rulesFromEntries = _occamlexers.lexerUtilities.rulesFromEntries;
27
+ function furtleLexerFromNothing() {
28
+ var entries = _lexer.default.entries, rules = rulesFromEntries(entries), furtleLexer = lexerFromRules(_lexer.default, rules);
29
+ return furtleLexer;
30
+ }
31
+ var _default = {
32
+ furtleLexerFromNothing: furtleLexerFromNothing
33
+ };
34
+
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbGV4ZXJzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBsZXhlclV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1sZXhlcnNcIjtcblxuaW1wb3J0IEZ1cnRsZUxleGVyIGZyb20gXCIuLi9mdXJ0bGUvbGV4ZXJcIjtcblxuY29uc3QgeyBsZXhlckZyb21SdWxlcywgcnVsZXNGcm9tRW50cmllcyB9ID0gbGV4ZXJVdGlsaXRpZXM7XG5cbmV4cG9ydCBmdW5jdGlvbiBmdXJ0bGVMZXhlckZyb21Ob3RoaW5nKCkge1xuICBjb25zdCB7IGVudHJpZXMgfSA9IEZ1cnRsZUxleGVyLFxuICAgICAgICBydWxlcyA9IHJ1bGVzRnJvbUVudHJpZXMoZW50cmllcyksXG4gICAgICAgIGZ1cnRsZUxleGVyID0gbGV4ZXJGcm9tUnVsZXMoRnVydGxlTGV4ZXIsIHJ1bGVzKTtcblxuICByZXR1cm4gZnVydGxlTGV4ZXI7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgZnVydGxlTGV4ZXJGcm9tTm90aGluZ1xufTtcbiJdLCJuYW1lcyI6WyJmdXJ0bGVMZXhlckZyb21Ob3RoaW5nIiwibGV4ZXJGcm9tUnVsZXMiLCJsZXhlclV0aWxpdGllcyIsInJ1bGVzRnJvbUVudHJpZXMiLCJlbnRyaWVzIiwiRnVydGxlTGV4ZXIiLCJydWxlcyIsImZ1cnRsZUxleGVyIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFnQkEsT0FFRTtlQUZGOztJQVJnQkEsc0JBQXNCO2VBQXRCQTs7OzJCQU5lOzREQUVQOzs7Ozs7QUFFeEIsSUFBUUMsaUJBQXFDQywyQkFBYyxDQUFuREQsZ0JBQWdCRSxtQkFBcUJELDJCQUFjLENBQW5DQztBQUVqQixTQUFTSDtJQUNkLElBQU0sQUFBRUksVUFBWUMsY0FBVyxDQUF2QkQsU0FDRkUsUUFBUUgsaUJBQWlCQyxVQUN6QkcsY0FBY04sZUFBZUksY0FBVyxFQUFFQztJQUVoRCxPQUFPQztBQUNUO0lBRUEsV0FBZTtJQUNiUCx3QkFBQUE7QUFDRiJ9
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ default: function() {
13
+ return _default;
14
+ },
15
+ furtleParserFromNothing: function() {
16
+ return furtleParserFromNothing;
17
+ }
18
+ });
19
+ var _occamparsers = require("occam-parsers");
20
+ var _occamgrammarutilities = require("occam-grammar-utilities");
21
+ var _parser = /*#__PURE__*/ _interop_require_default(require("../furtle/parser"));
22
+ function _interop_require_default(obj) {
23
+ return obj && obj.__esModule ? obj : {
24
+ default: obj
25
+ };
26
+ }
27
+ var rulesFromBNF = _occamparsers.parserUtilities.rulesFromBNF, parserFromRules = _occamparsers.parserUtilities.parserFromRules;
28
+ function furtleParserFromNothing() {
29
+ var bnf = _parser.default.bnf;
30
+ var rules;
31
+ rules = rulesFromBNF(bnf);
32
+ rules = (0, _occamgrammarutilities.eliminateLeftRecursion)(rules); ///
33
+ var furtleParser = parserFromRules(_parser.default, rules);
34
+ return furtleParser;
35
+ }
36
+ var _default = {
37
+ furtleParserFromNothing: furtleParserFromNothing
38
+ };
39
+
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcGFyc2Vycy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgcGFyc2VyVXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLXBhcnNlcnNcIjtcbmltcG9ydCB7IGVsaW1pbmF0ZUxlZnRSZWN1cnNpb24gfSBmcm9tIFwib2NjYW0tZ3JhbW1hci11dGlsaXRpZXNcIjtcblxuaW1wb3J0IEZ1cnRsZVBhcnNlciBmcm9tIFwiLi4vZnVydGxlL3BhcnNlclwiO1xuXG5jb25zdCB7IHJ1bGVzRnJvbUJORiwgcGFyc2VyRnJvbVJ1bGVzIH0gPSBwYXJzZXJVdGlsaXRpZXM7XG5cbmV4cG9ydCBmdW5jdGlvbiBmdXJ0bGVQYXJzZXJGcm9tTm90aGluZygpIHtcbiAgY29uc3QgeyBibmYgfSA9IEZ1cnRsZVBhcnNlcjtcblxuICBsZXQgcnVsZXM7XG5cbiAgcnVsZXMgPSBydWxlc0Zyb21CTkYoYm5mKTtcblxuICBydWxlcyA9IGVsaW1pbmF0ZUxlZnRSZWN1cnNpb24ocnVsZXMpOyAgLy8vXG5cbiAgY29uc3QgZnVydGxlUGFyc2VyID0gcGFyc2VyRnJvbVJ1bGVzKEZ1cnRsZVBhcnNlciwgcnVsZXMpO1xuXG4gIHJldHVybiBmdXJ0bGVQYXJzZXI7XG59XG5cblxuZXhwb3J0IGRlZmF1bHQge1xuICBmdXJ0bGVQYXJzZXJGcm9tTm90aGluZ1xufTtcbiJdLCJuYW1lcyI6WyJmdXJ0bGVQYXJzZXJGcm9tTm90aGluZyIsInJ1bGVzRnJvbUJORiIsInBhcnNlclV0aWxpdGllcyIsInBhcnNlckZyb21SdWxlcyIsImJuZiIsIkZ1cnRsZVBhcnNlciIsInJ1bGVzIiwiZWxpbWluYXRlTGVmdFJlY3Vyc2lvbiIsImZ1cnRsZVBhcnNlciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBd0JBLE9BRUU7ZUFGRjs7SUFmZ0JBLHVCQUF1QjtlQUF2QkE7Ozs0QkFQZ0I7cUNBQ087NkRBRWQ7Ozs7OztBQUV6QixJQUFRQyxlQUFrQ0MsNkJBQWUsQ0FBakRELGNBQWNFLGtCQUFvQkQsNkJBQWUsQ0FBbkNDO0FBRWYsU0FBU0g7SUFDZCxJQUFNLEFBQUVJLE1BQVFDLGVBQVksQ0FBcEJEO0lBRVIsSUFBSUU7SUFFSkEsUUFBUUwsYUFBYUc7SUFFckJFLFFBQVFDLElBQUFBLDZDQUFzQixFQUFDRCxRQUFTLEdBQUc7SUFFM0MsSUFBTUUsZUFBZUwsZ0JBQWdCRSxlQUFZLEVBQUVDO0lBRW5ELE9BQU9FO0FBQ1Q7SUFHQSxXQUFlO0lBQ2JSLHlCQUFBQTtBQUNGIn0=
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-grammars",
3
3
  "author": "James Smith",
4
- "version": "1.1.1",
4
+ "version": "1.2.1",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-grammars",
7
7
  "description": "Occam's grammars.",
package/src/index.js CHANGED
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
 
3
+ export { default as lexersUtilities } from "./utilities/lexers";
4
+ export { default as parsersUtilities } from "./utilities/parsers";
5
+
3
6
  export { default as TeXLexer } from "./teX/lexer";
4
7
  export { default as JSONLexer } from "./json/lexer";
5
- export { default as FurtleLexer } from "./furtle/lexer";
6
8
  export { default as NominalLexer } from "./nominal/lexer";
7
9
  export { default as PlainTextLexer } from "./plainText/lexer";
8
10
  export { default as CustomGrammarBNFLexer } from "./customGrammarBNF/lexer";
@@ -10,7 +12,6 @@ export { default as CustomGrammarPatternLexer } from "./customGrammarPattern/lex
10
12
 
11
13
  export { default as TeXParser } from "./teX/parser";
12
14
  export { default as JSONParser } from "./json/parser";
13
- export { default as FurtleParser } from "./furtle/parser";
14
15
  export { default as NominalParser } from "./nominal/parser";
15
16
  export { default as PlainTextParser } from "./plainText/parser";
16
17
  export { default as CustomGrammarBNFParser } from "./customGrammarBNF/parser";
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ import { lexerUtilities } from "occam-lexers";
4
+
5
+ import FurtleLexer from "../furtle/lexer";
6
+
7
+ const { lexerFromRules, rulesFromEntries } = lexerUtilities;
8
+
9
+ export function furtleLexerFromNothing() {
10
+ const { entries } = FurtleLexer,
11
+ rules = rulesFromEntries(entries),
12
+ furtleLexer = lexerFromRules(FurtleLexer, rules);
13
+
14
+ return furtleLexer;
15
+ }
16
+
17
+ export default {
18
+ furtleLexerFromNothing
19
+ };
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ import { parserUtilities } from "occam-parsers";
4
+ import { eliminateLeftRecursion } from "occam-grammar-utilities";
5
+
6
+ import FurtleParser from "../furtle/parser";
7
+
8
+ const { rulesFromBNF, parserFromRules } = parserUtilities;
9
+
10
+ export function furtleParserFromNothing() {
11
+ const { bnf } = FurtleParser;
12
+
13
+ let rules;
14
+
15
+ rules = rulesFromBNF(bnf);
16
+
17
+ rules = eliminateLeftRecursion(rules); ///
18
+
19
+ const furtleParser = parserFromRules(FurtleParser, rules);
20
+
21
+ return furtleParser;
22
+ }
23
+
24
+
25
+ export default {
26
+ furtleParserFromNothing
27
+ };