occam-languages 0.0.293 → 1.0.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.
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ const _occamgrammarutilities = require("occam-grammar-utilities");
12
+ const _node = /*#__PURE__*/ _interop_require_default(require("../mixins/node"));
13
+ const _ruleNames = require("../ruleNames");
14
+ function _interop_require_default(obj) {
15
+ return obj && obj.__esModule ? obj : {
16
+ default: obj
17
+ };
18
+ }
19
+ class NonTerminalNode extends _occamgrammarutilities.NonTerminalNode {
20
+ }
21
+ Object.assign(NonTerminalNode.prototype, _node.default);
22
+ const NonTerminalNodeMap = {
23
+ [_ruleNames.TERM_RULE_NAME]: NonTerminalNode
24
+ };
25
+ const _default = NonTerminalNodeMap;
26
+
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mdXJ0bGUvbm9uVGVybWluYWxOb2RlTWFwLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBOb25UZXJtaW5hbE5vZGUgYXMgTm9uVGVybWluYWxOb2RlQmFzZSB9IGZyb20gXCJvY2NhbS1ncmFtbWFyLXV0aWxpdGllc1wiO1xuXG5pbXBvcnQgbm9kZU1peGlucyBmcm9tIFwiLi4vbWl4aW5zL25vZGVcIjtcblxuaW1wb3J0IHsgVEVSTV9SVUxFX05BTUUgfSBmcm9tIFwiLi4vcnVsZU5hbWVzXCI7XG5cbmNsYXNzIE5vblRlcm1pbmFsTm9kZSBleHRlbmRzIE5vblRlcm1pbmFsTm9kZUJhc2Uge31cblxuT2JqZWN0LmFzc2lnbihOb25UZXJtaW5hbE5vZGUucHJvdG90eXBlLCBub2RlTWl4aW5zKTtcblxuY29uc3QgTm9uVGVybWluYWxOb2RlTWFwID0ge1xuICBbVEVSTV9SVUxFX05BTUVdOiBOb25UZXJtaW5hbE5vZGVcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE5vblRlcm1pbmFsTm9kZU1hcDtcbiJdLCJuYW1lcyI6WyJOb25UZXJtaW5hbE5vZGUiLCJOb25UZXJtaW5hbE5vZGVCYXNlIiwiT2JqZWN0IiwiYXNzaWduIiwicHJvdG90eXBlIiwibm9kZU1peGlucyIsIk5vblRlcm1pbmFsTm9kZU1hcCIsIlRFUk1fUlVMRV9OQU1FIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFnQkE7OztlQUFBOzs7dUNBZHVEOzZEQUVoQzsyQkFFUTs7Ozs7O0FBRS9CLE1BQU1BLHdCQUF3QkMsc0NBQW1CO0FBQUU7QUFFbkRDLE9BQU9DLE1BQU0sQ0FBQ0gsZ0JBQWdCSSxTQUFTLEVBQUVDLGFBQVU7QUFFbkQsTUFBTUMscUJBQXFCO0lBQ3pCLENBQUNDLHlCQUFjLENBQUMsRUFBRVA7QUFDcEI7TUFFQSxXQUFlTSJ9
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  const _occamgrammars = require("occam-grammars");
12
12
  const _nonTerminalNode = /*#__PURE__*/ _interop_require_default(require("../nonTerminalNode"));
13
+ const _nonTerminalNodeMap = /*#__PURE__*/ _interop_require_default(require("./nonTerminalNodeMap"));
13
14
  function _interop_require_default(obj) {
14
15
  return obj && obj.__esModule ? obj : {
15
16
  default: obj
@@ -17,6 +18,7 @@ function _interop_require_default(obj) {
17
18
  }
18
19
  class FurtleParser extends _occamgrammars.FurtleParser {
19
20
  static defaultNonTerminalNode = _nonTerminalNode.default;
21
+ static NonTerminalNodeMap = _nonTerminalNodeMap.default;
20
22
  }
21
23
 
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mdXJ0bGUvcGFyc2VyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBGdXJ0bGVQYXJzZXIgYXMgRnVydGxlUGFyc2VyQmFzZSB9IGZyb20gXCJvY2NhbS1ncmFtbWFyc1wiO1xuXG5pbXBvcnQgTm9uVGVybWluYWxOb2RlIGZyb20gXCIuLi9ub25UZXJtaW5hbE5vZGVcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRnVydGxlUGFyc2VyIGV4dGVuZHMgRnVydGxlUGFyc2VyQmFzZSB7XG4gIHN0YXRpYyBkZWZhdWx0Tm9uVGVybWluYWxOb2RlID0gTm9uVGVybWluYWxOb2RlOyAgLy8vXG59XG4iXSwibmFtZXMiOlsiRnVydGxlUGFyc2VyIiwiRnVydGxlUGFyc2VyQmFzZSIsImRlZmF1bHROb25UZXJtaW5hbE5vZGUiLCJOb25UZXJtaW5hbE5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU1BOzs7ZUFBcUJBOzs7K0JBSjRCO3dFQUVyQjs7Ozs7O0FBRWIsTUFBTUEscUJBQXFCQywyQkFBZ0I7SUFDeEQsT0FBT0MseUJBQXlCQyx3QkFBZSxDQUFDO0FBQ2xEIn0=
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mdXJ0bGUvcGFyc2VyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBGdXJ0bGVQYXJzZXIgYXMgRnVydGxlUGFyc2VyQmFzZSB9IGZyb20gXCJvY2NhbS1ncmFtbWFyc1wiO1xuXG5pbXBvcnQgTm9uVGVybWluYWxOb2RlIGZyb20gXCIuLi9ub25UZXJtaW5hbE5vZGVcIjtcbmltcG9ydCBOb25UZXJtaW5hbE5vZGVNYXAgZnJvbSBcIi4vbm9uVGVybWluYWxOb2RlTWFwXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZ1cnRsZVBhcnNlciBleHRlbmRzIEZ1cnRsZVBhcnNlckJhc2Uge1xuICBzdGF0aWMgZGVmYXVsdE5vblRlcm1pbmFsTm9kZSA9IE5vblRlcm1pbmFsTm9kZTsgIC8vL1xuXG4gIHN0YXRpYyBOb25UZXJtaW5hbE5vZGVNYXAgPSBOb25UZXJtaW5hbE5vZGVNYXA7XG59XG4iXSwibmFtZXMiOlsiRnVydGxlUGFyc2VyIiwiRnVydGxlUGFyc2VyQmFzZSIsImRlZmF1bHROb25UZXJtaW5hbE5vZGUiLCJOb25UZXJtaW5hbE5vZGUiLCJOb25UZXJtaW5hbE5vZGVNYXAiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU9BOzs7ZUFBcUJBOzs7K0JBTDRCO3dFQUVyQjsyRUFDRzs7Ozs7O0FBRWhCLE1BQU1BLHFCQUFxQkMsMkJBQWdCO0lBQ3hELE9BQU9DLHlCQUF5QkMsd0JBQWUsQ0FBQztJQUVoRCxPQUFPQyxxQkFBcUJBLDJCQUFrQixDQUFDO0FBQ2pEIn0=
package/lib/index.js CHANGED
@@ -48,9 +48,6 @@ _export(exports, {
48
48
  get NominalParser () {
49
49
  return _parser1.default;
50
50
  },
51
- get NonTerminalNode () {
52
- return _nonTerminalNode.default;
53
- },
54
51
  get ReleaseContext () {
55
52
  return _release.default;
56
53
  },
@@ -88,7 +85,6 @@ const _context = /*#__PURE__*/ _interop_require_default(require("./context"));
88
85
  const _breakPoint = /*#__PURE__*/ _interop_require_default(require("./breakPoint"));
89
86
  const _file = /*#__PURE__*/ _interop_require_default(require("./context/file"));
90
87
  const _release = /*#__PURE__*/ _interop_require_default(require("./context/release"));
91
- const _nonTerminalNode = /*#__PURE__*/ _interop_require_default(require("./nonTerminalNode"));
92
88
  const _zip = /*#__PURE__*/ _interop_require_default(require("./pass/zip"));
93
89
  const _async = /*#__PURE__*/ _interop_require_default(require("./pass/async"));
94
90
  const _simple = /*#__PURE__*/ _interop_require_default(require("./pass/simple"));
@@ -112,4 +108,4 @@ function _interop_require_default(obj) {
112
108
  };
113
109
  }
114
110
 
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBMb2cgfSBmcm9tIFwiLi9sb2dcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRWxlbWVudCB9IGZyb20gXCIuL2VsZW1lbnRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQ29udGV4dCB9IGZyb20gXCIuL2NvbnRleHRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQnJlYWtQb2ludCB9IGZyb20gXCIuL2JyZWFrUG9pbnRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRmlsZUNvbnRleHQgfSBmcm9tIFwiLi9jb250ZXh0L2ZpbGVcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUmVsZWFzZUNvbnRleHQgfSBmcm9tIFwiLi9jb250ZXh0L3JlbGVhc2VcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTm9uVGVybWluYWxOb2RlIH0gZnJvbSBcIi4vbm9uVGVybWluYWxOb2RlXCI7XG5cbmV4cG9ydCB7IGRlZmF1bHQgYXMgWmlwUGFzcyB9IGZyb20gXCIuL3Bhc3MvemlwXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEFzeW5jUGFzcyB9IGZyb20gXCIuL3Bhc3MvYXN5bmNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgU2ltcGxlUGFzcyB9IGZyb20gXCIuL3Bhc3Mvc2ltcGxlXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEZvcndhcmRQYXNzIH0gZnJvbSBcIi4vcGFzcy9mb3J3YXJkXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEZvcndhcmRaaXBQYXNzIH0gZnJvbSBcIi4vcGFzcy9mb3J3YXJkWmlwXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEVxdWl2YWxlbmNlUGFzcyB9IGZyb20gXCIuL3Bhc3MvZXF1aXZhbGVuY2VcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBGdXJ0bGVMZXhlciB9IGZyb20gXCIuL2Z1cnRsZS9sZXhlclwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBGdXJ0bGVQYXJzZXIgfSBmcm9tIFwiLi9mdXJ0bGUvcGFyc2VyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIE5vbWluYWxMZXhlciB9IGZyb20gXCIuL25vbWluYWwvbGV4ZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTm9taW5hbFBhcnNlciB9IGZyb20gXCIuL25vbWluYWwvcGFyc2VyXCI7XG5cbmV4cG9ydCB7IGRlZmF1bHQgYXMgbm9kZVV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9ub2RlXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGZ1cnRsZVV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9mdXJ0bGVcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgbm9taW5hbFV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9ub21pbmFsXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGZpbGVDb250ZXh0VXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2ZpbGVDb250ZXh0XCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHZlcmlmaWNhdGlvblV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy92ZXJpZmljYXRpb25cIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgYXN5bmNocm9ub3VzVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2FzeW5jaHJvbm91c1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyByZWxlYXNlQ29udGV4dFV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9yZWxlYXNlQ29udGV4dFwiO1xuIl0sIm5hbWVzIjpbIkFzeW5jUGFzcyIsIkJyZWFrUG9pbnQiLCJDb250ZXh0IiwiRWxlbWVudCIsIkVxdWl2YWxlbmNlUGFzcyIsIkZpbGVDb250ZXh0IiwiRm9yd2FyZFBhc3MiLCJGb3J3YXJkWmlwUGFzcyIsIkZ1cnRsZUxleGVyIiwiRnVydGxlUGFyc2VyIiwiTG9nIiwiTm9taW5hbExleGVyIiwiTm9taW5hbFBhcnNlciIsIk5vblRlcm1pbmFsTm9kZSIsIlJlbGVhc2VDb250ZXh0IiwiU2ltcGxlUGFzcyIsIlppcFBhc3MiLCJhc3luY2hyb25vdXNVdGlsaXRpZXMiLCJmaWxlQ29udGV4dFV0aWxpdGllcyIsImZ1cnRsZVV0aWxpdGllcyIsIm5vZGVVdGlsaXRpZXMiLCJub21pbmFsVXRpbGl0aWVzIiwicmVsZWFzZUNvbnRleHRVdGlsaXRpZXMiLCJ2ZXJpZmljYXRpb25VdGlsaXRpZXMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQVdvQkE7ZUFBQUEsY0FBUzs7UUFOVEM7ZUFBQUEsbUJBQVU7O1FBRFZDO2VBQUFBLGdCQUFPOztRQURQQztlQUFBQSxnQkFBTzs7UUFZUEM7ZUFBQUEsb0JBQWU7O1FBVGZDO2VBQUFBLGFBQVc7O1FBT1hDO2VBQUFBLGdCQUFXOztRQUNYQztlQUFBQSxtQkFBYzs7UUFHZEM7ZUFBQUEsY0FBVzs7UUFDWEM7ZUFBQUEsZUFBWTs7UUFoQlpDO2VBQUFBLFlBQUc7O1FBaUJIQztlQUFBQSxlQUFZOztRQUNaQztlQUFBQSxnQkFBYTs7UUFaYkM7ZUFBQUEsd0JBQWU7O1FBRGZDO2VBQUFBLGdCQUFjOztRQUtkQztlQUFBQSxlQUFVOztRQUZWQztlQUFBQSxZQUFPOztRQWlCUEM7ZUFBQUEscUJBQXFCOztRQUZyQkM7ZUFBQUEsb0JBQW9COztRQUZwQkM7ZUFBQUEsZUFBZTs7UUFEZkM7ZUFBQUEsYUFBYTs7UUFFYkM7ZUFBQUEsZ0JBQWdCOztRQUloQkM7ZUFBQUEsdUJBQXVCOztRQUZ2QkM7ZUFBQUEscUJBQXFCOzs7NERBeEJWO2dFQUNJO2dFQUNBO21FQUNHOzZEQUNDO2dFQUNHO3dFQUNDOzREQUVSOzhEQUNFOytEQUNDO2dFQUNDO21FQUNHO29FQUNDOzhEQUVKOytEQUNDOytEQUNBO2dFQUNDOzZEQUVBOytEQUNFO2dFQUNDO29FQUNJO3FFQUNDO3FFQUNBO3VFQUNFIn0=
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBMb2cgfSBmcm9tIFwiLi9sb2dcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRWxlbWVudCB9IGZyb20gXCIuL2VsZW1lbnRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQ29udGV4dCB9IGZyb20gXCIuL2NvbnRleHRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQnJlYWtQb2ludCB9IGZyb20gXCIuL2JyZWFrUG9pbnRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRmlsZUNvbnRleHQgfSBmcm9tIFwiLi9jb250ZXh0L2ZpbGVcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUmVsZWFzZUNvbnRleHQgfSBmcm9tIFwiLi9jb250ZXh0L3JlbGVhc2VcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBaaXBQYXNzIH0gZnJvbSBcIi4vcGFzcy96aXBcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQXN5bmNQYXNzIH0gZnJvbSBcIi4vcGFzcy9hc3luY1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBTaW1wbGVQYXNzIH0gZnJvbSBcIi4vcGFzcy9zaW1wbGVcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRm9yd2FyZFBhc3MgfSBmcm9tIFwiLi9wYXNzL2ZvcndhcmRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRm9yd2FyZFppcFBhc3MgfSBmcm9tIFwiLi9wYXNzL2ZvcndhcmRaaXBcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRXF1aXZhbGVuY2VQYXNzIH0gZnJvbSBcIi4vcGFzcy9lcXVpdmFsZW5jZVwiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIEZ1cnRsZUxleGVyIH0gZnJvbSBcIi4vZnVydGxlL2xleGVyXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEZ1cnRsZVBhcnNlciB9IGZyb20gXCIuL2Z1cnRsZS9wYXJzZXJcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTm9taW5hbExleGVyIH0gZnJvbSBcIi4vbm9taW5hbC9sZXhlclwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBOb21pbmFsUGFyc2VyIH0gZnJvbSBcIi4vbm9taW5hbC9wYXJzZXJcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBub2RlVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL25vZGVcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZnVydGxlVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2Z1cnRsZVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBub21pbmFsVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL25vbWluYWxcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZmlsZUNvbnRleHRVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvZmlsZUNvbnRleHRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgdmVyaWZpY2F0aW9uVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3ZlcmlmaWNhdGlvblwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBhc3luY2hyb25vdXNVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvYXN5bmNocm9ub3VzXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHJlbGVhc2VDb250ZXh0VXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3JlbGVhc2VDb250ZXh0XCI7XG4iXSwibmFtZXMiOlsiQXN5bmNQYXNzIiwiQnJlYWtQb2ludCIsIkNvbnRleHQiLCJFbGVtZW50IiwiRXF1aXZhbGVuY2VQYXNzIiwiRmlsZUNvbnRleHQiLCJGb3J3YXJkUGFzcyIsIkZvcndhcmRaaXBQYXNzIiwiRnVydGxlTGV4ZXIiLCJGdXJ0bGVQYXJzZXIiLCJMb2ciLCJOb21pbmFsTGV4ZXIiLCJOb21pbmFsUGFyc2VyIiwiUmVsZWFzZUNvbnRleHQiLCJTaW1wbGVQYXNzIiwiWmlwUGFzcyIsImFzeW5jaHJvbm91c1V0aWxpdGllcyIsImZpbGVDb250ZXh0VXRpbGl0aWVzIiwiZnVydGxlVXRpbGl0aWVzIiwibm9kZVV0aWxpdGllcyIsIm5vbWluYWxVdGlsaXRpZXMiLCJyZWxlYXNlQ29udGV4dFV0aWxpdGllcyIsInZlcmlmaWNhdGlvblV0aWxpdGllcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBVW9CQTtlQUFBQSxjQUFTOztRQUxUQztlQUFBQSxtQkFBVTs7UUFEVkM7ZUFBQUEsZ0JBQU87O1FBRFBDO2VBQUFBLGdCQUFPOztRQVdQQztlQUFBQSxvQkFBZTs7UUFSZkM7ZUFBQUEsYUFBVzs7UUFNWEM7ZUFBQUEsZ0JBQVc7O1FBQ1hDO2VBQUFBLG1CQUFjOztRQUdkQztlQUFBQSxjQUFXOztRQUNYQztlQUFBQSxlQUFZOztRQWZaQztlQUFBQSxZQUFHOztRQWdCSEM7ZUFBQUEsZUFBWTs7UUFDWkM7ZUFBQUEsZ0JBQWE7O1FBWmJDO2VBQUFBLGdCQUFjOztRQUlkQztlQUFBQSxlQUFVOztRQUZWQztlQUFBQSxZQUFPOztRQWlCUEM7ZUFBQUEscUJBQXFCOztRQUZyQkM7ZUFBQUEsb0JBQW9COztRQUZwQkM7ZUFBQUEsZUFBZTs7UUFEZkM7ZUFBQUEsYUFBYTs7UUFFYkM7ZUFBQUEsZ0JBQWdCOztRQUloQkM7ZUFBQUEsdUJBQXVCOztRQUZ2QkM7ZUFBQUEscUJBQXFCOzs7NERBdkJWO2dFQUNJO2dFQUNBO21FQUNHOzZEQUNDO2dFQUNHOzREQUVQOzhEQUNFOytEQUNDO2dFQUNDO21FQUNHO29FQUNDOzhEQUVKOytEQUNDOytEQUNBO2dFQUNDOzZEQUVBOytEQUNFO2dFQUNDO29FQUNJO3FFQUNDO3FFQUNBO3VFQUNFIn0=
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ const _necessary = require("necessary");
12
+ const { first } = _necessary.arrayUtilities;
13
+ function someTerminalNode(callback, tokenType) {
14
+ let index = 0;
15
+ return this.someChildNode((childNode)=>{
16
+ const childNodeTerminalNode = childNode.isTerminalNode();
17
+ if (childNodeTerminalNode) {
18
+ const terminalNode = childNode, terminalNodeType = terminalNode.getType();
19
+ if (terminalNodeType === tokenType) {
20
+ return callback(terminalNode, index++);
21
+ }
22
+ }
23
+ });
24
+ }
25
+ function getNodeByRuleName(...ruleNames) {
26
+ const node = this.findChildNode((childNode)=>{
27
+ const childNodeNonTerminalNode = childNode.isNonTerminalNode();
28
+ if (childNodeNonTerminalNode) {
29
+ const nonTerminalNode = childNode, ruleName = nonTerminalNode.getRuleName(), ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
30
+ if (ruleNamesIncludesRuleName) {
31
+ return true;
32
+ }
33
+ }
34
+ }) || null;
35
+ return node;
36
+ }
37
+ function getNodesByRuleName(...ruleNames) {
38
+ const nodes = this.filterChildNode((childNode)=>{
39
+ const childNodeNonTerminalNode = childNode.isNonTerminalNode();
40
+ if (childNodeNonTerminalNode) {
41
+ const nonTerminalNode = childNode, ruleName = nonTerminalNode.getRuleName(), ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
42
+ if (ruleNamesIncludesRuleName) {
43
+ return true;
44
+ }
45
+ }
46
+ });
47
+ return nodes;
48
+ }
49
+ function getLastNodeByRuleName(...ruleNames) {
50
+ let lastNode = null;
51
+ this.backwardsSomeChildNode((childNode)=>{
52
+ const childNodeNonTerminalNode = childNode.isNonTerminalNode();
53
+ if (childNodeNonTerminalNode) {
54
+ const nonTerminalNode = childNode, ruleName = nonTerminalNode.getRuleName(), ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
55
+ if (ruleNamesIncludesRuleName) {
56
+ lastNode = childNode; ///
57
+ return true;
58
+ }
59
+ }
60
+ });
61
+ return lastNode;
62
+ }
63
+ function getFirstNodeByRuleName(...ruleNames) {
64
+ let firstNode = null;
65
+ this.forwardsSomeChildNode((childNode)=>{
66
+ const childNodeNonTerminalNode = childNode.isNonTerminalNode();
67
+ if (childNodeNonTerminalNode) {
68
+ const nonTerminalNode = childNode, ruleName = nonTerminalNode.getRuleName(), ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
69
+ if (ruleNamesIncludesRuleName) {
70
+ firstNode = childNode; ///
71
+ return true;
72
+ }
73
+ }
74
+ });
75
+ return firstNode;
76
+ }
77
+ function getSingularNodeByRuleName(...ruleNames) {
78
+ let singularNode = null;
79
+ const nodes = this.filterChildNode((childNode)=>{
80
+ const childNodeNonTerminalNode = childNode.isNonTerminalNode();
81
+ if (childNodeNonTerminalNode) {
82
+ const nonTerminalNode = childNode, ruleName = nonTerminalNode.getRuleName(), ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
83
+ if (ruleNamesIncludesRuleName) {
84
+ return true;
85
+ }
86
+ }
87
+ }), nodesLength = nodes.length;
88
+ if (nodesLength === 1) {
89
+ const firstNode = first(nodes);
90
+ singularNode = firstNode; ///
91
+ }
92
+ return singularNode;
93
+ }
94
+ function getDescendantNodesByRuleName(...ruleNames) {
95
+ const nodes = this.filterDescendantNode((descendantNode)=>{
96
+ const descendantNodeNonTerminalNode = descendantNode.isNonTerminalNode();
97
+ if (descendantNodeNonTerminalNode) {
98
+ const nonTerminalNode = descendantNode, ruleName = nonTerminalNode.getRuleName(), ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
99
+ if (ruleNamesIncludesRuleName) {
100
+ return true;
101
+ }
102
+ }
103
+ });
104
+ return nodes;
105
+ }
106
+ const nodeMixins = {
107
+ someTerminalNode,
108
+ getNodeByRuleName,
109
+ getNodesByRuleName,
110
+ getLastNodeByRuleName,
111
+ getFirstNodeByRuleName,
112
+ getSingularNodeByRuleName,
113
+ getDescendantNodesByRuleName
114
+ };
115
+ const _default = nodeMixins;
116
+
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvbm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmNvbnN0IHsgZmlyc3QgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5mdW5jdGlvbiBzb21lVGVybWluYWxOb2RlKGNhbGxiYWNrLCB0b2tlblR5cGUpIHtcbiAgbGV0IGluZGV4ID0gMDtcblxuICByZXR1cm4gdGhpcy5zb21lQ2hpbGROb2RlKChjaGlsZE5vZGUpID0+IHtcbiAgICBjb25zdCBjaGlsZE5vZGVUZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUuaXNUZXJtaW5hbE5vZGUoKTtcblxuICAgIGlmIChjaGlsZE5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IGNoaWxkTm9kZSwgLy8vXG4gICAgICAgICAgICB0ZXJtaW5hbE5vZGVUeXBlID0gdGVybWluYWxOb2RlLmdldFR5cGUoKTtcblxuICAgICAgaWYgKHRlcm1pbmFsTm9kZVR5cGUgPT09IHRva2VuVHlwZSkge1xuICAgICAgICByZXR1cm4gY2FsbGJhY2sodGVybWluYWxOb2RlLCBpbmRleCsrKTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBnZXROb2RlQnlSdWxlTmFtZSguLi5ydWxlTmFtZXMpIHtcbiAgY29uc3Qgbm9kZSA9IHRoaXMuZmluZENoaWxkTm9kZSgoY2hpbGROb2RlKSA9PiB7XG4gICAgY29uc3QgY2hpbGROb2RlTm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAoY2hpbGROb2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUsIC8vL1xuICAgICAgICAgICAgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICAgIHJ1bGVOYW1lc0luY2x1ZGVzUnVsZU5hbWUgPSBydWxlTmFtZXMuaW5jbHVkZXMocnVsZU5hbWUpO1xuXG4gICAgICBpZiAocnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH0pIHx8IG51bGw7XG5cbiAgcmV0dXJuIG5vZGU7XG59XG5cbmZ1bmN0aW9uIGdldE5vZGVzQnlSdWxlTmFtZSguLi5ydWxlTmFtZXMpIHtcbiAgY29uc3Qgbm9kZXMgPSB0aGlzLmZpbHRlckNoaWxkTm9kZSgoY2hpbGROb2RlKSA9PiB7XG4gICAgY29uc3QgY2hpbGROb2RlTm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAoY2hpbGROb2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUsIC8vL1xuICAgICAgICAgICAgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICAgIHJ1bGVOYW1lc0luY2x1ZGVzUnVsZU5hbWUgPSBydWxlTmFtZXMuaW5jbHVkZXMocnVsZU5hbWUpO1xuXG4gICAgICBpZiAocnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBub2Rlcztcbn1cblxuZnVuY3Rpb24gZ2V0TGFzdE5vZGVCeVJ1bGVOYW1lKC4uLnJ1bGVOYW1lcykge1xuICBsZXQgbGFzdE5vZGUgPSBudWxsO1xuXG4gIHRoaXMuYmFja3dhcmRzU29tZUNoaWxkTm9kZSgoY2hpbGROb2RlKSA9PiB7XG4gICAgY29uc3QgY2hpbGROb2RlTm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAoY2hpbGROb2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUsIC8vL1xuICAgICAgICAgICAgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICAgIHJ1bGVOYW1lc0luY2x1ZGVzUnVsZU5hbWUgPSBydWxlTmFtZXMuaW5jbHVkZXMocnVsZU5hbWUpO1xuXG4gICAgICBpZiAocnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSkge1xuICAgICAgICBsYXN0Tm9kZSA9IGNoaWxkTm9kZTsgLy8vXG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gbGFzdE5vZGU7XG59XG5cbmZ1bmN0aW9uIGdldEZpcnN0Tm9kZUJ5UnVsZU5hbWUoLi4ucnVsZU5hbWVzKSB7XG4gIGxldCBmaXJzdE5vZGUgPSBudWxsO1xuXG4gIHRoaXMuZm9yd2FyZHNTb21lQ2hpbGROb2RlKChjaGlsZE5vZGUpID0+IHtcbiAgICBjb25zdCBjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgIGlmIChjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IGNoaWxkTm9kZSwgLy8vXG4gICAgICAgICAgICBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgcnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSA9IHJ1bGVOYW1lcy5pbmNsdWRlcyhydWxlTmFtZSk7XG5cbiAgICAgIGlmIChydWxlTmFtZXNJbmNsdWRlc1J1bGVOYW1lKSB7XG4gICAgICAgIGZpcnN0Tm9kZSA9IGNoaWxkTm9kZTsgLy8vXG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gZmlyc3ROb2RlO1xufVxuXG5mdW5jdGlvbiBnZXRTaW5ndWxhck5vZGVCeVJ1bGVOYW1lKC4uLnJ1bGVOYW1lcykge1xuICBsZXQgc2luZ3VsYXJOb2RlID0gbnVsbDtcblxuICBjb25zdCBub2RlcyA9IHRoaXMuZmlsdGVyQ2hpbGROb2RlKChjaGlsZE5vZGUpID0+IHtcbiAgICAgICAgICBjb25zdCBjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgICAgICAgIGlmIChjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IGNoaWxkTm9kZSwgLy8vXG4gICAgICAgICAgICAgICAgICBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgICAgICAgcnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSA9IHJ1bGVOYW1lcy5pbmNsdWRlcyhydWxlTmFtZSk7XG5cbiAgICAgICAgICAgIGlmIChydWxlTmFtZXNJbmNsdWRlc1J1bGVOYW1lKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIG5vZGVzTGVuZ3RoID0gbm9kZXMubGVuZ3RoO1xuXG4gIGlmIChub2Rlc0xlbmd0aCA9PT0gMSkge1xuICAgIGNvbnN0IGZpcnN0Tm9kZSA9IGZpcnN0KG5vZGVzKTtcblxuICAgIHNpbmd1bGFyTm9kZSA9IGZpcnN0Tm9kZTsgLy8vXG4gIH1cblxuICByZXR1cm4gc2luZ3VsYXJOb2RlO1xufVxuXG5mdW5jdGlvbiBnZXREZXNjZW5kYW50Tm9kZXNCeVJ1bGVOYW1lKC4uLnJ1bGVOYW1lcykge1xuICBjb25zdCBub2RlcyA9IHRoaXMuZmlsdGVyRGVzY2VuZGFudE5vZGUoKGRlc2NlbmRhbnROb2RlKSA9PiB7XG4gICAgY29uc3QgZGVzY2VuZGFudE5vZGVOb25UZXJtaW5hbE5vZGUgPSBkZXNjZW5kYW50Tm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKGRlc2NlbmRhbnROb2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBkZXNjZW5kYW50Tm9kZSwgLy8vXG4gICAgICAgICAgICBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgcnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSA9IHJ1bGVOYW1lcy5pbmNsdWRlcyhydWxlTmFtZSk7XG5cbiAgICAgIGlmIChydWxlTmFtZXNJbmNsdWRlc1J1bGVOYW1lKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIG5vZGVzO1xufVxuXG5jb25zdCBub2RlTWl4aW5zID0ge1xuICBzb21lVGVybWluYWxOb2RlLFxuICBnZXROb2RlQnlSdWxlTmFtZSxcbiAgZ2V0Tm9kZXNCeVJ1bGVOYW1lLFxuICBnZXRMYXN0Tm9kZUJ5UnVsZU5hbWUsXG4gIGdldEZpcnN0Tm9kZUJ5UnVsZU5hbWUsXG4gIGdldFNpbmd1bGFyTm9kZUJ5UnVsZU5hbWUsXG4gIGdldERlc2NlbmRhbnROb2Rlc0J5UnVsZU5hbWVcbn07XG5cbmV4cG9ydCBkZWZhdWx0IG5vZGVNaXhpbnM7XG4iXSwibmFtZXMiOlsiZmlyc3QiLCJhcnJheVV0aWxpdGllcyIsInNvbWVUZXJtaW5hbE5vZGUiLCJjYWxsYmFjayIsInRva2VuVHlwZSIsImluZGV4Iiwic29tZUNoaWxkTm9kZSIsImNoaWxkTm9kZSIsImNoaWxkTm9kZVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlVHlwZSIsImdldFR5cGUiLCJnZXROb2RlQnlSdWxlTmFtZSIsInJ1bGVOYW1lcyIsIm5vZGUiLCJmaW5kQ2hpbGROb2RlIiwiY2hpbGROb2RlTm9uVGVybWluYWxOb2RlIiwiaXNOb25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGUiLCJydWxlTmFtZSIsImdldFJ1bGVOYW1lIiwicnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSIsImluY2x1ZGVzIiwiZ2V0Tm9kZXNCeVJ1bGVOYW1lIiwibm9kZXMiLCJmaWx0ZXJDaGlsZE5vZGUiLCJnZXRMYXN0Tm9kZUJ5UnVsZU5hbWUiLCJsYXN0Tm9kZSIsImJhY2t3YXJkc1NvbWVDaGlsZE5vZGUiLCJnZXRGaXJzdE5vZGVCeVJ1bGVOYW1lIiwiZmlyc3ROb2RlIiwiZm9yd2FyZHNTb21lQ2hpbGROb2RlIiwiZ2V0U2luZ3VsYXJOb2RlQnlSdWxlTmFtZSIsInNpbmd1bGFyTm9kZSIsIm5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwiZ2V0RGVzY2VuZGFudE5vZGVzQnlSdWxlTmFtZSIsImZpbHRlckRlc2NlbmRhbnROb2RlIiwiZGVzY2VuZGFudE5vZGUiLCJkZXNjZW5kYW50Tm9kZU5vblRlcm1pbmFsTm9kZSIsIm5vZGVNaXhpbnMiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQThKQTs7O2VBQUE7OzsyQkE1SitCO0FBRS9CLE1BQU0sRUFBRUEsS0FBSyxFQUFFLEdBQUdDLHlCQUFjO0FBRWhDLFNBQVNDLGlCQUFpQkMsUUFBUSxFQUFFQyxTQUFTO0lBQzNDLElBQUlDLFFBQVE7SUFFWixPQUFPLElBQUksQ0FBQ0MsYUFBYSxDQUFDLENBQUNDO1FBQ3pCLE1BQU1DLHdCQUF3QkQsVUFBVUUsY0FBYztRQUV0RCxJQUFJRCx1QkFBdUI7WUFDekIsTUFBTUUsZUFBZUgsV0FDZkksbUJBQW1CRCxhQUFhRSxPQUFPO1lBRTdDLElBQUlELHFCQUFxQlAsV0FBVztnQkFDbEMsT0FBT0QsU0FBU08sY0FBY0w7WUFDaEM7UUFDRjtJQUNGO0FBQ0Y7QUFFQSxTQUFTUSxrQkFBa0IsR0FBR0MsU0FBUztJQUNyQyxNQUFNQyxPQUFPLElBQUksQ0FBQ0MsYUFBYSxDQUFDLENBQUNUO1FBQy9CLE1BQU1VLDJCQUEyQlYsVUFBVVcsaUJBQWlCO1FBRTVE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
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ const _occamgrammarutilities = require("occam-grammar-utilities");
12
+ const _node = /*#__PURE__*/ _interop_require_default(require("../mixins/node"));
13
+ const _ruleNames = require("../ruleNames");
14
+ function _interop_require_default(obj) {
15
+ return obj && obj.__esModule ? obj : {
16
+ default: obj
17
+ };
18
+ }
19
+ class NonTerminalNode extends _occamgrammarutilities.NonTerminalNode {
20
+ }
21
+ Object.assign(NonTerminalNode.prototype, _node.default);
22
+ const NonTerminalNodeMap = {
23
+ [_ruleNames.TERM_RULE_NAME]: NonTerminalNode,
24
+ [_ruleNames.STATEMENT_RULE_NAME]: NonTerminalNode
25
+ };
26
+ const _default = NonTerminalNodeMap;
27
+
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub21pbmFsL25vblRlcm1pbmFsTm9kZU1hcC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgTm9uVGVybWluYWxOb2RlIGFzIE5vblRlcm1pbmFsTm9kZUJhc2UgfSBmcm9tIFwib2NjYW0tZ3JhbW1hci11dGlsaXRpZXNcIjtcblxuaW1wb3J0IG5vZGVNaXhpbnMgZnJvbSBcIi4uL21peGlucy9ub2RlXCI7XG5cbmltcG9ydCB7IFRFUk1fUlVMRV9OQU1FLCBTVEFURU1FTlRfUlVMRV9OQU1FIH0gZnJvbSBcIi4uL3J1bGVOYW1lc1wiO1xuXG5jbGFzcyBOb25UZXJtaW5hbE5vZGUgZXh0ZW5kcyBOb25UZXJtaW5hbE5vZGVCYXNlIHt9XG5cbk9iamVjdC5hc3NpZ24oTm9uVGVybWluYWxOb2RlLnByb3RvdHlwZSwgbm9kZU1peGlucyk7XG5cbmNvbnN0IE5vblRlcm1pbmFsTm9kZU1hcCA9IHtcbiAgW1RFUk1fUlVMRV9OQU1FXTogTm9uVGVybWluYWxOb2RlLFxuICBbU1RBVEVNRU5UX1JVTEVfTkFNRV06IE5vblRlcm1pbmFsTm9kZVxufTtcblxuZXhwb3J0IGRlZmF1bHQgTm9uVGVybWluYWxOb2RlTWFwO1xuIl0sIm5hbWVzIjpbIk5vblRlcm1pbmFsTm9kZSIsIk5vblRlcm1pbmFsTm9kZUJhc2UiLCJPYmplY3QiLCJhc3NpZ24iLCJwcm90b3R5cGUiLCJub2RlTWl4aW5zIiwiTm9uVGVybWluYWxOb2RlTWFwIiwiVEVSTV9SVUxFX05BTUUiLCJTVEFURU1FTlRfUlVMRV9OQU1FIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFpQkE7OztlQUFBOzs7dUNBZnVEOzZEQUVoQzsyQkFFNkI7Ozs7OztBQUVwRCxNQUFNQSx3QkFBd0JDLHNDQUFtQjtBQUFFO0FBRW5EQyxPQUFPQyxNQUFNLENBQUNILGdCQUFnQkksU0FBUyxFQUFFQyxhQUFVO0FBRW5ELE1BQU1DLHFCQUFxQjtJQUN6QixDQUFDQyx5QkFBYyxDQUFDLEVBQUVQO0lBQ2xCLENBQUNRLDhCQUFtQixDQUFDLEVBQUVSO0FBQ3pCO01BRUEsV0FBZU0ifQ==
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  const _occamgrammars = require("occam-grammars");
12
12
  const _nonTerminalNode = /*#__PURE__*/ _interop_require_default(require("../nonTerminalNode"));
13
+ const _nonTerminalNodeMap = /*#__PURE__*/ _interop_require_default(require("./nonTerminalNodeMap"));
13
14
  function _interop_require_default(obj) {
14
15
  return obj && obj.__esModule ? obj : {
15
16
  default: obj
@@ -17,6 +18,7 @@ function _interop_require_default(obj) {
17
18
  }
18
19
  class NominalParser extends _occamgrammars.NominalParser {
19
20
  static defaultNonTerminalNode = _nonTerminalNode.default;
21
+ static NonTerminalNodeMap = _nonTerminalNodeMap.default;
20
22
  }
21
23
 
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub21pbmFsL3BhcnNlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgTm9taW5hbFBhcnNlciBhcyBOb21pbmFsUGFyc2VyQmFzZSB9IGZyb20gXCJvY2NhbS1ncmFtbWFyc1wiO1xuXG5pbXBvcnQgTm9uVGVybWluYWxOb2RlIGZyb20gXCIuLi9ub25UZXJtaW5hbE5vZGVcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTm9taW5hbFBhcnNlciBleHRlbmRzIE5vbWluYWxQYXJzZXJCYXNlIHtcbiAgc3RhdGljIGRlZmF1bHROb25UZXJtaW5hbE5vZGUgPSBOb25UZXJtaW5hbE5vZGU7ICAvLy9cbn1cbiJdLCJuYW1lcyI6WyJOb21pbmFsUGFyc2VyIiwiTm9taW5hbFBhcnNlckJhc2UiLCJkZWZhdWx0Tm9uVGVybWluYWxOb2RlIiwiTm9uVGVybWluYWxOb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFNQTs7O2VBQXFCQTs7OytCQUo4Qjt3RUFFdkI7Ozs7OztBQUViLE1BQU1BLHNCQUFzQkMsNEJBQWlCO0lBQzFELE9BQU9DLHlCQUF5QkMsd0JBQWUsQ0FBQztBQUNsRCJ9
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub21pbmFsL3BhcnNlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgTm9taW5hbFBhcnNlciBhcyBOb21pbmFsUGFyc2VyQmFzZSB9IGZyb20gXCJvY2NhbS1ncmFtbWFyc1wiO1xuXG5pbXBvcnQgTm9uVGVybWluYWxOb2RlIGZyb20gXCIuLi9ub25UZXJtaW5hbE5vZGVcIjtcbmltcG9ydCBOb25UZXJtaW5hbE5vZGVNYXAgZnJvbSBcIi4vbm9uVGVybWluYWxOb2RlTWFwXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5vbWluYWxQYXJzZXIgZXh0ZW5kcyBOb21pbmFsUGFyc2VyQmFzZSB7XG4gIHN0YXRpYyBkZWZhdWx0Tm9uVGVybWluYWxOb2RlID0gTm9uVGVybWluYWxOb2RlOyAgLy8vXG5cbiAgc3RhdGljIE5vblRlcm1pbmFsTm9kZU1hcCA9IE5vblRlcm1pbmFsTm9kZU1hcDtcbn1cbiJdLCJuYW1lcyI6WyJOb21pbmFsUGFyc2VyIiwiTm9taW5hbFBhcnNlckJhc2UiLCJkZWZhdWx0Tm9uVGVybWluYWxOb2RlIiwiTm9uVGVybWluYWxOb2RlIiwiTm9uVGVybWluYWxOb2RlTWFwIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFPQTs7O2VBQXFCQTs7OytCQUw4Qjt3RUFFdkI7MkVBQ0c7Ozs7OztBQUVoQixNQUFNQSxzQkFBc0JDLDRCQUFpQjtJQUMxRCxPQUFPQyx5QkFBeUJDLHdCQUFlLENBQUM7SUFFaEQsT0FBT0MscUJBQXFCQSwyQkFBa0IsQ0FBQztBQUNqRCJ9
@@ -8,106 +8,18 @@ Object.defineProperty(exports, "default", {
8
8
  return NonTerminalNode;
9
9
  }
10
10
  });
11
- const _necessary = require("necessary");
12
11
  const _occamparsers = require("occam-parsers");
13
- const { first } = _necessary.arrayUtilities;
12
+ const _node = /*#__PURE__*/ _interop_require_default(require("./mixins/node"));
13
+ function _interop_require_default(obj) {
14
+ return obj && obj.__esModule ? obj : {
15
+ default: obj
16
+ };
17
+ }
14
18
  class NonTerminalNode extends _occamparsers.NonTerminalNode {
15
- someTerminalNode(callback, tokenType) {
16
- let index = 0;
17
- return this.someChildNode((childNode)=>{
18
- const childNodeTerminalNode = childNode.isTerminalNode();
19
- if (childNodeTerminalNode) {
20
- const terminalNode = childNode, terminalNodeType = terminalNode.getType();
21
- if (terminalNodeType === tokenType) {
22
- return callback(terminalNode, index++);
23
- }
24
- }
25
- });
26
- }
27
- getNodeByRuleName(...ruleNames) {
28
- const node = this.findChildNode((childNode)=>{
29
- const childNodeNonTerminalNode = childNode.isNonTerminalNode();
30
- if (childNodeNonTerminalNode) {
31
- const nonTerminalNode = childNode, ruleName = nonTerminalNode.getRuleName(), ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
32
- if (ruleNamesIncludesRuleName) {
33
- return true;
34
- }
35
- }
36
- }) || null;
37
- return node;
38
- }
39
- getNodesByRuleName(...ruleNames) {
40
- const nodes = this.filterChildNode((childNode)=>{
41
- const childNodeNonTerminalNode = childNode.isNonTerminalNode();
42
- if (childNodeNonTerminalNode) {
43
- const nonTerminalNode = childNode, ruleName = nonTerminalNode.getRuleName(), ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
44
- if (ruleNamesIncludesRuleName) {
45
- return true;
46
- }
47
- }
48
- });
49
- return nodes;
50
- }
51
- getLastNodeByRuleName(...ruleNames) {
52
- let lastNode = null;
53
- this.backwardsSomeChildNode((childNode)=>{
54
- const childNodeNonTerminalNode = childNode.isNonTerminalNode();
55
- if (childNodeNonTerminalNode) {
56
- const nonTerminalNode = childNode, ruleName = nonTerminalNode.getRuleName(), ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
57
- if (ruleNamesIncludesRuleName) {
58
- lastNode = childNode; ///
59
- return true;
60
- }
61
- }
62
- });
63
- return lastNode;
64
- }
65
- getFirstNodeByRuleName(...ruleNames) {
66
- let firstNode = null;
67
- this.forwardsSomeChildNode((childNode)=>{
68
- const childNodeNonTerminalNode = childNode.isNonTerminalNode();
69
- if (childNodeNonTerminalNode) {
70
- const nonTerminalNode = childNode, ruleName = nonTerminalNode.getRuleName(), ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
71
- if (ruleNamesIncludesRuleName) {
72
- firstNode = childNode; ///
73
- return true;
74
- }
75
- }
76
- });
77
- return firstNode;
78
- }
79
- getSingularNodeByRuleName(...ruleNames) {
80
- let singularNode = null;
81
- const nodes = this.filterChildNode((childNode)=>{
82
- const childNodeNonTerminalNode = childNode.isNonTerminalNode();
83
- if (childNodeNonTerminalNode) {
84
- const nonTerminalNode = childNode, ruleName = nonTerminalNode.getRuleName(), ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
85
- if (ruleNamesIncludesRuleName) {
86
- return true;
87
- }
88
- }
89
- }), nodesLength = nodes.length;
90
- if (nodesLength === 1) {
91
- const firstNode = first(nodes);
92
- singularNode = firstNode; ///
93
- }
94
- return singularNode;
95
- }
96
- getDescendantNodesByRuleName(...ruleNames) {
97
- const nodes = this.filterDescendantNode((descendantNode)=>{
98
- const descendantNodeNonTerminalNode = descendantNode.isNonTerminalNode();
99
- if (descendantNodeNonTerminalNode) {
100
- const nonTerminalNode = descendantNode, ruleName = nonTerminalNode.getRuleName(), ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
101
- if (ruleNamesIncludesRuleName) {
102
- return true;
103
- }
104
- }
105
- });
106
- return nodes;
107
- }
108
19
  static fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence) {
109
20
  return _occamparsers.NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence);
110
21
  }
111
22
  }
23
+ Object.assign(NonTerminalNode.prototype, _node.default);
112
24
 
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ub25UZXJtaW5hbE5vZGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgeyBOb25UZXJtaW5hbE5vZGUgYXMgTm9uVGVybWluYWxOb2RlQmFzZSB9IGZyb20gXCJvY2NhbS1wYXJzZXJzXCI7XG5cbmNvbnN0IHsgZmlyc3QgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOb25UZXJtaW5hbE5vZGUgZXh0ZW5kcyBOb25UZXJtaW5hbE5vZGVCYXNlIHtcbiAgc29tZVRlcm1pbmFsTm9kZShjYWxsYmFjaywgdG9rZW5UeXBlKSB7XG4gICAgbGV0IGluZGV4ID0gMDtcblxuICAgIHJldHVybiB0aGlzLnNvbWVDaGlsZE5vZGUoKGNoaWxkTm9kZSkgPT4ge1xuICAgICAgY29uc3QgY2hpbGROb2RlVGVybWluYWxOb2RlID0gY2hpbGROb2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgICAgIGlmIChjaGlsZE5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgICAgY29uc3QgdGVybWluYWxOb2RlID0gY2hpbGROb2RlLCAvLy9cbiAgICAgICAgICAgICAgdGVybWluYWxOb2RlVHlwZSA9IHRlcm1pbmFsTm9kZS5nZXRUeXBlKCk7XG5cbiAgICAgICAgaWYgKHRlcm1pbmFsTm9kZVR5cGUgPT09IHRva2VuVHlwZSkge1xuICAgICAgICAgIHJldHVybiBjYWxsYmFjayh0ZXJtaW5hbE5vZGUsIGluZGV4KyspO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXROb2RlQnlSdWxlTmFtZSguLi5ydWxlTmFtZXMpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcy5maW5kQ2hpbGROb2RlKChjaGlsZE5vZGUpID0+IHtcbiAgICAgIGNvbnN0IGNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSA9IGNoaWxkTm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgICBpZiAoY2hpbGROb2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IGNoaWxkTm9kZSwgLy8vXG4gICAgICAgICAgICAgIHJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlLmdldFJ1bGVOYW1lKCksXG4gICAgICAgICAgICAgIHJ1bGVOYW1lc0luY2x1ZGVzUnVsZU5hbWUgPSBydWxlTmFtZXMuaW5jbHVkZXMocnVsZU5hbWUpO1xuXG4gICAgICAgIGlmIChydWxlTmFtZXNJbmNsdWRlc1J1bGVOYW1lKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KSB8fCBudWxsO1xuXG4gICAgcmV0dXJuIG5vZGU7XG4gIH1cblxuICBnZXROb2Rlc0J5UnVsZU5hbWUoLi4ucnVsZU5hbWVzKSB7XG4gICAgY29uc3Qgbm9kZXMgPSB0aGlzLmZpbHRlckNoaWxkTm9kZSgoY2hpbGROb2RlKSA9PiB7XG4gICAgICBjb25zdCBjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgICAgaWYgKGNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUsIC8vL1xuICAgICAgICAgICAgICBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgICBydWxlTmFtZXNJbmNsdWRlc1J1bGVOYW1lID0gcnVsZU5hbWVzLmluY2x1ZGVzKHJ1bGVOYW1lKTtcblxuICAgICAgICBpZiAocnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbm9kZXM7XG4gIH1cblxuICBnZXRMYXN0Tm9kZUJ5UnVsZU5hbWUoLi4ucnVsZU5hbWVzKSB7XG4gICAgbGV0IGxhc3ROb2RlID0gbnVsbDtcblxuICAgIHRoaXMuYmFja3dhcmRzU29tZUNoaWxkTm9kZSgoY2hpbGROb2RlKSA9PiB7XG4gICAgICBjb25zdCBjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgICAgaWYgKGNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUsIC8vL1xuICAgICAgICAgICAgICBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgICBydWxlTmFtZXNJbmNsdWRlc1J1bGVOYW1lID0gcnVsZU5hbWVzLmluY2x1ZGVzKHJ1bGVOYW1lKTtcblxuICAgICAgICBpZiAocnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSkge1xuICAgICAgICAgIGxhc3ROb2RlID0gY2hpbGROb2RlOyAvLy9cblxuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbGFzdE5vZGU7XG4gIH1cblxuICBnZXRGaXJzdE5vZGVCeVJ1bGVOYW1lKC4uLnJ1bGVOYW1lcykge1xuICAgIGxldCBmaXJzdE5vZGUgPSBudWxsO1xuXG4gICAgdGhpcy5mb3J3YXJkc1NvbWVDaGlsZE5vZGUoKGNoaWxkTm9kZSkgPT4ge1xuICAgICAgY29uc3QgY2hpbGROb2RlTm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICAgIGlmIChjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUpIHtcbiAgICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLCAvLy9cbiAgICAgICAgICAgICAgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICAgICAgcnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSA9IHJ1bGVOYW1lcy5pbmNsdWRlcyhydWxlTmFtZSk7XG5cbiAgICAgICAgaWYgKHJ1bGVOYW1lc0luY2x1ZGVzUnVsZU5hbWUpIHtcbiAgICAgICAgICBmaXJzdE5vZGUgPSBjaGlsZE5vZGU7IC8vL1xuXG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBmaXJzdE5vZGU7XG4gIH1cblxuICBnZXRTaW5ndWxhck5vZGVCeVJ1bGVOYW1lKC4uLnJ1bGVOYW1lcykge1xuICAgIGxldCBzaW5ndWxhck5vZGUgPSBudWxsO1xuXG4gICAgY29uc3Qgbm9kZXMgPSB0aGlzLmZpbHRlckNoaWxkTm9kZSgoY2hpbGROb2RlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgICAgICAgICAgaWYgKGNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgICAgICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUsIC8vL1xuICAgICAgICAgICAgICAgICAgICBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgICAgICAgICBydWxlTmFtZXNJbmNsdWRlc1J1bGVOYW1lID0gcnVsZU5hbWVzLmluY2x1ZGVzKHJ1bGVOYW1lKTtcblxuICAgICAgICAgICAgICBpZiAocnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSksXG4gICAgICAgICAgbm9kZXNMZW5ndGggPSBub2Rlcy5sZW5ndGg7XG5cbiAgICBpZiAobm9kZXNMZW5ndGggPT09IDEpIHtcbiAgICAgIGNvbnN0IGZpcnN0Tm9kZSA9IGZpcnN0KG5vZGVzKTtcblxuICAgICAgc2luZ3VsYXJOb2RlID0gZmlyc3ROb2RlOyAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gc2luZ3VsYXJOb2RlO1xuICB9XG5cbiAgZ2V0RGVzY2VuZGFudE5vZGVzQnlSdWxlTmFtZSguLi5ydWxlTmFtZXMpIHtcbiAgICBjb25zdCBub2RlcyA9IHRoaXMuZmlsdGVyRGVzY2VuZGFudE5vZGUoKGRlc2NlbmRhbnROb2RlKSA9PiB7XG4gICAgICBjb25zdCBkZXNjZW5kYW50Tm9kZU5vblRlcm1pbmFsTm9kZSA9IGRlc2NlbmRhbnROb2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICAgIGlmIChkZXNjZW5kYW50Tm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBkZXNjZW5kYW50Tm9kZSwgLy8vXG4gICAgICAgICAgICAgIHJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlLmdldFJ1bGVOYW1lKCksXG4gICAgICAgICAgICAgIHJ1bGVOYW1lc0luY2x1ZGVzUnVsZU5hbWUgPSBydWxlTmFtZXMuaW5jbHVkZXMocnVsZU5hbWUpO1xuXG4gICAgICAgIGlmIChydWxlTmFtZXNJbmNsdWRlc1J1bGVOYW1lKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBub2RlcztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UoQ2xhc3MsIHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBwcmVjZWRlbmNlKSB7IHJldHVybiBOb25UZXJtaW5hbE5vZGVCYXNlLmZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZShDbGFzcywgcnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UpOyB9XG59XG4iXSwibmFtZXMiOlsiTm9uVGVybWluYWxOb2RlIiwiZmlyc3QiLCJhcnJheVV0aWxpdGllcyIsIk5vblRlcm1pbmFsTm9kZUJhc2UiLCJzb21lVGVybWluYWxOb2RlIiwiY2FsbGJhY2siLCJ0b2tlblR5cGUiLCJpbmRleCIsInNvbWVDaGlsZE5vZGUiLCJjaGlsZE5vZGUiLCJjaGlsZE5vZGVUZXJtaW5hbE5vZGUiLCJpc1Rlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZVR5cGUiLCJnZXRUeXBlIiwiZ2V0Tm9kZUJ5UnVsZU5hbWUiLCJydWxlTmFtZXMiLCJub2RlIiwiZmluZENoaWxkTm9kZSIsImNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSIsImlzTm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlIiwicnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsInJ1bGVOYW1lc0luY2x1ZGVzUnVsZU5hbWUiLCJpbmNsdWRlcyIsImdldE5vZGVzQnlSdWxlTmFtZSIsIm5vZGVzIiwiZmlsdGVyQ2hpbGROb2RlIiwiZ2V0TGFzdE5vZGVCeVJ1bGVOYW1lIiwibGFzdE5vZGUiLCJiYWNrd2FyZHNTb21lQ2hpbGROb2RlIiwiZ2V0Rmlyc3ROb2RlQnlSdWxlTmFtZSIsImZpcnN0Tm9kZSIsImZvcndhcmRzU29tZUNoaWxkTm9kZSIsImdldFNpbmd1bGFyTm9kZUJ5UnVsZU5hbWUiLCJzaW5ndWxhck5vZGUiLCJub2Rlc0xlbmd0aCIsImxlbmd0aCIsImdldERlc2NlbmRhbnROb2Rlc0J5UnVsZU5hbWUiLCJmaWx0ZXJEZXNjZW5kYW50Tm9kZSIsImRlc2NlbmRhbnROb2RlIiwiZGVzY2VuZGFudE5vZGVOb25UZXJtaW5hbE5vZGUiLCJmcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UiLCJDbGFzcyIsImNoaWxkTm9kZXMiLCJvcGFjaXR5IiwicHJlY2VkZW5jZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBUUE7OztlQUFxQkE7OzsyQkFO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
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ub25UZXJtaW5hbE5vZGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IE5vblRlcm1pbmFsTm9kZSBhcyBOb25UZXJtaW5hbE5vZGVCYXNlIH0gZnJvbSBcIm9jY2FtLXBhcnNlcnNcIjtcblxuaW1wb3J0IG5vZGVNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL25vZGVcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTm9uVGVybWluYWxOb2RlIGV4dGVuZHMgTm9uVGVybWluYWxOb2RlQmFzZSB7XG4gIHN0YXRpYyBmcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UoQ2xhc3MsIHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBwcmVjZWRlbmNlKSB7IHJldHVybiBOb25UZXJtaW5hbE5vZGVCYXNlLmZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZShDbGFzcywgcnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UpOyB9XG59XG5cbk9iamVjdC5hc3NpZ24oTm9uVGVybWluYWxOb2RlLnByb3RvdHlwZSwgbm9kZU1peGlucyk7XG4iXSwibmFtZXMiOlsiTm9uVGVybWluYWxOb2RlIiwiTm9uVGVybWluYWxOb2RlQmFzZSIsImZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZSIsIkNsYXNzIiwicnVsZU5hbWUiLCJjaGlsZE5vZGVzIiwib3BhY2l0eSIsInByZWNlZGVuY2UiLCJPYmplY3QiLCJhc3NpZ24iLCJwcm90b3R5cGUiLCJub2RlTWl4aW5zIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFNQTs7O2VBQXFCQTs7OzhCQUprQzs2REFFaEM7Ozs7OztBQUVSLE1BQU1BLHdCQUF3QkMsNkJBQW1CO0lBQzlELE9BQU9DLDJDQUEyQ0MsS0FBSyxFQUFFQyxRQUFRLEVBQUVDLFVBQVUsRUFBRUMsT0FBTyxFQUFFQyxVQUFVLEVBQUU7UUFBRSxPQUFPTiw2QkFBbUIsQ0FBQ0MsMENBQTBDLENBQUNDLE9BQU9DLFVBQVVDLFlBQVlDLFNBQVNDO0lBQWE7QUFDak87QUFFQUMsT0FBT0MsTUFBTSxDQUFDVCxnQkFBZ0JVLFNBQVMsRUFBRUMsYUFBVSJ9
@@ -0,0 +1,22 @@
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: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get STATEMENT_RULE_NAME () {
13
+ return STATEMENT_RULE_NAME;
14
+ },
15
+ get TERM_RULE_NAME () {
16
+ return TERM_RULE_NAME;
17
+ }
18
+ });
19
+ const TERM_RULE_NAME = "term";
20
+ const STATEMENT_RULE_NAME = "statement";
21
+
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWxlTmFtZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBURVJNX1JVTEVfTkFNRSA9IFwidGVybVwiO1xuZXhwb3J0IGNvbnN0IFNUQVRFTUVOVF9SVUxFX05BTUUgPSBcInN0YXRlbWVudFwiO1xuIl0sIm5hbWVzIjpbIlNUQVRFTUVOVF9SVUxFX05BTUUiLCJURVJNX1JVTEVfTkFNRSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBR2FBO2VBQUFBOztRQURBQztlQUFBQTs7O0FBQU4sTUFBTUEsaUJBQWlCO0FBQ3ZCLE1BQU1ELHNCQUFzQiJ9
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-languages",
3
3
  "author": "James Smith",
4
- "version": "0.0.293",
4
+ "version": "1.0.1",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-languages",
7
7
  "description": "Occam's common language functionality.",
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ import { NonTerminalNode as NonTerminalNodeBase } from "occam-grammar-utilities";
4
+
5
+ import nodeMixins from "../mixins/node";
6
+
7
+ import { TERM_RULE_NAME } from "../ruleNames";
8
+
9
+ class NonTerminalNode extends NonTerminalNodeBase {}
10
+
11
+ Object.assign(NonTerminalNode.prototype, nodeMixins);
12
+
13
+ const NonTerminalNodeMap = {
14
+ [TERM_RULE_NAME]: NonTerminalNode
15
+ };
16
+
17
+ export default NonTerminalNodeMap;
@@ -3,7 +3,10 @@
3
3
  import { FurtleParser as FurtleParserBase } from "occam-grammars";
4
4
 
5
5
  import NonTerminalNode from "../nonTerminalNode";
6
+ import NonTerminalNodeMap from "./nonTerminalNodeMap";
6
7
 
7
8
  export default class FurtleParser extends FurtleParserBase {
8
9
  static defaultNonTerminalNode = NonTerminalNode; ///
10
+
11
+ static NonTerminalNodeMap = NonTerminalNodeMap;
9
12
  }
package/src/index.js CHANGED
@@ -6,7 +6,6 @@ export { default as Context } from "./context";
6
6
  export { default as BreakPoint } from "./breakPoint";
7
7
  export { default as FileContext } from "./context/file";
8
8
  export { default as ReleaseContext } from "./context/release";
9
- export { default as NonTerminalNode } from "./nonTerminalNode";
10
9
 
11
10
  export { default as ZipPass } from "./pass/zip";
12
11
  export { default as AsyncPass } from "./pass/async";
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+
3
+ import { arrayUtilities } from "necessary";
4
+
5
+ const { first } = arrayUtilities;
6
+
7
+ function someTerminalNode(callback, tokenType) {
8
+ let index = 0;
9
+
10
+ return this.someChildNode((childNode) => {
11
+ const childNodeTerminalNode = childNode.isTerminalNode();
12
+
13
+ if (childNodeTerminalNode) {
14
+ const terminalNode = childNode, ///
15
+ terminalNodeType = terminalNode.getType();
16
+
17
+ if (terminalNodeType === tokenType) {
18
+ return callback(terminalNode, index++);
19
+ }
20
+ }
21
+ });
22
+ }
23
+
24
+ function getNodeByRuleName(...ruleNames) {
25
+ const node = this.findChildNode((childNode) => {
26
+ const childNodeNonTerminalNode = childNode.isNonTerminalNode();
27
+
28
+ if (childNodeNonTerminalNode) {
29
+ const nonTerminalNode = childNode, ///
30
+ ruleName = nonTerminalNode.getRuleName(),
31
+ ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
32
+
33
+ if (ruleNamesIncludesRuleName) {
34
+ return true;
35
+ }
36
+ }
37
+ }) || null;
38
+
39
+ return node;
40
+ }
41
+
42
+ function getNodesByRuleName(...ruleNames) {
43
+ const nodes = this.filterChildNode((childNode) => {
44
+ const childNodeNonTerminalNode = childNode.isNonTerminalNode();
45
+
46
+ if (childNodeNonTerminalNode) {
47
+ const nonTerminalNode = childNode, ///
48
+ ruleName = nonTerminalNode.getRuleName(),
49
+ ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
50
+
51
+ if (ruleNamesIncludesRuleName) {
52
+ return true;
53
+ }
54
+ }
55
+ });
56
+
57
+ return nodes;
58
+ }
59
+
60
+ function getLastNodeByRuleName(...ruleNames) {
61
+ let lastNode = null;
62
+
63
+ this.backwardsSomeChildNode((childNode) => {
64
+ const childNodeNonTerminalNode = childNode.isNonTerminalNode();
65
+
66
+ if (childNodeNonTerminalNode) {
67
+ const nonTerminalNode = childNode, ///
68
+ ruleName = nonTerminalNode.getRuleName(),
69
+ ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
70
+
71
+ if (ruleNamesIncludesRuleName) {
72
+ lastNode = childNode; ///
73
+
74
+ return true;
75
+ }
76
+ }
77
+ });
78
+
79
+ return lastNode;
80
+ }
81
+
82
+ function getFirstNodeByRuleName(...ruleNames) {
83
+ let firstNode = null;
84
+
85
+ this.forwardsSomeChildNode((childNode) => {
86
+ const childNodeNonTerminalNode = childNode.isNonTerminalNode();
87
+
88
+ if (childNodeNonTerminalNode) {
89
+ const nonTerminalNode = childNode, ///
90
+ ruleName = nonTerminalNode.getRuleName(),
91
+ ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
92
+
93
+ if (ruleNamesIncludesRuleName) {
94
+ firstNode = childNode; ///
95
+
96
+ return true;
97
+ }
98
+ }
99
+ });
100
+
101
+ return firstNode;
102
+ }
103
+
104
+ function getSingularNodeByRuleName(...ruleNames) {
105
+ let singularNode = null;
106
+
107
+ const nodes = this.filterChildNode((childNode) => {
108
+ const childNodeNonTerminalNode = childNode.isNonTerminalNode();
109
+
110
+ if (childNodeNonTerminalNode) {
111
+ const nonTerminalNode = childNode, ///
112
+ ruleName = nonTerminalNode.getRuleName(),
113
+ ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
114
+
115
+ if (ruleNamesIncludesRuleName) {
116
+ return true;
117
+ }
118
+ }
119
+ }),
120
+ nodesLength = nodes.length;
121
+
122
+ if (nodesLength === 1) {
123
+ const firstNode = first(nodes);
124
+
125
+ singularNode = firstNode; ///
126
+ }
127
+
128
+ return singularNode;
129
+ }
130
+
131
+ function getDescendantNodesByRuleName(...ruleNames) {
132
+ const nodes = this.filterDescendantNode((descendantNode) => {
133
+ const descendantNodeNonTerminalNode = descendantNode.isNonTerminalNode();
134
+
135
+ if (descendantNodeNonTerminalNode) {
136
+ const nonTerminalNode = descendantNode, ///
137
+ ruleName = nonTerminalNode.getRuleName(),
138
+ ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
139
+
140
+ if (ruleNamesIncludesRuleName) {
141
+ return true;
142
+ }
143
+ }
144
+ });
145
+
146
+ return nodes;
147
+ }
148
+
149
+ const nodeMixins = {
150
+ someTerminalNode,
151
+ getNodeByRuleName,
152
+ getNodesByRuleName,
153
+ getLastNodeByRuleName,
154
+ getFirstNodeByRuleName,
155
+ getSingularNodeByRuleName,
156
+ getDescendantNodesByRuleName
157
+ };
158
+
159
+ export default nodeMixins;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ import { NonTerminalNode as NonTerminalNodeBase } from "occam-grammar-utilities";
4
+
5
+ import nodeMixins from "../mixins/node";
6
+
7
+ import { TERM_RULE_NAME, STATEMENT_RULE_NAME } from "../ruleNames";
8
+
9
+ class NonTerminalNode extends NonTerminalNodeBase {}
10
+
11
+ Object.assign(NonTerminalNode.prototype, nodeMixins);
12
+
13
+ const NonTerminalNodeMap = {
14
+ [TERM_RULE_NAME]: NonTerminalNode,
15
+ [STATEMENT_RULE_NAME]: NonTerminalNode
16
+ };
17
+
18
+ export default NonTerminalNodeMap;
@@ -3,7 +3,10 @@
3
3
  import { NominalParser as NominalParserBase } from "occam-grammars";
4
4
 
5
5
  import NonTerminalNode from "../nonTerminalNode";
6
+ import NonTerminalNodeMap from "./nonTerminalNodeMap";
6
7
 
7
8
  export default class NominalParser extends NominalParserBase {
8
9
  static defaultNonTerminalNode = NonTerminalNode; ///
10
+
11
+ static NonTerminalNodeMap = NonTerminalNodeMap;
9
12
  }
@@ -1,153 +1,11 @@
1
1
  "use strict";
2
2
 
3
- import { arrayUtilities } from "necessary";
4
-
5
3
  import { NonTerminalNode as NonTerminalNodeBase } from "occam-parsers";
6
4
 
7
- const { first } = arrayUtilities;
5
+ import nodeMixins from "./mixins/node";
8
6
 
9
7
  export default class NonTerminalNode extends NonTerminalNodeBase {
10
- someTerminalNode(callback, tokenType) {
11
- let index = 0;
12
-
13
- return this.someChildNode((childNode) => {
14
- const childNodeTerminalNode = childNode.isTerminalNode();
15
-
16
- if (childNodeTerminalNode) {
17
- const terminalNode = childNode, ///
18
- terminalNodeType = terminalNode.getType();
19
-
20
- if (terminalNodeType === tokenType) {
21
- return callback(terminalNode, index++);
22
- }
23
- }
24
- });
25
- }
26
-
27
- getNodeByRuleName(...ruleNames) {
28
- const node = this.findChildNode((childNode) => {
29
- const childNodeNonTerminalNode = childNode.isNonTerminalNode();
30
-
31
- if (childNodeNonTerminalNode) {
32
- const nonTerminalNode = childNode, ///
33
- ruleName = nonTerminalNode.getRuleName(),
34
- ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
35
-
36
- if (ruleNamesIncludesRuleName) {
37
- return true;
38
- }
39
- }
40
- }) || null;
41
-
42
- return node;
43
- }
44
-
45
- getNodesByRuleName(...ruleNames) {
46
- const nodes = this.filterChildNode((childNode) => {
47
- const childNodeNonTerminalNode = childNode.isNonTerminalNode();
48
-
49
- if (childNodeNonTerminalNode) {
50
- const nonTerminalNode = childNode, ///
51
- ruleName = nonTerminalNode.getRuleName(),
52
- ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
53
-
54
- if (ruleNamesIncludesRuleName) {
55
- return true;
56
- }
57
- }
58
- });
59
-
60
- return nodes;
61
- }
62
-
63
- getLastNodeByRuleName(...ruleNames) {
64
- let lastNode = null;
65
-
66
- this.backwardsSomeChildNode((childNode) => {
67
- const childNodeNonTerminalNode = childNode.isNonTerminalNode();
68
-
69
- if (childNodeNonTerminalNode) {
70
- const nonTerminalNode = childNode, ///
71
- ruleName = nonTerminalNode.getRuleName(),
72
- ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
73
-
74
- if (ruleNamesIncludesRuleName) {
75
- lastNode = childNode; ///
76
-
77
- return true;
78
- }
79
- }
80
- });
81
-
82
- return lastNode;
83
- }
84
-
85
- getFirstNodeByRuleName(...ruleNames) {
86
- let firstNode = null;
87
-
88
- this.forwardsSomeChildNode((childNode) => {
89
- const childNodeNonTerminalNode = childNode.isNonTerminalNode();
90
-
91
- if (childNodeNonTerminalNode) {
92
- const nonTerminalNode = childNode, ///
93
- ruleName = nonTerminalNode.getRuleName(),
94
- ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
95
-
96
- if (ruleNamesIncludesRuleName) {
97
- firstNode = childNode; ///
98
-
99
- return true;
100
- }
101
- }
102
- });
103
-
104
- return firstNode;
105
- }
106
-
107
- getSingularNodeByRuleName(...ruleNames) {
108
- let singularNode = null;
109
-
110
- const nodes = this.filterChildNode((childNode) => {
111
- const childNodeNonTerminalNode = childNode.isNonTerminalNode();
112
-
113
- if (childNodeNonTerminalNode) {
114
- const nonTerminalNode = childNode, ///
115
- ruleName = nonTerminalNode.getRuleName(),
116
- ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
117
-
118
- if (ruleNamesIncludesRuleName) {
119
- return true;
120
- }
121
- }
122
- }),
123
- nodesLength = nodes.length;
124
-
125
- if (nodesLength === 1) {
126
- const firstNode = first(nodes);
127
-
128
- singularNode = firstNode; ///
129
- }
130
-
131
- return singularNode;
132
- }
133
-
134
- getDescendantNodesByRuleName(...ruleNames) {
135
- const nodes = this.filterDescendantNode((descendantNode) => {
136
- const descendantNodeNonTerminalNode = descendantNode.isNonTerminalNode();
137
-
138
- if (descendantNodeNonTerminalNode) {
139
- const nonTerminalNode = descendantNode, ///
140
- ruleName = nonTerminalNode.getRuleName(),
141
- ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
142
-
143
- if (ruleNamesIncludesRuleName) {
144
- return true;
145
- }
146
- }
147
- });
148
-
149
- return nodes;
150
- }
151
-
152
8
  static fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence) { return NonTerminalNodeBase.fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence); }
153
9
  }
10
+
11
+ Object.assign(NonTerminalNode.prototype, nodeMixins);
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export const TERM_RULE_NAME = "term";
4
+ export const STATEMENT_RULE_NAME = "statement";