occam-grammars 1.3.171 → 1.3.175

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.
@@ -113,7 +113,7 @@ var FurtleView = /*#__PURE__*/ function(View) {
113
113
  {
114
114
  key: "getTokens",
115
115
  value: function getTokens() {
116
- var lexicalEntries = this.getLexicalEntries(), entries = lexicalEntries, furtleLexer = furtleLexerFromEntries(entries), lexer = furtleLexer, content = this.getContent(), tokens = lexer.tokenise(content);
116
+ var lexicalEntries = this.getLexicalEntries(), entries = lexicalEntries, augmented = false, furtleLexer = furtleLexerFromEntries(entries, augmented), lexer = furtleLexer, content = this.getContent(), tokens = lexer.tokenise(content);
117
117
  return tokens;
118
118
  }
119
119
  },
@@ -121,7 +121,7 @@ var FurtleView = /*#__PURE__*/ function(View) {
121
121
  key: "getParseTree",
122
122
  value: function getParseTree(tokens) {
123
123
  var parseTree = null;
124
- var bnf = this.getBNF(), ruleName = this.getRuleName(), startRuleName = ruleName, furtleParser = furtleParserFromBNFAndStartRuleName(bnf, startRuleName), parser = furtleParser, node = parser.parse(tokens);
124
+ var bnf = this.getBNF(), ruleName = this.getRuleName(), startRuleName = ruleName, augmented = false, furtleParser = furtleParserFromBNFAndStartRuleName(bnf, startRuleName, augmented), parser = furtleParser, node = parser.parse(tokens);
125
125
  if (node !== null) {
126
126
  parseTree = node.asParseTree(tokens);
127
127
  }
@@ -144,9 +144,9 @@ var FurtleView = /*#__PURE__*/ function(View) {
144
144
  return FurtleView;
145
145
  }(_view.default);
146
146
  _define_property(FurtleView, "readOnly", false);
147
- _define_property(FurtleView, "initialContent", "{\n { String content } = foo;\n}");
147
+ _define_property(FurtleView, "initialContent", 'String boundVariableNameFromQualifiedStatementChildNodes(Nodes qualifiedStatementChildNodes) {\n [ _, Node argumentNode ] = qualifiedStatementChildNodes;\n\n Node boundVariableNameTerminalNode = nodeQuery(argumentNode, /argument/term/variable/@name);\n\n String boundVariableName = \n\n If (boundVariableNameTerminalNode != null)\n (String (Node boundVariableNameTerminalNode) {\n { String content As boundVariableName } = boundVariableNameTerminalNode;\n \n Return boundVariableName;\n })(boundVariableNameTerminalNode)\n\n Else\n ""\n ;\n \n Return boundVariableName;\n}\n');
148
148
  _define_property(FurtleView, "defaultProperties", {
149
149
  className: "furtle"
150
150
  });
151
151
 
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL3ZpZXcvZnVydGxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBsZXhlcnNVdGlsaXRpZXMsIHBhcnNlcnNVdGlsaXRpZXMgfSBmcm9tIFwiLi4vLi4vaW5kZXhcIjsgIC8vL1xuXG5pbXBvcnQgVmlldyBmcm9tIFwiLi4vdmlld1wiO1xuXG5pbXBvcnQgeyBibmZGcm9tTm90aGluZywgZW50cmllc0Zyb21Ob3RoaW5nIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9mdXJ0bGVcIjtcblxuY29uc3QgeyBmdXJ0bGVMZXhlckZyb21FbnRyaWVzIH0gPSBsZXhlcnNVdGlsaXRpZXMsXG4gICAgICB7IGZ1cnRsZVBhcnNlckZyb21CTkZBbmRTdGFydFJ1bGVOYW1lIH0gPSBwYXJzZXJzVXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGdXJ0bGVWaWV3IGV4dGVuZHMgVmlldyB7XG4gIGdldFRva2VucygpIHtcbiAgICBjb25zdCBsZXhpY2FsRW50cmllcyA9IHRoaXMuZ2V0TGV4aWNhbEVudHJpZXMoKSxcbiAgICAgICAgICBlbnRyaWVzID0gbGV4aWNhbEVudHJpZXMsIC8vLy9cbiAgICAgICAgICBmdXJ0bGVMZXhlciA9IGZ1cnRsZUxleGVyRnJvbUVudHJpZXMoZW50cmllcyksXG4gICAgICAgICAgbGV4ZXIgPSBmdXJ0bGVMZXhlciwgIC8vL1xuICAgICAgICAgIGNvbnRlbnQgPSB0aGlzLmdldENvbnRlbnQoKSxcbiAgICAgICAgICB0b2tlbnMgPSBsZXhlci50b2tlbmlzZShjb250ZW50KTtcblxuICAgIHJldHVybiB0b2tlbnM7XG4gIH1cblxuICBnZXRQYXJzZVRyZWUodG9rZW5zKSB7XG4gICAgbGV0IHBhcnNlVHJlZSA9IG51bGw7XG5cbiAgICBjb25zdCBibmYgPSB0aGlzLmdldEJORigpLFxuICAgICAgICAgIHJ1bGVOYW1lID0gdGhpcy5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgIHN0YXJ0UnVsZU5hbWUgPSBydWxlTmFtZSwgLy8vXG4gICAgICAgICAgZnVydGxlUGFyc2VyID0gZnVydGxlUGFyc2VyRnJvbUJORkFuZFN0YXJ0UnVsZU5hbWUoYm5mLCBzdGFydFJ1bGVOYW1lKSxcbiAgICAgICAgICBwYXJzZXIgPSBmdXJ0bGVQYXJzZXIsIC8vL1xuICAgICAgICAgIG5vZGUgPSBwYXJzZXIucGFyc2UodG9rZW5zKTtcblxuICAgIGlmIChub2RlICE9PSBudWxsKSB7XG4gICAgICBwYXJzZVRyZWUgPSBub2RlLmFzUGFyc2VUcmVlKHRva2Vucyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcnNlVHJlZTtcbiAgfVxuXG4gIGluaXRpYWxpc2UoKSB7XG4gICAgdGhpcy5hc3NpZ25Db250ZXh0KCk7XG5cbiAgICBjb25zdCB7IGluaXRpYWxDb250ZW50LCBpbml0aWFsUnVsZU5hbWUgfSA9IHRoaXMuY29uc3RydWN0b3IsXG4gICAgICAgICAgYm5mID0gYm5mRnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBlbnRyaWVzID0gZW50cmllc0Zyb21Ob3RoaW5nKCksXG4gICAgICAgICAgY29udGVudCA9IGluaXRpYWxDb250ZW50LCAvLy9cbiAgICAgICAgICBydWxlTmFtZSA9IGluaXRpYWxSdWxlTmFtZSwgLy8vXG4gICAgICAgICAgbGV4aWNhbEVudHJpZXMgPSBlbnRyaWVzOyAvLy9cblxuICAgIHRoaXMuc2V0Qk5GKGJuZik7XG5cbiAgICB0aGlzLnNldENvbnRlbnQoY29udGVudCk7XG5cbiAgICB0aGlzLnNldFJ1bGVOYW1lKHJ1bGVOYW1lKTtcblxuICAgIHRoaXMuc2V0TGV4aWNhbEVudHJpZXMobGV4aWNhbEVudHJpZXMpO1xuXG4gICAgdGhpcy5rZXlVcEhhbmRsZXIoKTtcbiAgfVxuXG4gIHN0YXRpYyByZWFkT25seSA9IGZhbHNlO1xuXG4gIHN0YXRpYyBpbml0aWFsQ29udGVudCA9IGB7XG4gIHsgU3RyaW5nIGNvbnRlbnQgfSA9IGZvbztcbn1gO1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcGVydGllcyA9IHtcbiAgICBjbGFzc05hbWU6IFwiZnVydGxlXCJcbiAgfTtcbn1cbiJdLCJuYW1lcyI6WyJGdXJ0bGVWaWV3IiwiZnVydGxlTGV4ZXJGcm9tRW50cmllcyIsImxleGVyc1V0aWxpdGllcyIsImZ1cnRsZVBhcnNlckZyb21CTkZBbmRTdGFydFJ1bGVOYW1lIiwicGFyc2Vyc1V0aWxpdGllcyIsImdldFRva2VucyIsImxleGljYWxFbnRyaWVzIiwiZ2V0TGV4aWNhbEVudHJpZXMiLCJlbnRyaWVzIiwiZnVydGxlTGV4ZXIiLCJsZXhlciIsImNvbnRlbnQiLCJnZXRDb250ZW50IiwidG9rZW5zIiwidG9rZW5pc2UiLCJnZXRQYXJzZVRyZWUiLCJwYXJzZVRyZWUiLCJibmYiLCJnZXRCTkYiLCJydWxlTmFtZSIsImdldFJ1bGVOYW1lIiwic3RhcnRSdWxlTmFtZSIsImZ1cnRsZVBhcnNlciIsInBhcnNlciIsIm5vZGUiLCJwYXJzZSIsImFzUGFyc2VUcmVlIiwiaW5pdGlhbGlzZSIsImFzc2lnbkNvbnRleHQiLCJjb25zdHJ1Y3RvciIsImluaXRpYWxDb250ZW50IiwiaW5pdGlhbFJ1bGVOYW1lIiwiYm5mRnJvbU5vdGhpbmciLCJlbnRyaWVzRnJvbU5vdGhpbmciLCJzZXRCTkYiLCJzZXRDb250ZW50Iiwic2V0UnVsZU5hbWUiLCJzZXRMZXhpY2FsRW50cmllcyIsImtleVVwSGFuZGxlciIsIlZpZXciLCJyZWFkT25seSIsImRlZmF1bHRQcm9wZXJ0aWVzIiwiY2xhc3NOYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVdxQkE7OztxQkFUNkI7MkRBRWpDO3NCQUVrQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbkQsSUFBTSxBQUFFQyx5QkFBMkJDLHNCQUFlLENBQTFDRCx3QkFDRixBQUFFRSxzQ0FBd0NDLHVCQUFnQixDQUF4REQ7QUFFTyxJQUFBLEFBQU1ILDJCQUFOO2NBQU1BO2FBQUFBO2dDQUFBQTtlQUFOLGtCQUFNQTs7a0JBQUFBOztZQUNuQkssS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLGlCQUFpQixJQUFJLENBQUNDLGlCQUFpQixJQUN2Q0MsVUFBVUYsZ0JBQ1ZHLGNBQWNSLHVCQUF1Qk8sVUFDckNFLFFBQVFELGFBQ1JFLFVBQVUsSUFBSSxDQUFDQyxVQUFVLElBQ3pCQyxTQUFTSCxNQUFNSSxRQUFRLENBQUNIO2dCQUU5QixPQUFPRTtZQUNUOzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBLGFBQWFGLE1BQU07Z0JBQ2pCLElBQUlHLFlBQVk7Z0JBRWhCLElBQU1DLE1BQU0sSUFBSSxDQUFDQyxNQUFNLElBQ2pCQyxXQUFXLElBQUksQ0FBQ0MsV0FBVyxJQUMzQkMsZ0JBQWdCRixVQUNoQkcsZUFBZW5CLG9DQUFvQ2MsS0FBS0ksZ0JBQ3hERSxTQUFTRCxjQUNURSxPQUFPRCxPQUFPRSxLQUFLLENBQUNaO2dCQUUxQixJQUFJVyxTQUFTLE1BQU07b0JBQ2pCUixZQUFZUSxLQUFLRSxXQUFXLENBQUNiO2dCQUMvQjtnQkFFQSxPQUFPRztZQUNUOzs7WUFFQVcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQUksQ0FBQ0MsYUFBYTtnQkFFbEIsSUFBNEMsb0JBQUEsSUFBSSxDQUFDQyxXQUFXLEVBQXBEQyxpQkFBb0Msa0JBQXBDQSxnQkFBZ0JDLGtCQUFvQixrQkFBcEJBLGlCQUNsQmQsTUFBTWUsSUFBQUEsc0JBQWMsS0FDcEJ4QixVQUFVeUIsSUFBQUEsMEJBQWtCLEtBQzVCdEIsVUFBVW1CLGdCQUNWWCxXQUFXWSxpQkFDWHpCLGlCQUFpQkUsU0FBUyxHQUFHO2dCQUVuQyxJQUFJLENBQUMwQixNQUFNLENBQUNqQjtnQkFFWixJQUFJLENBQUNrQixVQUFVLENBQUN4QjtnQkFFaEIsSUFBSSxDQUFDeUIsV0FBVyxDQUFDakI7Z0JBRWpCLElBQUksQ0FBQ2tCLGlCQUFpQixDQUFDL0I7Z0JBRXZCLElBQUksQ0FBQ2dDLFlBQVk7WUFDbkI7OztXQWhEbUJ0QztFQUFtQnVDLGFBQUk7QUFrRDFDLGlCQWxEbUJ2QyxZQWtEWndDLFlBQVc7QUFFbEIsaUJBcERtQnhDLFlBb0RaOEIsa0JBQWtCO0FBSXpCLGlCQXhEbUI5QixZQXdEWnlDLHFCQUFvQjtJQUN6QkMsV0FBVztBQUNiIn0=
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL3ZpZXcvZnVydGxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBsZXhlcnNVdGlsaXRpZXMsIHBhcnNlcnNVdGlsaXRpZXMgfSBmcm9tIFwiLi4vLi4vaW5kZXhcIjsgIC8vL1xuXG5pbXBvcnQgVmlldyBmcm9tIFwiLi4vdmlld1wiO1xuXG5pbXBvcnQgeyBibmZGcm9tTm90aGluZywgZW50cmllc0Zyb21Ob3RoaW5nIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9mdXJ0bGVcIjtcblxuY29uc3QgeyBmdXJ0bGVMZXhlckZyb21FbnRyaWVzIH0gPSBsZXhlcnNVdGlsaXRpZXMsXG4gICAgICB7IGZ1cnRsZVBhcnNlckZyb21CTkZBbmRTdGFydFJ1bGVOYW1lIH0gPSBwYXJzZXJzVXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGdXJ0bGVWaWV3IGV4dGVuZHMgVmlldyB7XG4gIGdldFRva2VucygpIHtcbiAgICBjb25zdCBsZXhpY2FsRW50cmllcyA9IHRoaXMuZ2V0TGV4aWNhbEVudHJpZXMoKSxcbiAgICAgICAgICBlbnRyaWVzID0gbGV4aWNhbEVudHJpZXMsIC8vLy9cbiAgICAgICAgICBhdWdtZW50ZWQgPSBmYWxzZSxcbiAgICAgICAgICBmdXJ0bGVMZXhlciA9IGZ1cnRsZUxleGVyRnJvbUVudHJpZXMoZW50cmllcywgYXVnbWVudGVkKSxcbiAgICAgICAgICBsZXhlciA9IGZ1cnRsZUxleGVyLCAgLy8vXG4gICAgICAgICAgY29udGVudCA9IHRoaXMuZ2V0Q29udGVudCgpLFxuICAgICAgICAgIHRva2VucyA9IGxleGVyLnRva2VuaXNlKGNvbnRlbnQpO1xuXG4gICAgcmV0dXJuIHRva2VucztcbiAgfVxuXG4gIGdldFBhcnNlVHJlZSh0b2tlbnMpIHtcbiAgICBsZXQgcGFyc2VUcmVlID0gbnVsbDtcblxuICAgIGNvbnN0IGJuZiA9IHRoaXMuZ2V0Qk5GKCksXG4gICAgICAgICAgcnVsZU5hbWUgPSB0aGlzLmdldFJ1bGVOYW1lKCksXG4gICAgICAgICAgc3RhcnRSdWxlTmFtZSA9IHJ1bGVOYW1lLCAvLy9cbiAgICAgICAgICBhdWdtZW50ZWQgPSBmYWxzZSxcbiAgICAgICAgICBmdXJ0bGVQYXJzZXIgPSBmdXJ0bGVQYXJzZXJGcm9tQk5GQW5kU3RhcnRSdWxlTmFtZShibmYsIHN0YXJ0UnVsZU5hbWUsIGF1Z21lbnRlZCksXG4gICAgICAgICAgcGFyc2VyID0gZnVydGxlUGFyc2VyLCAvLy9cbiAgICAgICAgICBub2RlID0gcGFyc2VyLnBhcnNlKHRva2Vucyk7XG5cbiAgICBpZiAobm9kZSAhPT0gbnVsbCkge1xuICAgICAgcGFyc2VUcmVlID0gbm9kZS5hc1BhcnNlVHJlZSh0b2tlbnMpO1xuICAgIH1cblxuICAgIHJldHVybiBwYXJzZVRyZWU7XG4gIH1cblxuICBpbml0aWFsaXNlKCkge1xuICAgIHRoaXMuYXNzaWduQ29udGV4dCgpO1xuXG4gICAgY29uc3QgeyBpbml0aWFsQ29udGVudCwgaW5pdGlhbFJ1bGVOYW1lIH0gPSB0aGlzLmNvbnN0cnVjdG9yLFxuICAgICAgICAgIGJuZiA9IGJuZkZyb21Ob3RoaW5nKCksXG4gICAgICAgICAgZW50cmllcyA9IGVudHJpZXNGcm9tTm90aGluZygpLFxuICAgICAgICAgIGNvbnRlbnQgPSBpbml0aWFsQ29udGVudCwgLy8vXG4gICAgICAgICAgcnVsZU5hbWUgPSBpbml0aWFsUnVsZU5hbWUsIC8vL1xuICAgICAgICAgIGxleGljYWxFbnRyaWVzID0gZW50cmllczsgLy8vXG5cbiAgICB0aGlzLnNldEJORihibmYpO1xuXG4gICAgdGhpcy5zZXRDb250ZW50KGNvbnRlbnQpO1xuXG4gICAgdGhpcy5zZXRSdWxlTmFtZShydWxlTmFtZSk7XG5cbiAgICB0aGlzLnNldExleGljYWxFbnRyaWVzKGxleGljYWxFbnRyaWVzKTtcblxuICAgIHRoaXMua2V5VXBIYW5kbGVyKCk7XG4gIH1cblxuICBzdGF0aWMgcmVhZE9ubHkgPSBmYWxzZTtcblxuICBzdGF0aWMgaW5pdGlhbENvbnRlbnQgPSBgU3RyaW5nIGJvdW5kVmFyaWFibGVOYW1lRnJvbVF1YWxpZmllZFN0YXRlbWVudENoaWxkTm9kZXMoTm9kZXMgcXVhbGlmaWVkU3RhdGVtZW50Q2hpbGROb2Rlcykge1xuICBbIF8sIE5vZGUgYXJndW1lbnROb2RlIF0gPSBxdWFsaWZpZWRTdGF0ZW1lbnRDaGlsZE5vZGVzO1xuXG4gIE5vZGUgYm91bmRWYXJpYWJsZU5hbWVUZXJtaW5hbE5vZGUgPSBub2RlUXVlcnkoYXJndW1lbnROb2RlLCAvYXJndW1lbnQvdGVybS92YXJpYWJsZS9AbmFtZSk7XG5cbiAgU3RyaW5nIGJvdW5kVmFyaWFibGVOYW1lID0gXG5cbiAgICBJZiAoYm91bmRWYXJpYWJsZU5hbWVUZXJtaW5hbE5vZGUgIT0gbnVsbClcbiAgICAgIChTdHJpbmcgKE5vZGUgYm91bmRWYXJpYWJsZU5hbWVUZXJtaW5hbE5vZGUpIHtcbiAgICAgICAgeyBTdHJpbmcgY29udGVudCBBcyBib3VuZFZhcmlhYmxlTmFtZSB9ID0gYm91bmRWYXJpYWJsZU5hbWVUZXJtaW5hbE5vZGU7XG4gICAgICBcbiAgICAgICAgUmV0dXJuIGJvdW5kVmFyaWFibGVOYW1lO1xuICAgICAgfSkoYm91bmRWYXJpYWJsZU5hbWVUZXJtaW5hbE5vZGUpXG5cbiAgICBFbHNlXG4gICAgICBcIlwiXG4gIDtcbiAgICBcbiAgUmV0dXJuIGJvdW5kVmFyaWFibGVOYW1lO1xufVxuYDtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BlcnRpZXMgPSB7XG4gICAgY2xhc3NOYW1lOiBcImZ1cnRsZVwiXG4gIH07XG59XG4iXSwibmFtZXMiOlsiRnVydGxlVmlldyIsImZ1cnRsZUxleGVyRnJvbUVudHJpZXMiLCJsZXhlcnNVdGlsaXRpZXMiLCJmdXJ0bGVQYXJzZXJGcm9tQk5GQW5kU3RhcnRSdWxlTmFtZSIsInBhcnNlcnNVdGlsaXRpZXMiLCJnZXRUb2tlbnMiLCJsZXhpY2FsRW50cmllcyIsImdldExleGljYWxFbnRyaWVzIiwiZW50cmllcyIsImF1Z21lbnRlZCIsImZ1cnRsZUxleGVyIiwibGV4ZXIiLCJjb250ZW50IiwiZ2V0Q29udGVudCIsInRva2VucyIsInRva2VuaXNlIiwiZ2V0UGFyc2VUcmVlIiwicGFyc2VUcmVlIiwiYm5mIiwiZ2V0Qk5GIiwicnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsInN0YXJ0UnVsZU5hbWUiLCJmdXJ0bGVQYXJzZXIiLCJwYXJzZXIiLCJub2RlIiwicGFyc2UiLCJhc1BhcnNlVHJlZSIsImluaXRpYWxpc2UiLCJhc3NpZ25Db250ZXh0IiwiY29uc3RydWN0b3IiLCJpbml0aWFsQ29udGVudCIsImluaXRpYWxSdWxlTmFtZSIsImJuZkZyb21Ob3RoaW5nIiwiZW50cmllc0Zyb21Ob3RoaW5nIiwic2V0Qk5GIiwic2V0Q29udGVudCIsInNldFJ1bGVOYW1lIiwic2V0TGV4aWNhbEVudHJpZXMiLCJrZXlVcEhhbmRsZXIiLCJWaWV3IiwicmVhZE9ubHkiLCJkZWZhdWx0UHJvcGVydGllcyIsImNsYXNzTmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFXcUJBOzs7cUJBVDZCOzJEQUVqQztzQkFFa0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRW5ELElBQU0sQUFBRUMseUJBQTJCQyxzQkFBZSxDQUExQ0Qsd0JBQ0YsQUFBRUUsc0NBQXdDQyx1QkFBZ0IsQ0FBeEREO0FBRU8sSUFBQSxBQUFNSCwyQkFBTjtjQUFNQTthQUFBQTtnQ0FBQUE7ZUFBTixrQkFBTUE7O2tCQUFBQTs7WUFDbkJLLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxpQkFBaUIsSUFBSSxDQUFDQyxpQkFBaUIsSUFDdkNDLFVBQVVGLGdCQUNWRyxZQUFZLE9BQ1pDLGNBQWNULHVCQUF1Qk8sU0FBU0MsWUFDOUNFLFFBQVFELGFBQ1JFLFVBQVUsSUFBSSxDQUFDQyxVQUFVLElBQ3pCQyxTQUFTSCxNQUFNSSxRQUFRLENBQUNIO2dCQUU5QixPQUFPRTtZQUNUOzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBLGFBQWFGLE1BQU07Z0JBQ2pCLElBQUlHLFlBQVk7Z0JBRWhCLElBQU1DLE1BQU0sSUFBSSxDQUFDQyxNQUFNLElBQ2pCQyxXQUFXLElBQUksQ0FBQ0MsV0FBVyxJQUMzQkMsZ0JBQWdCRixVQUNoQlgsWUFBWSxPQUNaYyxlQUFlcEIsb0NBQW9DZSxLQUFLSSxlQUFlYixZQUN2RWUsU0FBU0QsY0FDVEUsT0FBT0QsT0FBT0UsS0FBSyxDQUFDWjtnQkFFMUIsSUFBSVcsU0FBUyxNQUFNO29CQUNqQlIsWUFBWVEsS0FBS0UsV0FBVyxDQUFDYjtnQkFDL0I7Z0JBRUEsT0FBT0c7WUFDVDs7O1lBRUFXLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFJLENBQUNDLGFBQWE7Z0JBRWxCLElBQTRDLG9CQUFBLElBQUksQ0FBQ0MsV0FBVyxFQUFwREMsaUJBQW9DLGtCQUFwQ0EsZ0JBQWdCQyxrQkFBb0Isa0JBQXBCQSxpQkFDbEJkLE1BQU1lLElBQUFBLHNCQUFjLEtBQ3BCekIsVUFBVTBCLElBQUFBLDBCQUFrQixLQUM1QnRCLFVBQVVtQixnQkFDVlgsV0FBV1ksaUJBQ1gxQixpQkFBaUJFLFNBQVMsR0FBRztnQkFFbkMsSUFBSSxDQUFDMkIsTUFBTSxDQUFDakI7Z0JBRVosSUFBSSxDQUFDa0IsVUFBVSxDQUFDeEI7Z0JBRWhCLElBQUksQ0FBQ3lCLFdBQVcsQ0FBQ2pCO2dCQUVqQixJQUFJLENBQUNrQixpQkFBaUIsQ0FBQ2hDO2dCQUV2QixJQUFJLENBQUNpQyxZQUFZO1lBQ25COzs7V0FsRG1CdkM7RUFBbUJ3QyxhQUFJO0FBb0QxQyxpQkFwRG1CeEMsWUFvRFp5QyxZQUFXO0FBRWxCLGlCQXREbUJ6QyxZQXNEWitCLGtCQUFrQjtBQXNCekIsaUJBNUVtQi9CLFlBNEVaMEMscUJBQW9CO0lBQ3pCQyxXQUFXO0FBQ2IifQ==
package/lib/furtle/bnf.js CHANGED
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "default", {
8
8
  return _default;
9
9
  }
10
10
  });
11
- var bnf = 'document ::= ( procedureDeclaration | error )+ ;\n\n\n\nprocedureDeclaration ::= [type] label<NO_WHITESPACE>"(" parameters? ")" returnBlock ;\n\n\n\nerror. ::= . ;\n\n\n\nvariableAssignments ::= [type] variableAssignment ( "," variableAssignment )* ";" ;\n\nconditionalBlocks ::= "If" "(" value ")" block ( "Else" block )? ; \n\nobjectAssignment ::= "{" namedParameters "}" "=" variable ";" ;\n\narrayAssignment ::= "[" parameters "]" "=" variable ";" ;\n\n\n\nstep ::= variableAssignments\n \n | conditionalBlocks\n \n | objectAssignment\n \n | arrayAssignment\n \n ; \n \n \n\nvariableAssignment ::= variable "=" value ;\n\nanonymousProcedure ::= [type] "(" parameters? ")" returnBlock ;\n\nreturnStatement ::= [return] value ";" ; \n\nreturnBlock.. ::= "{" ( step | nonsense )* returnStatement "}" ;\n \nblock.. ::= "{" ( step | nonsense )* "}" ;\n\n\n\nanonymousProcedureCall ::= "(" anonymousProcedure ")"<NO_WHITESPACE>"(" values? ")" ;\n\nprocedureCall ::= reference<NO_WHITESPACE>"(" values? ")" ;\n\nbracketedValue ::= "(" value ")" ; \n\nbitwiseValue ::= value ( "||" | "&&" ) value ; \n\nnegatedValue ::= "!"<NO_WHITESPACE>value ; \n\ncomparison ::= value ( "!=" | "==" ) value ; \n\nnodesQuery ::= "nodesQuery"<NO_WHITESPACE>"(" variable "," expression ")" ;\n\nnodeQuery ::= "nodeQuery"<NO_WHITESPACE>"(" variable "," expression ")" ;\n\nvariable ::= [name] ;\n\nternary ::= "If" "(" value ")" value "Else" value ;\n\nsome ::= "Some"<NO_WHITESPACE>"(" variable "," anonymousProcedure ")" ;\n\n\n\nvalues ::= value ( "," value )* ;\n\nvalue ::= anonymousProcedureCall\n \n | procedureCall\n \n | bracketedValue \n\n | bitwiseValue \n\n | negatedValue \n\n | comparison \n\n | nodesQuery\n \n | nodeQuery\n \n | variable\n \n | ternary\n \n | some\n\n | [null]\n\n | [number]\n \n | [primitive]\n \n | [string-literal] \n \n ;\n\n\n\nnamedParameters ::= namedParameter ( "," namedParameter )* ;\n\nnamedParameter ::= [type] [name] ( "As" [name] )? ;\n\n\n\nparameters ::= parameter ( "," parameter )* ;\n\nparameter ::= [type] [name]\n\n | "_" \n\n ;\n\n\n\nlabel. ::= [name] ;\n\nreference. ::= [name] ;\n\n\n\nnonsense. ::= [type] | [keyword] | [primitive] | [query] | [special] | [name] | [number] | [unassigned] ;';
11
+ var bnf = 'document ::= ( procedureDeclaration | error )+ ;\n\n\n\nprocedureDeclaration ::= [type] label<NO_WHITESPACE>"(" parameters? ")" returnBlock ;\n\n\n\nerror. ::= . ;\n\n\n\nvariableAssignments ::= [type] variableAssignment ( "," variableAssignment )* ";" ;\n\nconditionalBlocks ::= "If" "(" value ")" block ( "Else" block )? ; \n\nobjectAssignment ::= "{" namedParameters "}" "=" variable ";" ;\n\narrayAssignment ::= "[" parameters "]" "=" variable ";" ;\n\n\n\nstep ::= variableAssignments\n \n | conditionalBlocks\n \n | objectAssignment\n \n | arrayAssignment\n \n ; \n \n \n\nvariableAssignment ::= variable "=" value ;\n\nanonymousProcedure ::= [type] "(" parameters? ")" returnBlock ;\n\nreturnStatement ::= [return] value ";" ; \n\nreturnBlock.. ::= "{" ( step | nonsense )* returnStatement "}" ;\n \nblock.. ::= "{" ( step | nonsense )* "}" ;\n\n\n\nanonymousProcedureCall ::= "(" anonymousProcedure ")"<NO_WHITESPACE>"(" values? ")" ;\n\nprocedureCall ::= reference<NO_WHITESPACE>"(" values? ")" ;\n\nbracketedValue ::= "(" value ")" ; \n\nbitwiseValue ::= value ( "||" | "&&" ) value ; \n\nnegatedValue ::= "!"<NO_WHITESPACE>value ; \n\ncomparison ::= value ( "!=" | "==" ) value ; \n\nnodesQuery ::= "nodesQuery"<NO_WHITESPACE>"(" variable "," expression ")" ;\n\nnodeQuery ::= "nodeQuery"<NO_WHITESPACE>"(" variable "," expression ")" ;\n\nvariable ::= [name] ;\n\nternary ::= "If" "(" value ")" value "Else" value ;\n\nreduce ::= "Reduce"<NO_WHITESPACE>"(" variable "," anonymousProcedure "," variable ")" ;\n\nevery ::= "Every"<NO_WHITESPACE>"(" variable "," anonymousProcedure ")" ;\n\nsome ::= "Some"<NO_WHITESPACE>"(" variable "," anonymousProcedure ")" ;\n\n\n\nvalues ::= value ( "," value )* ;\n\nvalue ::= anonymousProcedureCall\n \n | procedureCall\n \n | bracketedValue \n\n | bitwiseValue \n\n | negatedValue \n\n | comparison \n\n | nodesQuery\n \n | nodeQuery\n \n | variable\n \n | ternary\n \n | reduce\n\n | every\n\n | some\n\n | [null]\n\n | [number]\n \n | [primitive]\n \n | [string-literal] \n \n ;\n\n\n\nnamedParameters ::= namedParameter ( "," namedParameter )* ;\n\nnamedParameter ::= [type] [name] ( "As" [name] )? ;\n\n\n\nparameters ::= parameter ( "," parameter )* ;\n\nparameter ::= [type] [name]\n\n | "_" \n\n ;\n\n\n\nlabel. ::= [name] ;\n\nreference. ::= [name] ;\n\n\n\nnonsense. ::= [type] | [keyword] | [primitive] | [query] | [special] | [name] | [number] | [unassigned] ;';
12
12
  var _default = bnf;
13
13
 
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mdXJ0bGUvYm5mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5jb25zdCBibmYgPSBgZG9jdW1lbnQgICAgICAgICAgICAgICAgOjo9ICAoIHByb2NlZHVyZURlY2xhcmF0aW9uIHwgZXJyb3IgKSsgO1xuXG5cblxucHJvY2VkdXJlRGVjbGFyYXRpb24gICAgOjo9ICBbdHlwZV0gbGFiZWw8Tk9fV0hJVEVTUEFDRT5cIihcIiBwYXJhbWV0ZXJzPyBcIilcIiByZXR1cm5CbG9jayA7XG5cblxuXG5lcnJvci4gICAgICAgICAgICAgICAgICA6Oj0gIC4gO1xuXG5cblxudmFyaWFibGVBc3NpZ25tZW50cyAgICAgOjo9ICBbdHlwZV0gdmFyaWFibGVBc3NpZ25tZW50ICggXCIsXCIgdmFyaWFibGVBc3NpZ25tZW50ICkqIFwiO1wiIDtcblxuY29uZGl0aW9uYWxCbG9ja3MgICAgICAgOjo9ICBcIklmXCIgXCIoXCIgdmFsdWUgXCIpXCIgYmxvY2sgKCBcIkVsc2VcIiBibG9jayApPyA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcblxub2JqZWN0QXNzaWdubWVudCAgICAgICAgOjo9ICBcIntcIiBuYW1lZFBhcmFtZXRlcnMgXCJ9XCIgXCI9XCIgdmFyaWFibGUgXCI7XCIgO1xuXG5hcnJheUFzc2lnbm1lbnQgICAgICAgICA6Oj0gIFwiW1wiIHBhcmFtZXRlcnMgXCJdXCIgXCI9XCIgdmFyaWFibGUgXCI7XCIgO1xuXG5cblxuc3RlcCAgICAgICAgICAgICAgICAgICAgOjo9ICB2YXJpYWJsZUFzc2lnbm1lbnRzXG4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGNvbmRpdGlvbmFsQmxvY2tzXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBvYmplY3RBc3NpZ25tZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBhcnJheUFzc2lnbm1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDsgIFxuICBcbiAgXG5cbnZhcmlhYmxlQXNzaWdubWVudCAgICAgIDo6PSAgdmFyaWFibGUgXCI9XCIgdmFsdWUgO1xuXG5hbm9ueW1vdXNQcm9jZWR1cmUgICAgICA6Oj0gIFt0eXBlXSBcIihcIiBwYXJhbWV0ZXJzPyBcIilcIiByZXR1cm5CbG9jayA7XG5cbnJldHVyblN0YXRlbWVudCAgICAgICAgIDo6PSAgW3JldHVybl0gdmFsdWUgXCI7XCIgOyBcblxucmV0dXJuQmxvY2suLiAgICAgICAgICAgOjo9ICBcIntcIiAoIHN0ZXAgfCBub25zZW5zZSApKiByZXR1cm5TdGF0ZW1lbnQgXCJ9XCIgO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5ibG9jay4uICAgICAgICAgICAgICAgICA6Oj0gIFwie1wiICggc3RlcCB8IG5vbnNlbnNlICkqIFwifVwiIDtcblxuXG5cbmFub255bW91c1Byb2NlZHVyZUNhbGwgIDo6PSAgXCIoXCIgYW5vbnltb3VzUHJvY2VkdXJlIFwiKVwiPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFsdWVzPyBcIilcIiA7XG5cbnByb2NlZHVyZUNhbGwgICAgICAgICAgIDo6PSAgcmVmZXJlbmNlPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFsdWVzPyBcIilcIiA7XG5cbmJyYWNrZXRlZFZhbHVlICAgICAgICAgIDo6PSAgXCIoXCIgdmFsdWUgXCIpXCIgOyBcblxuYml0d2lzZVZhbHVlICAgICAgICAgICAgOjo9ICB2YWx1ZSAoIFwifHxcIiB8IFwiJiZcIiApIHZhbHVlIDsgXG5cbm5lZ2F0ZWRWYWx1ZSAgICAgICAgICAgIDo6PSAgXCIhXCI8Tk9fV0hJVEVTUEFDRT52YWx1ZSA7IFxuXG5jb21wYXJpc29uICAgICAgICAgICAgICA6Oj0gIHZhbHVlICggXCIhPVwiIHwgXCI9PVwiICkgdmFsdWUgOyBcblxubm9kZXNRdWVyeSAgICAgICAgICAgICAgOjo9ICBcIm5vZGVzUXVlcnlcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIGV4cHJlc3Npb24gXCIpXCIgO1xuXG5ub2RlUXVlcnkgICAgICAgICAgICAgICA6Oj0gIFwibm9kZVF1ZXJ5XCI8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YXJpYWJsZSBcIixcIiBleHByZXNzaW9uIFwiKVwiIDtcblxudmFyaWFibGUgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuXG50ZXJuYXJ5ICAgICAgICAgICAgICAgICA6Oj0gIFwiSWZcIiBcIihcIiB2YWx1ZSBcIilcIiB2YWx1ZSBcIkVsc2VcIiB2YWx1ZSA7XG5cbnNvbWUgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJTb21lXCI8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YXJpYWJsZSBcIixcIiBhbm9ueW1vdXNQcm9jZWR1cmUgXCIpXCIgO1xuXG5cblxudmFsdWVzICAgICAgICAgICAgICAgICAgOjo9ICB2YWx1ZSAoIFwiLFwiIHZhbHVlICkqIDtcblxudmFsdWUgICAgICAgICAgICAgICAgICAgOjo9ICBhbm9ueW1vdXNQcm9jZWR1cmVDYWxsXG4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHByb2NlZHVyZUNhbGxcbiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgYnJhY2tldGVkVmFsdWUgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgYml0d2lzZVZhbHVlIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG5lZ2F0ZWRWYWx1ZSBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBjb21wYXJpc29uIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG5vZGVzUXVlcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG5vZGVRdWVyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgdmFyaWFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHRlcm5hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHNvbWVcblxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBbbnVsbF1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBbbnVtYmVyXVxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgW3ByaW1pdGl2ZV1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFtzdHJpbmctbGl0ZXJhbF0gXG4gICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbm5hbWVkUGFyYW1ldGVycyAgICAgICAgIDo6PSAgbmFtZWRQYXJhbWV0ZXIgKCBcIixcIiBuYW1lZFBhcmFtZXRlciApKiA7XG5cbm5hbWVkUGFyYW1ldGVyICAgICAgICAgIDo6PSAgW3R5cGVdIFtuYW1lXSAoIFwiQXNcIiBbbmFtZV0gKT8gO1xuXG5cblxucGFyYW1ldGVycyAgICAgICAgICAgICAgOjo9ICBwYXJhbWV0ZXIgKCBcIixcIiBwYXJhbWV0ZXIgKSogO1xuXG5wYXJhbWV0ZXIgICAgICAgICAgICAgICA6Oj0gIFt0eXBlXSBbbmFtZV1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBcIl9cIiBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICA7XG5cblxuXG5sYWJlbC4gICAgICAgICAgICAgICAgICA6Oj0gIFtuYW1lXSA7XG5cbnJlZmVyZW5jZS4gICAgICAgICAgICAgIDo6PSAgW25hbWVdIDtcblxuXG5cbm5vbnNlbnNlLiAgICAgICAgICAgICAgIDo6PSAgW3R5cGVdIHwgW2tleXdvcmRdIHwgW3ByaW1pdGl2ZV0gfCBbcXVlcnldIHwgW3NwZWNpYWxdIHwgW25hbWVdIHwgW251bWJlcl0gfCBbdW5hc3NpZ25lZF0gO2A7XG5cbmV4cG9ydCBkZWZhdWx0IGJuZjtcbiJdLCJuYW1lcyI6WyJibmYiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQW9JQTs7O2VBQUE7OztBQWxJQSxJQUFNQSxNQUFPO0lBa0liLFdBQWVBIn0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mdXJ0bGUvYm5mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5jb25zdCBibmYgPSBgZG9jdW1lbnQgICAgICAgICAgICAgICAgOjo9ICAoIHByb2NlZHVyZURlY2xhcmF0aW9uIHwgZXJyb3IgKSsgO1xuXG5cblxucHJvY2VkdXJlRGVjbGFyYXRpb24gICAgOjo9ICBbdHlwZV0gbGFiZWw8Tk9fV0hJVEVTUEFDRT5cIihcIiBwYXJhbWV0ZXJzPyBcIilcIiByZXR1cm5CbG9jayA7XG5cblxuXG5lcnJvci4gICAgICAgICAgICAgICAgICA6Oj0gIC4gO1xuXG5cblxudmFyaWFibGVBc3NpZ25tZW50cyAgICAgOjo9ICBbdHlwZV0gdmFyaWFibGVBc3NpZ25tZW50ICggXCIsXCIgdmFyaWFibGVBc3NpZ25tZW50ICkqIFwiO1wiIDtcblxuY29uZGl0aW9uYWxCbG9ja3MgICAgICAgOjo9ICBcIklmXCIgXCIoXCIgdmFsdWUgXCIpXCIgYmxvY2sgKCBcIkVsc2VcIiBibG9jayApPyA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcblxub2JqZWN0QXNzaWdubWVudCAgICAgICAgOjo9ICBcIntcIiBuYW1lZFBhcmFtZXRlcnMgXCJ9XCIgXCI9XCIgdmFyaWFibGUgXCI7XCIgO1xuXG5hcnJheUFzc2lnbm1lbnQgICAgICAgICA6Oj0gIFwiW1wiIHBhcmFtZXRlcnMgXCJdXCIgXCI9XCIgdmFyaWFibGUgXCI7XCIgO1xuXG5cblxuc3RlcCAgICAgICAgICAgICAgICAgICAgOjo9ICB2YXJpYWJsZUFzc2lnbm1lbnRzXG4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGNvbmRpdGlvbmFsQmxvY2tzXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBvYmplY3RBc3NpZ25tZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBhcnJheUFzc2lnbm1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDsgIFxuICBcbiAgXG5cbnZhcmlhYmxlQXNzaWdubWVudCAgICAgIDo6PSAgdmFyaWFibGUgXCI9XCIgdmFsdWUgO1xuXG5hbm9ueW1vdXNQcm9jZWR1cmUgICAgICA6Oj0gIFt0eXBlXSBcIihcIiBwYXJhbWV0ZXJzPyBcIilcIiByZXR1cm5CbG9jayA7XG5cbnJldHVyblN0YXRlbWVudCAgICAgICAgIDo6PSAgW3JldHVybl0gdmFsdWUgXCI7XCIgOyBcblxucmV0dXJuQmxvY2suLiAgICAgICAgICAgOjo9ICBcIntcIiAoIHN0ZXAgfCBub25zZW5zZSApKiByZXR1cm5TdGF0ZW1lbnQgXCJ9XCIgO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5ibG9jay4uICAgICAgICAgICAgICAgICA6Oj0gIFwie1wiICggc3RlcCB8IG5vbnNlbnNlICkqIFwifVwiIDtcblxuXG5cbmFub255bW91c1Byb2NlZHVyZUNhbGwgIDo6PSAgXCIoXCIgYW5vbnltb3VzUHJvY2VkdXJlIFwiKVwiPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFsdWVzPyBcIilcIiA7XG5cbnByb2NlZHVyZUNhbGwgICAgICAgICAgIDo6PSAgcmVmZXJlbmNlPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFsdWVzPyBcIilcIiA7XG5cbmJyYWNrZXRlZFZhbHVlICAgICAgICAgIDo6PSAgXCIoXCIgdmFsdWUgXCIpXCIgOyBcblxuYml0d2lzZVZhbHVlICAgICAgICAgICAgOjo9ICB2YWx1ZSAoIFwifHxcIiB8IFwiJiZcIiApIHZhbHVlIDsgXG5cbm5lZ2F0ZWRWYWx1ZSAgICAgICAgICAgIDo6PSAgXCIhXCI8Tk9fV0hJVEVTUEFDRT52YWx1ZSA7IFxuXG5jb21wYXJpc29uICAgICAgICAgICAgICA6Oj0gIHZhbHVlICggXCIhPVwiIHwgXCI9PVwiICkgdmFsdWUgOyBcblxubm9kZXNRdWVyeSAgICAgICAgICAgICAgOjo9ICBcIm5vZGVzUXVlcnlcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIGV4cHJlc3Npb24gXCIpXCIgO1xuXG5ub2RlUXVlcnkgICAgICAgICAgICAgICA6Oj0gIFwibm9kZVF1ZXJ5XCI8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YXJpYWJsZSBcIixcIiBleHByZXNzaW9uIFwiKVwiIDtcblxudmFyaWFibGUgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuXG50ZXJuYXJ5ICAgICAgICAgICAgICAgICA6Oj0gIFwiSWZcIiBcIihcIiB2YWx1ZSBcIilcIiB2YWx1ZSBcIkVsc2VcIiB2YWx1ZSA7XG5cbnJlZHVjZSAgICAgICAgICAgICAgICAgIDo6PSAgXCJSZWR1Y2VcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIGFub255bW91c1Byb2NlZHVyZSBcIixcIiB2YXJpYWJsZSBcIilcIiA7XG5cbmV2ZXJ5ICAgICAgICAgICAgICAgICAgIDo6PSAgXCJFdmVyeVwiPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFyaWFibGUgXCIsXCIgYW5vbnltb3VzUHJvY2VkdXJlIFwiKVwiIDtcblxuc29tZSAgICAgICAgICAgICAgICAgICAgOjo9ICBcIlNvbWVcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIGFub255bW91c1Byb2NlZHVyZSBcIilcIiA7XG5cblxuXG52YWx1ZXMgICAgICAgICAgICAgICAgICA6Oj0gIHZhbHVlICggXCIsXCIgdmFsdWUgKSogO1xuXG52YWx1ZSAgICAgICAgICAgICAgICAgICA6Oj0gIGFub255bW91c1Byb2NlZHVyZUNhbGxcbiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgcHJvY2VkdXJlQ2FsbFxuIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBicmFja2V0ZWRWYWx1ZSBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBiaXR3aXNlVmFsdWUgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbmVnYXRlZFZhbHVlIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGNvbXBhcmlzb24gXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbm9kZXNRdWVyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbm9kZVF1ZXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICB2YXJpYWJsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgdGVybmFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgcmVkdWNlXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgZXZlcnlcblxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBzb21lXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgW251bGxdXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgW251bWJlcl1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFtwcmltaXRpdmVdXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBbc3RyaW5nLWxpdGVyYWxdIFxuICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICA7XG5cblxuXG5uYW1lZFBhcmFtZXRlcnMgICAgICAgICA6Oj0gIG5hbWVkUGFyYW1ldGVyICggXCIsXCIgbmFtZWRQYXJhbWV0ZXIgKSogO1xuXG5uYW1lZFBhcmFtZXRlciAgICAgICAgICA6Oj0gIFt0eXBlXSBbbmFtZV0gKCBcIkFzXCIgW25hbWVdICk/IDtcblxuXG5cbnBhcmFtZXRlcnMgICAgICAgICAgICAgIDo6PSAgcGFyYW1ldGVyICggXCIsXCIgcGFyYW1ldGVyICkqIDtcblxucGFyYW1ldGVyICAgICAgICAgICAgICAgOjo9ICBbdHlwZV0gW25hbWVdXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgXCJfXCIgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG5cblxubGFiZWwuICAgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuXG5yZWZlcmVuY2UuICAgICAgICAgICAgICA6Oj0gIFtuYW1lXSA7XG5cblxuXG5ub25zZW5zZS4gICAgICAgICAgICAgICA6Oj0gIFt0eXBlXSB8IFtrZXl3b3JkXSB8IFtwcmltaXRpdmVdIHwgW3F1ZXJ5XSB8IFtzcGVjaWFsXSB8IFtuYW1lXSB8IFtudW1iZXJdIHwgW3VuYXNzaWduZWRdIDtgO1xuXG5leHBvcnQgZGVmYXVsdCBibmY7XG4iXSwibmFtZXMiOlsiYm5mIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkE0SUE7OztlQUFBOzs7QUExSUEsSUFBTUEsTUFBTztJQTBJYixXQUFlQSJ9
@@ -19,7 +19,7 @@ var entries = [
19
19
  "return": "^Return"
20
20
  },
21
21
  {
22
- "keyword": "^(?:If|Else|Some|As)"
22
+ "keyword": "^(?:If|Else|Reduce|Every|Some|As)"
23
23
  },
24
24
  {
25
25
  "primitive": "^(?:null|true|false)"
@@ -36,4 +36,4 @@ var entries = [
36
36
  ];
37
37
  var _default = entries;
38
38
 
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mdXJ0bGUvZW50cmllcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmNvbnN0IGVudHJpZXMgPSBbXHJcbiAge1xyXG4gICAgXCJ0eXBlXCI6IFwiXig/Ok5vZGVzfE5vZGV8U3RyaW5nfE51bWJlcnxCb29sZWFuKVwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcInF1ZXJ5XCI6IFwiXig/Om5vZGVRdWVyeXxub2Rlc1F1ZXJ5KVwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcInJldHVyblwiOiBcIl5SZXR1cm5cIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJrZXl3b3JkXCI6IFwiXig/OklmfEVsc2V8U29tZXxBcylcIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJwcmltaXRpdmVcIjogXCJeKD86bnVsbHx0cnVlfGZhbHNlKVwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcImJyYWNrZXRcIjogXCJeKD86XFxcXHt8XFxcXH0pXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwic3BlY2lhbFwiOiBcIl4oPzohPXw9PXw9fCx8O3xffCYmfFxcXFx8XFxcXHx8XFxcXCh8XFxcXCkpXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwidW5hc3NpZ25lZFwiOiBcIl4uXCJcclxuICB9XHJcbl07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBlbnRyaWVzO1xyXG4iXSwibmFtZXMiOlsiZW50cmllcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBNkJBOzs7ZUFBQTs7O0FBM0JBLElBQU1BLFVBQVU7SUFDZDtRQUNFLFFBQVE7SUFDVjtJQUNBO1FBQ0UsU0FBUztJQUNYO0lBQ0E7UUFDRSxVQUFVO0lBQ1o7SUFDQTtRQUNFLFdBQVc7SUFDYjtJQUNBO1FBQ0UsYUFBYTtJQUNmO0lBQ0E7UUFDRSxXQUFXO0lBQ2I7SUFDQTtRQUNFLFdBQVc7SUFDYjtJQUNBO1FBQ0UsY0FBYztJQUNoQjtDQUNEO0lBRUQsV0FBZUEifQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mdXJ0bGUvZW50cmllcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmNvbnN0IGVudHJpZXMgPSBbXHJcbiAge1xyXG4gICAgXCJ0eXBlXCI6IFwiXig/Ok5vZGVzfE5vZGV8U3RyaW5nfE51bWJlcnxCb29sZWFuKVwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcInF1ZXJ5XCI6IFwiXig/Om5vZGVRdWVyeXxub2Rlc1F1ZXJ5KVwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcInJldHVyblwiOiBcIl5SZXR1cm5cIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJrZXl3b3JkXCI6IFwiXig/OklmfEVsc2V8UmVkdWNlfEV2ZXJ5fFNvbWV8QXMpXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwicHJpbWl0aXZlXCI6IFwiXig/Om51bGx8dHJ1ZXxmYWxzZSlcIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJicmFja2V0XCI6IFwiXig/OlxcXFx7fFxcXFx9KVwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcInNwZWNpYWxcIjogXCJeKD86IT18PT18PXwsfDt8X3wmJnxcXFxcfFxcXFx8fFxcXFwofFxcXFwpKVwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcInVuYXNzaWduZWRcIjogXCJeLlwiXHJcbiAgfVxyXG5dO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgZW50cmllcztcclxuIl0sIm5hbWVzIjpbImVudHJpZXMiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQTZCQTs7O2VBQUE7OztBQTNCQSxJQUFNQSxVQUFVO0lBQ2Q7UUFDRSxRQUFRO0lBQ1Y7SUFDQTtRQUNFLFNBQVM7SUFDWDtJQUNBO1FBQ0UsVUFBVTtJQUNaO0lBQ0E7UUFDRSxXQUFXO0lBQ2I7SUFDQTtRQUNFLGFBQWE7SUFDZjtJQUNBO1FBQ0UsV0FBVztJQUNiO0lBQ0E7UUFDRSxXQUFXO0lBQ2I7SUFDQTtRQUNFLGNBQWM7SUFDaEI7Q0FDRDtJQUVELFdBQWVBIn0=
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-grammars",
3
3
  "author": "James Smith",
4
- "version": "1.3.171",
4
+ "version": "1.3.175",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-grammars",
7
7
  "description": "Occam's grammars.",
@@ -13,7 +13,8 @@ export default class FurtleView extends View {
13
13
  getTokens() {
14
14
  const lexicalEntries = this.getLexicalEntries(),
15
15
  entries = lexicalEntries, ////
16
- furtleLexer = furtleLexerFromEntries(entries),
16
+ augmented = false,
17
+ furtleLexer = furtleLexerFromEntries(entries, augmented),
17
18
  lexer = furtleLexer, ///
18
19
  content = this.getContent(),
19
20
  tokens = lexer.tokenise(content);
@@ -27,7 +28,8 @@ export default class FurtleView extends View {
27
28
  const bnf = this.getBNF(),
28
29
  ruleName = this.getRuleName(),
29
30
  startRuleName = ruleName, ///
30
- furtleParser = furtleParserFromBNFAndStartRuleName(bnf, startRuleName),
31
+ augmented = false,
32
+ furtleParser = furtleParserFromBNFAndStartRuleName(bnf, startRuleName, augmented),
31
33
  parser = furtleParser, ///
32
34
  node = parser.parse(tokens);
33
35
 
@@ -61,9 +63,27 @@ export default class FurtleView extends View {
61
63
 
62
64
  static readOnly = false;
63
65
 
64
- static initialContent = `{
65
- { String content } = foo;
66
- }`;
66
+ static initialContent = `String boundVariableNameFromQualifiedStatementChildNodes(Nodes qualifiedStatementChildNodes) {
67
+ [ _, Node argumentNode ] = qualifiedStatementChildNodes;
68
+
69
+ Node boundVariableNameTerminalNode = nodeQuery(argumentNode, /argument/term/variable/@name);
70
+
71
+ String boundVariableName =
72
+
73
+ If (boundVariableNameTerminalNode != null)
74
+ (String (Node boundVariableNameTerminalNode) {
75
+ { String content As boundVariableName } = boundVariableNameTerminalNode;
76
+
77
+ Return boundVariableName;
78
+ })(boundVariableNameTerminalNode)
79
+
80
+ Else
81
+ ""
82
+ ;
83
+
84
+ Return boundVariableName;
85
+ }
86
+ `;
67
87
 
68
88
  static defaultProperties = {
69
89
  className: "furtle"
package/src/furtle/bnf.js CHANGED
@@ -66,6 +66,10 @@ variable ::= [name] ;
66
66
 
67
67
  ternary ::= "If" "(" value ")" value "Else" value ;
68
68
 
69
+ reduce ::= "Reduce"<NO_WHITESPACE>"(" variable "," anonymousProcedure "," variable ")" ;
70
+
71
+ every ::= "Every"<NO_WHITESPACE>"(" variable "," anonymousProcedure ")" ;
72
+
69
73
  some ::= "Some"<NO_WHITESPACE>"(" variable "," anonymousProcedure ")" ;
70
74
 
71
75
 
@@ -92,6 +96,10 @@ value ::= anonymousProcedureCall
92
96
 
93
97
  | ternary
94
98
 
99
+ | reduce
100
+
101
+ | every
102
+
95
103
  | some
96
104
 
97
105
  | [null]
@@ -11,7 +11,7 @@ const entries = [
11
11
  "return": "^Return"
12
12
  },
13
13
  {
14
- "keyword": "^(?:If|Else|Some|As)"
14
+ "keyword": "^(?:If|Else|Reduce|Every|Some|As)"
15
15
  },
16
16
  {
17
17
  "primitive": "^(?:null|true|false)"