occam-grammars 1.3.213 → 1.3.215
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/example.js +10 -4
- package/lib/example/view/furtle.js +2 -2
- package/lib/furtle/bnf.js +2 -2
- package/lib/furtle/entries.js +8 -2
- package/package.json +1 -1
- package/src/example/view/furtle.js +11 -11
- package/src/furtle/bnf.js +1 -1
- package/src/furtle/entries.js +7 -1
|
@@ -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", 'String
|
|
147
|
+
_define_property(FurtleView, "initialContent", 'String boundVariableNameFromStatementChildNodes(Nodes statementChildNodes) {\n [ Node terminalNode ] = statementChildNodes;\n\n { String content } = terminalNode;\n\n String boundVariableName = \n\n If ((content == "∀") || (content == "∃")) {\n [ _, Node argumentNode ] = statementChildNodes;\n\n String boundVariableName = boundVariableNameFromArgumentNode(argumentNode);\n \n Return boundVariableName;\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,
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL3ZpZXcvZnVydGxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBsZXhlcnNVdGlsaXRpZXMsIHBhcnNlcnNVdGlsaXRpZXMgfSBmcm9tIFwiLi4vLi4vaW5kZXhcIjsgIC8vL1xuXG5pbXBvcnQgVmlldyBmcm9tIFwiLi4vdmlld1wiO1xuXG5pbXBvcnQgeyBibmZGcm9tTm90aGluZywgZW50cmllc0Zyb21Ob3RoaW5nIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9mdXJ0bGVcIjtcblxuY29uc3QgeyBmdXJ0bGVMZXhlckZyb21FbnRyaWVzIH0gPSBsZXhlcnNVdGlsaXRpZXMsXG4gICAgICB7IGZ1cnRsZVBhcnNlckZyb21CTkZBbmRTdGFydFJ1bGVOYW1lIH0gPSBwYXJzZXJzVXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGdXJ0bGVWaWV3IGV4dGVuZHMgVmlldyB7XG4gIGdldFRva2VucygpIHtcbiAgICBjb25zdCBsZXhpY2FsRW50cmllcyA9IHRoaXMuZ2V0TGV4aWNhbEVudHJpZXMoKSxcbiAgICAgICAgICBlbnRyaWVzID0gbGV4aWNhbEVudHJpZXMsIC8vLy9cbiAgICAgICAgICBmdXJ0bGVMZXhlciA9IGZ1cnRsZUxleGVyRnJvbUVudHJpZXMoZW50cmllcyksXG4gICAgICAgICAgbGV4ZXIgPSBmdXJ0bGVMZXhlciwgIC8vL1xuICAgICAgICAgIGNvbnRlbnQgPSB0aGlzLmdldENvbnRlbnQoKSxcbiAgICAgICAgICB0b2tlbnMgPSBsZXhlci50b2tlbmlzZShjb250ZW50KTtcblxuICAgIHJldHVybiB0b2tlbnM7XG4gIH1cblxuICBnZXRQYXJzZVRyZWUodG9rZW5zKSB7XG4gICAgbGV0IHBhcnNlVHJlZSA9IG51bGw7XG5cbiAgICBjb25zdCBibmYgPSB0aGlzLmdldEJORigpLFxuICAgICAgICAgIHJ1bGVOYW1lID0gdGhpcy5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgIHN0YXJ0UnVsZU5hbWUgPSBydWxlTmFtZSwgLy8vXG4gICAgICAgICAgZnVydGxlUGFyc2VyID0gZnVydGxlUGFyc2VyRnJvbUJORkFuZFN0YXJ0UnVsZU5hbWUoYm5mLCBzdGFydFJ1bGVOYW1lKSxcbiAgICAgICAgICBwYXJzZXIgPSBmdXJ0bGVQYXJzZXIsIC8vL1xuICAgICAgICAgIG5vZGUgPSBwYXJzZXIucGFyc2UodG9rZW5zKTtcblxuICAgIGlmIChub2RlICE9PSBudWxsKSB7XG4gICAgICBwYXJzZVRyZWUgPSBub2RlLmFzUGFyc2VUcmVlKHRva2Vucyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcnNlVHJlZTtcbiAgfVxuXG4gIGluaXRpYWxpc2UoKSB7XG4gICAgdGhpcy5hc3NpZ25Db250ZXh0KCk7XG5cbiAgICBjb25zdCB7IGluaXRpYWxDb250ZW50LCBpbml0aWFsUnVsZU5hbWUgfSA9IHRoaXMuY29uc3RydWN0b3IsXG4gICAgICAgICAgYm5mID0gYm5mRnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBlbnRyaWVzID0gZW50cmllc0Zyb21Ob3RoaW5nKCksXG4gICAgICAgICAgY29udGVudCA9IGluaXRpYWxDb250ZW50LCAvLy9cbiAgICAgICAgICBydWxlTmFtZSA9IGluaXRpYWxSdWxlTmFtZSwgLy8vXG4gICAgICAgICAgbGV4aWNhbEVudHJpZXMgPSBlbnRyaWVzOyAvLy9cblxuICAgIHRoaXMuc2V0Qk5GKGJuZik7XG5cbiAgICB0aGlzLnNldENvbnRlbnQoY29udGVudCk7XG5cbiAgICB0aGlzLnNldFJ1bGVOYW1lKHJ1bGVOYW1lKTtcblxuICAgIHRoaXMuc2V0TGV4aWNhbEVudHJpZXMobGV4aWNhbEVudHJpZXMpO1xuXG4gICAgdGhpcy5rZXlVcEhhbmRsZXIoKTtcbiAgfVxuXG4gIHN0YXRpYyByZWFkT25seSA9IGZhbHNlO1xuXG4gIHN0YXRpYyBpbml0aWFsQ29udGVudCA9IGBTdHJpbmcgYm91bmRWYXJpYWJsZU5hbWVGcm9tU3RhdGVtZW50Q2hpbGROb2RlcyhOb2RlcyBzdGF0ZW1lbnRDaGlsZE5vZGVzKSB7XG4gIFsgTm9kZSB0ZXJtaW5hbE5vZGUgXSA9IHN0YXRlbWVudENoaWxkTm9kZXM7XG5cbiAgeyBTdHJpbmcgY29udGVudCB9ID0gdGVybWluYWxOb2RlO1xuXG4gIFN0cmluZyBib3VuZFZhcmlhYmxlTmFtZSA9IFxuXG4gICAgSWYgKChjb250ZW50ID09IFwi4oiAXCIpIHx8IChjb250ZW50ID09IFwi4oiDXCIpKSB7XG4gICAgICBbIF8sIE5vZGUgYXJndW1lbnROb2RlIF0gPSBzdGF0ZW1lbnRDaGlsZE5vZGVzO1xuXG4gICAgICBTdHJpbmcgYm91bmRWYXJpYWJsZU5hbWUgPSBib3VuZFZhcmlhYmxlTmFtZUZyb21Bcmd1bWVudE5vZGUoYXJndW1lbnROb2RlKTtcbiAgXG4gICAgICBSZXR1cm4gYm91bmRWYXJpYWJsZU5hbWU7XG4gICAgfVxuICAgIEVsc2VcbiAgICAgXCJcIlxuICA7XG5cbiAgUmV0dXJuIGJvdW5kVmFyaWFibGVOYW1lO1xufVxuYDtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BlcnRpZXMgPSB7XG4gICAgY2xhc3NOYW1lOiBcImZ1cnRsZVwiXG4gIH07XG59XG4iXSwibmFtZXMiOlsiRnVydGxlVmlldyIsImZ1cnRsZUxleGVyRnJvbUVudHJpZXMiLCJsZXhlcnNVdGlsaXRpZXMiLCJmdXJ0bGVQYXJzZXJGcm9tQk5GQW5kU3RhcnRSdWxlTmFtZSIsInBhcnNlcnNVdGlsaXRpZXMiLCJnZXRUb2tlbnMiLCJsZXhpY2FsRW50cmllcyIsImdldExleGljYWxFbnRyaWVzIiwiZW50cmllcyIsImZ1cnRsZUxleGVyIiwibGV4ZXIiLCJjb250ZW50IiwiZ2V0Q29udGVudCIsInRva2VucyIsInRva2VuaXNlIiwiZ2V0UGFyc2VUcmVlIiwicGFyc2VUcmVlIiwiYm5mIiwiZ2V0Qk5GIiwicnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsInN0YXJ0UnVsZU5hbWUiLCJmdXJ0bGVQYXJzZXIiLCJwYXJzZXIiLCJub2RlIiwicGFyc2UiLCJhc1BhcnNlVHJlZSIsImluaXRpYWxpc2UiLCJhc3NpZ25Db250ZXh0IiwiY29uc3RydWN0b3IiLCJpbml0aWFsQ29udGVudCIsImluaXRpYWxSdWxlTmFtZSIsImJuZkZyb21Ob3RoaW5nIiwiZW50cmllc0Zyb21Ob3RoaW5nIiwic2V0Qk5GIiwic2V0Q29udGVudCIsInNldFJ1bGVOYW1lIiwic2V0TGV4aWNhbEVudHJpZXMiLCJrZXlVcEhhbmRsZXIiLCJWaWV3IiwicmVhZE9ubHkiLCJkZWZhdWx0UHJvcGVydGllcyIsImNsYXNzTmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFXcUJBOzs7cUJBVDZCOzJEQUVqQztzQkFFa0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRW5ELElBQU0sQUFBRUMseUJBQTJCQyxzQkFBZSxDQUExQ0Qsd0JBQ0YsQUFBRUUsc0NBQXdDQyx1QkFBZ0IsQ0FBeEREO0FBRU8sSUFBQSxBQUFNSCwyQkFBTjtjQUFNQTthQUFBQTtnQ0FBQUE7ZUFBTixrQkFBTUE7O2tCQUFBQTs7WUFDbkJLLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxpQkFBaUIsSUFBSSxDQUFDQyxpQkFBaUIsSUFDdkNDLFVBQVVGLGdCQUNWRyxjQUFjUix1QkFBdUJPLFVBQ3JDRSxRQUFRRCxhQUNSRSxVQUFVLElBQUksQ0FBQ0MsVUFBVSxJQUN6QkMsU0FBU0gsTUFBTUksUUFBUSxDQUFDSDtnQkFFOUIsT0FBT0U7WUFDVDs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxhQUFhRixNQUFNO2dCQUNqQixJQUFJRyxZQUFZO2dCQUVoQixJQUFNQyxNQUFNLElBQUksQ0FBQ0MsTUFBTSxJQUNqQkMsV0FBVyxJQUFJLENBQUNDLFdBQVcsSUFDM0JDLGdCQUFnQkYsVUFDaEJHLGVBQWVuQixvQ0FBb0NjLEtBQUtJLGdCQUN4REUsU0FBU0QsY0FDVEUsT0FBT0QsT0FBT0UsS0FBSyxDQUFDWjtnQkFFMUIsSUFBSVcsU0FBUyxNQUFNO29CQUNqQlIsWUFBWVEsS0FBS0UsV0FBVyxDQUFDYjtnQkFDL0I7Z0JBRUEsT0FBT0c7WUFDVDs7O1lBRUFXLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFJLENBQUNDLGFBQWE7Z0JBRWxCLElBQTRDLG9CQUFBLElBQUksQ0FBQ0MsV0FBVyxFQUFwREMsaUJBQW9DLGtCQUFwQ0EsZ0JBQWdCQyxrQkFBb0Isa0JBQXBCQSxpQkFDbEJkLE1BQU1lLElBQUFBLHNCQUFjLEtBQ3BCeEIsVUFBVXlCLElBQUFBLDBCQUFrQixLQUM1QnRCLFVBQVVtQixnQkFDVlgsV0FBV1ksaUJBQ1h6QixpQkFBaUJFLFNBQVMsR0FBRztnQkFFbkMsSUFBSSxDQUFDMEIsTUFBTSxDQUFDakI7Z0JBRVosSUFBSSxDQUFDa0IsVUFBVSxDQUFDeEI7Z0JBRWhCLElBQUksQ0FBQ3lCLFdBQVcsQ0FBQ2pCO2dCQUVqQixJQUFJLENBQUNrQixpQkFBaUIsQ0FBQy9CO2dCQUV2QixJQUFJLENBQUNnQyxZQUFZO1lBQ25COzs7V0FoRG1CdEM7RUFBbUJ1QyxhQUFJO0FBa0QxQyxpQkFsRG1CdkMsWUFrRFp3QyxZQUFXO0FBRWxCLGlCQXBEbUJ4QyxZQW9EWjhCLGtCQUFrQjtBQXNCekIsaUJBMUVtQjlCLFlBMEVaeUMscUJBQW9CO0lBQ3pCQyxXQUFXO0FBQ2IifQ==
|
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\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 ::=
|
|
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\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 \n\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 "," [string-literal] ")" ;\n\nnodeQuery ::= "nodeQuery"<NO_WHITESPACE>"(" variable "," [string-literal] ")" ;\n\nvariable ::= [name] ;\n\nternary ::= "If" "(" value ")" value "Else" value ;\n\nreduce ::= "Reduce"<NO_WHITESPACE>"(" variable "," anonymousProcedure "," value ")" ;\n\nevery ::= "Every"<NO_WHITESPACE>"(" variable "," anonymousProcedure ")" ;\n\nsome ::= "Some"<NO_WHITESPACE>"(" variable "," anonymousProcedure ")" ;\n\n\n\nvalues ::= value ( "," value )* ;\n\nvalue ::= bracketedValue \n\n | bitwiseValue \n\n | negatedValue \n\n | procedureCall\n \n | returnBlock\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] | [string-literal] | [query] | [special] | [name] | [number] | [unassigned] ;';
|
|
12
12
|
var _default = bnf;
|
|
13
13
|
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mdXJ0bGUvYm5mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5jb25zdCBibmYgPSBgZG9jdW1lbnQgICAgICAgICAgICAgICAgOjo9ICAoIHByb2NlZHVyZURlY2xhcmF0aW9uIHwgZXJyb3IgKSsgO1xuXG5cblxucHJvY2VkdXJlRGVjbGFyYXRpb24gICAgOjo9ICBbdHlwZV0gbGFiZWw8Tk9fV0hJVEVTUEFDRT5cIihcIiBwYXJhbWV0ZXJzPyBcIilcIiByZXR1cm5CbG9jayA7XG5cblxuXG5lcnJvci4gICAgICAgICAgICAgICAgICA6Oj0gIC4gO1xuXG5cblxudmFyaWFibGVBc3NpZ25tZW50cyAgICAgOjo9ICBbdHlwZV0gdmFyaWFibGVBc3NpZ25tZW50ICggXCIsXCIgdmFyaWFibGVBc3NpZ25tZW50ICkqIFwiO1wiIDtcblxub2JqZWN0QXNzaWdubWVudCAgICAgICAgOjo9ICBcIntcIiBuYW1lZFBhcmFtZXRlcnMgXCJ9XCIgXCI9XCIgdmFyaWFibGUgXCI7XCIgO1xuXG5hcnJheUFzc2lnbm1lbnQgICAgICAgICA6Oj0gIFwiW1wiIHBhcmFtZXRlcnMgXCJdXCIgXCI9XCIgdmFyaWFibGUgXCI7XCIgO1xuXG5cblxuc3RlcCAgICAgICAgICAgICAgICAgICAgOjo9ICB2YXJpYWJsZUFzc2lnbm1lbnRzXG4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGNvbmRpdGlvbmFsQmxvY2tzXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBvYmplY3RBc3NpZ25tZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBhcnJheUFzc2lnbm1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDsgIFxuICBcbiAgXG5cbnZhcmlhYmxlQXNzaWdubWVudCAgICAgIDo6PSAgdmFyaWFibGUgXCI9XCIgdmFsdWUgO1xuXG5hbm9ueW1vdXNQcm9jZWR1cmUgICAgICA6Oj0gIFt0eXBlXSBcIihcIiBwYXJhbWV0ZXJzPyBcIilcIiByZXR1cm5CbG9jayA7XG5cbnJldHVyblN0YXRlbWVudCAgICAgICAgIDo6PSAgXCJSZXR1cm5cIiB2YWx1ZSBcIjtcIiA7IFxuXG5yZXR1cm5CbG9jay4uICAgICAgICAgICA6Oj0gIFwie1wiICggc3RlcCB8IG5vbnNlbnNlICkqIHJldHVyblN0YXRlbWVudCBcIn1cIiA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcblxuXG5wcm9jZWR1cmVDYWxsICAgICAgICAgICA6Oj0gIHJlZmVyZW5jZTxOT19XSElURVNQQUNFPlwiKFwiIHZhbHVlcz8gXCIpXCIgO1xuXG5icmFja2V0ZWRWYWx1ZSAgICAgICAgICA6Oj0gIFwiKFwiIHZhbHVlIFwiKVwiIDsgXG5cbmJpdHdpc2VWYWx1ZSAgICAgICAgICAgIDo6PSAgdmFsdWUgKCBcInx8XCIgfCBcIiYmXCIgKSB2YWx1ZSA7IFxuXG5uZWdhdGVkVmFsdWUgICAgICAgICAgICA6Oj0gIFwiIVwiPE5PX1dISVRFU1BBQ0U+dmFsdWUgOyBcblxuY29tcGFyaXNvbiAgICAgICAgICAgICAgOjo9ICB2YWx1ZSAoIFwiIT1cIiB8IFwiPT1cIiApIHZhbHVlIDsgXG5cbm5vZGVzUXVlcnkgICAgICAgICAgICAgIDo6PSAgXCJub2Rlc1F1ZXJ5XCI8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YXJpYWJsZSBcIixcIiBbc3RyaW5nLWxpdGVyYWxdIFwiKVwiIDtcblxubm9kZVF1ZXJ5ICAgICAgICAgICAgICAgOjo9ICBcIm5vZGVRdWVyeVwiPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFyaWFibGUgXCIsXCIgW3N0cmluZy1saXRlcmFsXSBcIilcIiA7XG5cbnZhcmlhYmxlICAgICAgICAgICAgICAgIDo6PSAgW25hbWVdIDtcblxudGVybmFyeSAgICAgICAgICAgICAgICAgOjo9ICBcIklmXCIgXCIoXCIgdmFsdWUgXCIpXCIgdmFsdWUgXCJFbHNlXCIgdmFsdWUgO1xuXG5yZWR1Y2UgICAgICAgICAgICAgICAgICA6Oj0gIFwiUmVkdWNlXCI8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YXJpYWJsZSBcIixcIiBhbm9ueW1vdXNQcm9jZWR1cmUgXCIsXCIgdmFsdWUgXCIpXCIgO1xuXG5ldmVyeSAgICAgICAgICAgICAgICAgICA6Oj0gIFwiRXZlcnlcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIGFub255bW91c1Byb2NlZHVyZSBcIilcIiA7XG5cbnNvbWUgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJTb21lXCI8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YXJpYWJsZSBcIixcIiBhbm9ueW1vdXNQcm9jZWR1cmUgXCIpXCIgO1xuXG5cblxudmFsdWVzICAgICAgICAgICAgICAgICAgOjo9ICB2YWx1ZSAoIFwiLFwiIHZhbHVlICkqIDtcblxudmFsdWUgICAgICAgICAgICAgICAgICAgOjo9ICBicmFja2V0ZWRWYWx1ZSBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBiaXR3aXNlVmFsdWUgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbmVnYXRlZFZhbHVlIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHByb2NlZHVyZUNhbGxcbiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgcmV0dXJuQmxvY2tcblxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBjb21wYXJpc29uIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG5vZGVzUXVlcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG5vZGVRdWVyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgdmFyaWFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHRlcm5hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHJlZHVjZVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGV2ZXJ5XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgc29tZVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFtudWxsXVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFtudW1iZXJdXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBbcHJpbWl0aXZlXVxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgW3N0cmluZy1saXRlcmFsXSBcbiAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG5cblxubmFtZWRQYXJhbWV0ZXJzICAgICAgICAgOjo9ICBuYW1lZFBhcmFtZXRlciAoIFwiLFwiIG5hbWVkUGFyYW1ldGVyICkqIDtcblxubmFtZWRQYXJhbWV0ZXIgICAgICAgICAgOjo9ICBbdHlwZV0gW25hbWVdICggXCJBc1wiIFtuYW1lXSApPyA7XG5cblxuXG5wYXJhbWV0ZXJzICAgICAgICAgICAgICA6Oj0gIHBhcmFtZXRlciAoIFwiLFwiIHBhcmFtZXRlciApKiA7XG5cbnBhcmFtZXRlciAgICAgICAgICAgICAgIDo6PSAgW3R5cGVdIFtuYW1lXVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFwiX1wiIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbmxhYmVsLiAgICAgICAgICAgICAgICAgIDo6PSAgW25hbWVdIDtcblxucmVmZXJlbmNlLiAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuXG5cblxubm9uc2Vuc2UuICAgICAgICAgICAgICAgOjo9ICBbdHlwZV0gfCBba2V5d29yZF0gfCBbcHJpbWl0aXZlXSB8IFtzdHJpbmctbGl0ZXJhbF0gfCBbcXVlcnldIHwgW3NwZWNpYWxdIHwgW25hbWVdIHwgW251bWJlcl0gfCBbdW5hc3NpZ25lZF0gO2A7XG5cbmV4cG9ydCBkZWZhdWx0IGJuZjtcbiJdLCJuYW1lcyI6WyJibmYiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQXNJQTs7O2VBQUE7OztBQXBJQSxJQUFNQSxNQUFPO0lBb0liLFdBQWVBIn0=
|
package/lib/furtle/entries.js
CHANGED
|
@@ -28,7 +28,13 @@ var entries = [
|
|
|
28
28
|
"bracket": "^(?:\\{|\\})"
|
|
29
29
|
},
|
|
30
30
|
{
|
|
31
|
-
"special": "^(?:!=|==|=|,|;|_|&&|\\|\\||\\(|\\))"
|
|
31
|
+
"special": "^(?:!=|==|=|,|;|_|&&|\\|\\||\\(|\\)|\\[|\\])"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"name": "^[a-zA-Z\-]+"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"number": "^[0-9]+"
|
|
32
38
|
},
|
|
33
39
|
{
|
|
34
40
|
"unassigned": "^."
|
|
@@ -36,4 +42,4 @@ var entries = [
|
|
|
36
42
|
];
|
|
37
43
|
var _default = entries;
|
|
38
44
|
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mdXJ0bGUvZW50cmllcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmNvbnN0IGVudHJpZXMgPSBbXHJcbiAge1xyXG4gICAgXCJ0eXBlXCI6IFwiXig/Ok5vZGVzfE5vZGV8U3RyaW5nfE51bWJlcnxCb29sZWFuKVwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcInF1ZXJ5XCI6IFwiXig/Om5vZGVRdWVyeXxub2Rlc1F1ZXJ5KVwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcInJldHVyblwiOiBcIl5SZXR1cm5cIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJrZXl3b3JkXCI6IFwiXig/OklmfEVsc2V8UmVkdWNlfEV2ZXJ5fFNvbWV8QXMpXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwicHJpbWl0aXZlXCI6IFwiXig/Om51bGx8dHJ1ZXxmYWxzZSlcIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJicmFja2V0XCI6IFwiXig/
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mdXJ0bGUvZW50cmllcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmNvbnN0IGVudHJpZXMgPSBbXHJcbiAge1xyXG4gICAgXCJ0eXBlXCI6IFwiXig/Ok5vZGVzfE5vZGV8U3RyaW5nfE51bWJlcnxCb29sZWFuKVwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcInF1ZXJ5XCI6IFwiXig/Om5vZGVRdWVyeXxub2Rlc1F1ZXJ5KVwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcInJldHVyblwiOiBcIl5SZXR1cm5cIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJrZXl3b3JkXCI6IFwiXig/OklmfEVsc2V8UmVkdWNlfEV2ZXJ5fFNvbWV8QXMpXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwicHJpbWl0aXZlXCI6IFwiXig/Om51bGx8dHJ1ZXxmYWxzZSlcIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJicmFja2V0XCI6IFwiXig/OlxcXFx7fFxcXFx9KVwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcInNwZWNpYWxcIjogXCJeKD86IT18PT18PXwsfDt8X3wmJnxcXFxcfFxcXFx8fFxcXFwofFxcXFwpfFxcXFxbfFxcXFxdKVwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcIm5hbWVcIjogXCJeW2EtekEtWlxcLV0rXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwibnVtYmVyXCI6IFwiXlswLTldK1wiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcInVuYXNzaWduZWRcIjogXCJeLlwiXHJcbiAgfVxyXG5dO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgZW50cmllcztcclxuIl0sIm5hbWVzIjpbImVudHJpZXMiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQW1DQTs7O2VBQUE7OztBQWpDQSxJQUFNQSxVQUFVO0lBQ2Q7UUFDRSxRQUFRO0lBQ1Y7SUFDQTtRQUNFLFNBQVM7SUFDWDtJQUNBO1FBQ0UsVUFBVTtJQUNaO0lBQ0E7UUFDRSxXQUFXO0lBQ2I7SUFDQTtRQUNFLGFBQWE7SUFDZjtJQUNBO1FBQ0UsV0FBVztJQUNiO0lBQ0E7UUFDRSxXQUFXO0lBQ2I7SUFDQTtRQUNFLFFBQVE7SUFDVjtJQUNBO1FBQ0UsVUFBVTtJQUNaO0lBQ0E7UUFDRSxjQUFjO0lBQ2hCO0NBQ0Q7SUFFRCxXQUFlQSJ9
|
package/package.json
CHANGED
|
@@ -61,24 +61,24 @@ export default class FurtleView extends View {
|
|
|
61
61
|
|
|
62
62
|
static readOnly = false;
|
|
63
63
|
|
|
64
|
-
static initialContent = `String
|
|
65
|
-
[
|
|
64
|
+
static initialContent = `String boundVariableNameFromStatementChildNodes(Nodes statementChildNodes) {
|
|
65
|
+
[ Node terminalNode ] = statementChildNodes;
|
|
66
66
|
|
|
67
|
-
|
|
67
|
+
{ String content } = terminalNode;
|
|
68
68
|
|
|
69
69
|
String boundVariableName =
|
|
70
70
|
|
|
71
|
-
If (
|
|
72
|
-
|
|
73
|
-
{ String content As boundVariableName } = boundVariableNameTerminalNode;
|
|
74
|
-
|
|
75
|
-
Return boundVariableName;
|
|
76
|
-
})(boundVariableNameTerminalNode)
|
|
71
|
+
If ((content == "∀") || (content == "∃")) {
|
|
72
|
+
[ _, Node argumentNode ] = statementChildNodes;
|
|
77
73
|
|
|
74
|
+
String boundVariableName = boundVariableNameFromArgumentNode(argumentNode);
|
|
75
|
+
|
|
76
|
+
Return boundVariableName;
|
|
77
|
+
}
|
|
78
78
|
Else
|
|
79
|
-
|
|
79
|
+
""
|
|
80
80
|
;
|
|
81
|
-
|
|
81
|
+
|
|
82
82
|
Return boundVariableName;
|
|
83
83
|
}
|
|
84
84
|
`;
|
package/src/furtle/bnf.js
CHANGED
|
@@ -36,7 +36,7 @@ variableAssignment ::= variable "=" value ;
|
|
|
36
36
|
|
|
37
37
|
anonymousProcedure ::= [type] "(" parameters? ")" returnBlock ;
|
|
38
38
|
|
|
39
|
-
returnStatement ::=
|
|
39
|
+
returnStatement ::= "Return" value ";" ;
|
|
40
40
|
|
|
41
41
|
returnBlock.. ::= "{" ( step | nonsense )* returnStatement "}" ;
|
|
42
42
|
|
package/src/furtle/entries.js
CHANGED
|
@@ -20,7 +20,13 @@ const entries = [
|
|
|
20
20
|
"bracket": "^(?:\\{|\\})"
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
|
-
"special": "^(?:!=|==|=|,|;|_|&&|\\|\\||\\(|\\))"
|
|
23
|
+
"special": "^(?:!=|==|=|,|;|_|&&|\\|\\||\\(|\\)|\\[|\\])"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"name": "^[a-zA-Z\-]+"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"number": "^[0-9]+"
|
|
24
30
|
},
|
|
25
31
|
{
|
|
26
32
|
"unassigned": "^."
|