occam-grammars 1.3.166 → 1.3.168

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/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 ::= "[" namedParameters "]" "=" 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\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\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\nnamedParameters ::= namedParameter ( "," namedParameter )* ;\n\nnamedParameter ::= [type] [name] ( "As" [name] )?\n\n | "_" \n\n ;\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] ;\n \n\n \nexpression ::= path spread? subExpression? ;\n\npath ::= "/" infiniteDescent? selectors ;\n\nsubExpression ::= path spread? subExpression?;\n\ninfiniteDescent ::= "/" ;\n\nselectors ::= selector ( "|" selector )* ;\n\nspread ::= unique\n\n | "[" \n \n ( \n \n ( startIndex "..." endIndex ) \n \n | \n \n ( startIndex "..." ) \n \n | \n \n ( "..." endIndex )\n \n | \n \n index \n \n ) \n \n "]" \n \n ;\n\nselector ::= ruleName | tokenType ;\n \nruleName ::= [name] | "*" ;\n \ntokenType ::= "@"<NO_WHITESPACE>( [name] | "*" ) ;\n \nstartIndex ::= [number] ;\n \nendIndex ::= [number] ;\n \nindex ::= [number] ;\n \nunique ::= "!" ;';
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] ;\n \n\n \nexpression ::= path spread? subExpression? ;\n\npath ::= "/" infiniteDescent? selectors ;\n\nsubExpression ::= path spread? subExpression?;\n\ninfiniteDescent ::= "/" ;\n\nselectors ::= selector ( "|" selector )* ;\n\nspread ::= unique\n\n | "[" \n \n ( \n \n ( startIndex "..." endIndex ) \n \n | \n \n ( startIndex "..." ) \n \n | \n \n ( "..." endIndex )\n \n | \n \n index \n \n ) \n \n "]" \n \n ;\n\nselector ::= ruleName | tokenType ;\n \nruleName ::= [name] | "*" ;\n \ntokenType ::= "@"<NO_WHITESPACE>( [name] | "*" ) ;\n \nstartIndex ::= [number] ;\n \nendIndex ::= [number] ;\n \nindex ::= [number] ;\n \nunique ::= "!" ;';
12
12
  var _default = bnf;
13
13
 
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mdXJ0bGUvYm5mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5jb25zdCBibmYgPSBgZG9jdW1lbnQgICAgICAgICAgICAgICAgOjo9ICAoIHByb2NlZHVyZURlY2xhcmF0aW9uIHwgZXJyb3IgKSsgO1xuXG5cblxucHJvY2VkdXJlRGVjbGFyYXRpb24gICAgOjo9ICBbdHlwZV0gbGFiZWw8Tk9fV0hJVEVTUEFDRT5cIihcIiBwYXJhbWV0ZXJzPyBcIilcIiByZXR1cm5CbG9jayA7XG5cblxuXG5lcnJvci4gICAgICAgICAgICAgICAgICA6Oj0gIC4gO1xuXG5cblxudmFyaWFibGVBc3NpZ25tZW50cyAgICAgOjo9ICBbdHlwZV0gdmFyaWFibGVBc3NpZ25tZW50ICggXCIsXCIgdmFyaWFibGVBc3NpZ25tZW50ICkqIFwiO1wiIDtcblxuY29uZGl0aW9uYWxCbG9ja3MgICAgICAgOjo9ICBcIklmXCIgXCIoXCIgdmFsdWUgXCIpXCIgYmxvY2sgKCBcIkVsc2VcIiBibG9jayApPyA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcblxub2JqZWN0QXNzaWdubWVudCAgICAgICAgOjo9ICBcIntcIiBuYW1lZFBhcmFtZXRlcnMgXCJ9XCIgXCI9XCIgdmFyaWFibGUgXCI7XCIgO1xuXG5hcnJheUFzc2lnbm1lbnQgICAgICAgICA6Oj0gIFwiW1wiIG5hbWVkUGFyYW1ldGVycyBcIl1cIiBcIj1cIiB2YXJpYWJsZSBcIjtcIiA7XG5cblxuXG5zdGVwICAgICAgICAgICAgICAgICAgICA6Oj0gIHZhcmlhYmxlQXNzaWdubWVudHNcbiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgY29uZGl0aW9uYWxCbG9ja3NcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG9iamVjdEFzc2lnbm1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGFycmF5QXNzaWdubWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOyAgXG4gIFxuICBcblxudmFyaWFibGVBc3NpZ25tZW50ICAgICAgOjo9ICB2YXJpYWJsZSBcIj1cIiB2YWx1ZSA7XG5cbmFub255bW91c1Byb2NlZHVyZSAgICAgIDo6PSAgW3R5cGVdIFwiKFwiIHBhcmFtZXRlcnM/IFwiKVwiIHJldHVybkJsb2NrIDtcblxucmV0dXJuU3RhdGVtZW50ICAgICAgICAgOjo9ICBbcmV0dXJuXSB2YWx1ZSBcIjtcIiA7IFxuXG5yZXR1cm5CbG9jay4uICAgICAgICAgICA6Oj0gIFwie1wiICggc3RlcCB8IG5vbnNlbnNlICkqIHJldHVyblN0YXRlbWVudCBcIn1cIiA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmJsb2NrLi4gICAgICAgICAgICAgICAgIDo6PSAgXCJ7XCIgKCBzdGVwIHwgbm9uc2Vuc2UgKSogXCJ9XCIgO1xuXG5cblxudmFsdWVzICAgICAgICAgICAgICAgICAgOjo9ICB2YWx1ZSAoIFwiLFwiIHZhbHVlICkqIDtcblxudmFsdWUgICAgICAgICAgICAgICAgICAgOjo9ICBhbm9ueW1vdXNQcm9jZWR1cmVDYWxsXG4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHByb2NlZHVyZUNhbGxcbiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgYnJhY2tldGVkVmFsdWUgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgYml0d2lzZVZhbHVlIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG5lZ2F0ZWRWYWx1ZSBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBjb21wYXJpc29uIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG5vZGVzUXVlcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG5vZGVRdWVyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgdmFyaWFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHRlcm5hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHNvbWVcblxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBbbnVsbF1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBbbnVtYmVyXVxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgW3ByaW1pdGl2ZV1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFtzdHJpbmctbGl0ZXJhbF0gXG4gICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbmFub255bW91c1Byb2NlZHVyZUNhbGwgIDo6PSAgXCIoXCIgYW5vbnltb3VzUHJvY2VkdXJlIFwiKVwiPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFsdWVzPyBcIilcIiA7XG5cbnByb2NlZHVyZUNhbGwgICAgICAgICAgIDo6PSAgcmVmZXJlbmNlPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFsdWVzPyBcIilcIiA7XG5cbmJyYWNrZXRlZFZhbHVlICAgICAgICAgIDo6PSAgXCIoXCIgdmFsdWUgXCIpXCIgOyBcblxuYml0d2lzZVZhbHVlICAgICAgICAgICAgOjo9ICB2YWx1ZSAoIFwifHxcIiB8IFwiJiZcIiApIHZhbHVlIDsgXG5cbm5lZ2F0ZWRWYWx1ZSAgICAgICAgICAgIDo6PSAgXCIhXCI8Tk9fV0hJVEVTUEFDRT52YWx1ZSA7IFxuXG5jb21wYXJpc29uICAgICAgICAgICAgICA6Oj0gIHZhbHVlICggXCIhPVwiIHwgXCI9PVwiICkgdmFsdWUgOyBcblxubm9kZXNRdWVyeSAgICAgICAgICAgICAgOjo9ICBcIm5vZGVzUXVlcnlcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIGV4cHJlc3Npb24gXCIpXCIgO1xuXG5ub2RlUXVlcnkgICAgICAgICAgICAgICA6Oj0gIFwibm9kZVF1ZXJ5XCI8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YXJpYWJsZSBcIixcIiBleHByZXNzaW9uIFwiKVwiIDtcblxudmFyaWFibGUgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuXG50ZXJuYXJ5ICAgICAgICAgICAgICAgICA6Oj0gIFwiSWZcIiBcIihcIiB2YWx1ZSBcIilcIiB2YWx1ZSBcIkVsc2VcIiB2YWx1ZSA7XG5cbnNvbWUgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJTb21lXCI8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YXJpYWJsZSBcIixcIiBhbm9ueW1vdXNQcm9jZWR1cmUgXCIpXCIgO1xuXG5cblxubmFtZWRQYXJhbWV0ZXJzICAgICAgICAgOjo9ICBuYW1lZFBhcmFtZXRlciAoIFwiLFwiIG5hbWVkUGFyYW1ldGVyICkqIDtcblxubmFtZWRQYXJhbWV0ZXIgICAgICAgICAgOjo9ICBbdHlwZV0gW25hbWVdICggXCJBc1wiIFtuYW1lXSApP1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFwiX1wiIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbnBhcmFtZXRlcnMgICAgICAgICAgICAgIDo6PSAgcGFyYW1ldGVyICggXCIsXCIgcGFyYW1ldGVyICkqIDtcblxucGFyYW1ldGVyICAgICAgICAgICAgICAgOjo9ICBbdHlwZV0gW25hbWVdXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgXCJfXCIgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG5cblxubGFiZWwuICAgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuXG5yZWZlcmVuY2UuICAgICAgICAgICAgICA6Oj0gIFtuYW1lXSA7XG5cblxuXG5ub25zZW5zZS4gICAgICAgICAgICAgICA6Oj0gIFt0eXBlXSB8IFtrZXl3b3JkXSB8IFtwcmltaXRpdmVdIHwgW3F1ZXJ5XSB8IFtzcGVjaWFsXSB8IFtuYW1lXSB8IFtudW1iZXJdIHwgW3VuYXNzaWduZWRdIDtcbiAgICBcblxuICAgIFxuZXhwcmVzc2lvbiAgICAgICAgICAgICAgOjo9ICBwYXRoIHNwcmVhZD8gc3ViRXhwcmVzc2lvbj8gO1xuXG5wYXRoICAgICAgICAgICAgICAgICAgICA6Oj0gIFwiL1wiIGluZmluaXRlRGVzY2VudD8gc2VsZWN0b3JzIDtcblxuc3ViRXhwcmVzc2lvbiAgICAgICAgICAgOjo9ICBwYXRoIHNwcmVhZD8gc3ViRXhwcmVzc2lvbj87XG5cbmluZmluaXRlRGVzY2VudCAgICAgICAgIDo6PSAgXCIvXCIgO1xuXG5zZWxlY3RvcnMgICAgICAgICAgICAgICA6Oj0gIHNlbGVjdG9yICggXCJ8XCIgc2VsZWN0b3IgKSogO1xuXG5zcHJlYWQgICAgICAgICAgICAgICAgICA6Oj0gIHVuaXF1ZVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFwiW1wiIFxuICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICggXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIHN0YXJ0SW5kZXggXCIuLi5cIiBlbmRJbmRleCApIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggc3RhcnRJbmRleCBcIi4uLlwiICkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBcIi4uLlwiIGVuZEluZGV4IClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXggXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG5zZWxlY3RvciAgICAgICAgICAgICAgICA6Oj0gIHJ1bGVOYW1lIHwgdG9rZW5UeXBlIDtcbiAgICAgICAgICAgICAgICAgICBcbnJ1bGVOYW1lICAgICAgICAgICAgICAgIDo6PSAgW25hbWVdIHwgXCIqXCIgO1xuICAgICAgICAgICAgICAgICAgIFxudG9rZW5UeXBlICAgICAgICAgICAgICAgOjo9ICBcIkBcIjxOT19XSElURVNQQUNFPiggW25hbWVdIHwgXCIqXCIgKSA7XG4gICAgICAgICAgICAgICAgICAgXG5zdGFydEluZGV4ICAgICAgICAgICAgICA6Oj0gIFtudW1iZXJdIDtcbiAgICAgICAgICAgICAgICAgICBcbmVuZEluZGV4ICAgICAgICAgICAgICAgIDo6PSAgW251bWJlcl0gO1xuICAgICAgICAgICAgICAgICAgIFxuaW5kZXggICAgICAgICAgICAgICAgICAgOjo9ICBbbnVtYmVyXSA7XG4gICAgICAgICAgICAgICAgICAgXG51bmlxdWUgICAgICAgICAgICAgICAgICA6Oj0gIFwiIVwiIDtgO1xuXG5leHBvcnQgZGVmYXVsdCBibmY7XG4iXSwibmFtZXMiOlsiYm5mIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkE0TEE7OztlQUFBOzs7QUExTEEsSUFBTUEsTUFBTztJQTBMYixXQUFlQSJ9
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mdXJ0bGUvYm5mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5jb25zdCBibmYgPSBgZG9jdW1lbnQgICAgICAgICAgICAgICAgOjo9ICAoIHByb2NlZHVyZURlY2xhcmF0aW9uIHwgZXJyb3IgKSsgO1xuXG5cblxucHJvY2VkdXJlRGVjbGFyYXRpb24gICAgOjo9ICBbdHlwZV0gbGFiZWw8Tk9fV0hJVEVTUEFDRT5cIihcIiBwYXJhbWV0ZXJzPyBcIilcIiByZXR1cm5CbG9jayA7XG5cblxuXG5lcnJvci4gICAgICAgICAgICAgICAgICA6Oj0gIC4gO1xuXG5cblxudmFyaWFibGVBc3NpZ25tZW50cyAgICAgOjo9ICBbdHlwZV0gdmFyaWFibGVBc3NpZ25tZW50ICggXCIsXCIgdmFyaWFibGVBc3NpZ25tZW50ICkqIFwiO1wiIDtcblxuY29uZGl0aW9uYWxCbG9ja3MgICAgICAgOjo9ICBcIklmXCIgXCIoXCIgdmFsdWUgXCIpXCIgYmxvY2sgKCBcIkVsc2VcIiBibG9jayApPyA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcblxub2JqZWN0QXNzaWdubWVudCAgICAgICAgOjo9ICBcIntcIiBuYW1lZFBhcmFtZXRlcnMgXCJ9XCIgXCI9XCIgdmFyaWFibGUgXCI7XCIgO1xuXG5hcnJheUFzc2lnbm1lbnQgICAgICAgICA6Oj0gIFwiW1wiIHBhcmFtZXRlcnMgXCJdXCIgXCI9XCIgdmFyaWFibGUgXCI7XCIgO1xuXG5cblxuc3RlcCAgICAgICAgICAgICAgICAgICAgOjo9ICB2YXJpYWJsZUFzc2lnbm1lbnRzXG4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGNvbmRpdGlvbmFsQmxvY2tzXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBvYmplY3RBc3NpZ25tZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBhcnJheUFzc2lnbm1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDsgIFxuICBcbiAgXG5cbnZhcmlhYmxlQXNzaWdubWVudCAgICAgIDo6PSAgdmFyaWFibGUgXCI9XCIgdmFsdWUgO1xuXG5hbm9ueW1vdXNQcm9jZWR1cmUgICAgICA6Oj0gIFt0eXBlXSBcIihcIiBwYXJhbWV0ZXJzPyBcIilcIiByZXR1cm5CbG9jayA7XG5cbnJldHVyblN0YXRlbWVudCAgICAgICAgIDo6PSAgW3JldHVybl0gdmFsdWUgXCI7XCIgOyBcblxucmV0dXJuQmxvY2suLiAgICAgICAgICAgOjo9ICBcIntcIiAoIHN0ZXAgfCBub25zZW5zZSApKiByZXR1cm5TdGF0ZW1lbnQgXCJ9XCIgO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5ibG9jay4uICAgICAgICAgICAgICAgICA6Oj0gIFwie1wiICggc3RlcCB8IG5vbnNlbnNlICkqIFwifVwiIDtcblxuXG5cbmFub255bW91c1Byb2NlZHVyZUNhbGwgIDo6PSAgXCIoXCIgYW5vbnltb3VzUHJvY2VkdXJlIFwiKVwiPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFsdWVzPyBcIilcIiA7XG5cbnByb2NlZHVyZUNhbGwgICAgICAgICAgIDo6PSAgcmVmZXJlbmNlPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFsdWVzPyBcIilcIiA7XG5cbmJyYWNrZXRlZFZhbHVlICAgICAgICAgIDo6PSAgXCIoXCIgdmFsdWUgXCIpXCIgOyBcblxuYml0d2lzZVZhbHVlICAgICAgICAgICAgOjo9ICB2YWx1ZSAoIFwifHxcIiB8IFwiJiZcIiApIHZhbHVlIDsgXG5cbm5lZ2F0ZWRWYWx1ZSAgICAgICAgICAgIDo6PSAgXCIhXCI8Tk9fV0hJVEVTUEFDRT52YWx1ZSA7IFxuXG5jb21wYXJpc29uICAgICAgICAgICAgICA6Oj0gIHZhbHVlICggXCIhPVwiIHwgXCI9PVwiICkgdmFsdWUgOyBcblxubm9kZXNRdWVyeSAgICAgICAgICAgICAgOjo9ICBcIm5vZGVzUXVlcnlcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIGV4cHJlc3Npb24gXCIpXCIgO1xuXG5ub2RlUXVlcnkgICAgICAgICAgICAgICA6Oj0gIFwibm9kZVF1ZXJ5XCI8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YXJpYWJsZSBcIixcIiBleHByZXNzaW9uIFwiKVwiIDtcblxudmFyaWFibGUgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuXG50ZXJuYXJ5ICAgICAgICAgICAgICAgICA6Oj0gIFwiSWZcIiBcIihcIiB2YWx1ZSBcIilcIiB2YWx1ZSBcIkVsc2VcIiB2YWx1ZSA7XG5cbnNvbWUgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJTb21lXCI8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YXJpYWJsZSBcIixcIiBhbm9ueW1vdXNQcm9jZWR1cmUgXCIpXCIgO1xuXG5cblxudmFsdWVzICAgICAgICAgICAgICAgICAgOjo9ICB2YWx1ZSAoIFwiLFwiIHZhbHVlICkqIDtcblxudmFsdWUgICAgICAgICAgICAgICAgICAgOjo9ICBhbm9ueW1vdXNQcm9jZWR1cmVDYWxsXG4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHByb2NlZHVyZUNhbGxcbiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgYnJhY2tldGVkVmFsdWUgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgYml0d2lzZVZhbHVlIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG5lZ2F0ZWRWYWx1ZSBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBjb21wYXJpc29uIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG5vZGVzUXVlcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG5vZGVRdWVyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgdmFyaWFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHRlcm5hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHNvbWVcblxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBbbnVsbF1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBbbnVtYmVyXVxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgW3ByaW1pdGl2ZV1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFtzdHJpbmctbGl0ZXJhbF0gXG4gICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbm5hbWVkUGFyYW1ldGVycyAgICAgICAgIDo6PSAgbmFtZWRQYXJhbWV0ZXIgKCBcIixcIiBuYW1lZFBhcmFtZXRlciApKiA7XG5cbm5hbWVkUGFyYW1ldGVyICAgICAgICAgIDo6PSAgW3R5cGVdIFtuYW1lXSAoIFwiQXNcIiBbbmFtZV0gKT8gO1xuXG5cblxucGFyYW1ldGVycyAgICAgICAgICAgICAgOjo9ICBwYXJhbWV0ZXIgKCBcIixcIiBwYXJhbWV0ZXIgKSogO1xuXG5wYXJhbWV0ZXIgICAgICAgICAgICAgICA6Oj0gIFt0eXBlXSBbbmFtZV1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBcIl9cIiBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICA7XG5cblxuXG5sYWJlbC4gICAgICAgICAgICAgICAgICA6Oj0gIFtuYW1lXSA7XG5cbnJlZmVyZW5jZS4gICAgICAgICAgICAgIDo6PSAgW25hbWVdIDtcblxuXG5cbm5vbnNlbnNlLiAgICAgICAgICAgICAgIDo6PSAgW3R5cGVdIHwgW2tleXdvcmRdIHwgW3ByaW1pdGl2ZV0gfCBbcXVlcnldIHwgW3NwZWNpYWxdIHwgW25hbWVdIHwgW251bWJlcl0gfCBbdW5hc3NpZ25lZF0gO1xuICAgIFxuXG4gICAgXG5leHByZXNzaW9uICAgICAgICAgICAgICA6Oj0gIHBhdGggc3ByZWFkPyBzdWJFeHByZXNzaW9uPyA7XG5cbnBhdGggICAgICAgICAgICAgICAgICAgIDo6PSAgXCIvXCIgaW5maW5pdGVEZXNjZW50PyBzZWxlY3RvcnMgO1xuXG5zdWJFeHByZXNzaW9uICAgICAgICAgICA6Oj0gIHBhdGggc3ByZWFkPyBzdWJFeHByZXNzaW9uPztcblxuaW5maW5pdGVEZXNjZW50ICAgICAgICAgOjo9ICBcIi9cIiA7XG5cbnNlbGVjdG9ycyAgICAgICAgICAgICAgIDo6PSAgc2VsZWN0b3IgKCBcInxcIiBzZWxlY3RvciApKiA7XG5cbnNwcmVhZCAgICAgICAgICAgICAgICAgIDo6PSAgdW5pcXVlXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgXCJbXCIgXG4gICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggc3RhcnRJbmRleCBcIi4uLlwiIGVuZEluZGV4ICkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBzdGFydEluZGV4IFwiLi4uXCIgKSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIFwiLi4uXCIgZW5kSW5kZXggKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICApICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJdXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICA7XG5cbnNlbGVjdG9yICAgICAgICAgICAgICAgIDo6PSAgcnVsZU5hbWUgfCB0b2tlblR5cGUgO1xuICAgICAgICAgICAgICAgICAgIFxucnVsZU5hbWUgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gfCBcIipcIiA7XG4gICAgICAgICAgICAgICAgICAgXG50b2tlblR5cGUgICAgICAgICAgICAgICA6Oj0gIFwiQFwiPE5PX1dISVRFU1BBQ0U+KCBbbmFtZV0gfCBcIipcIiApIDtcbiAgICAgICAgICAgICAgICAgICBcbnN0YXJ0SW5kZXggICAgICAgICAgICAgIDo6PSAgW251bWJlcl0gO1xuICAgICAgICAgICAgICAgICAgIFxuZW5kSW5kZXggICAgICAgICAgICAgICAgOjo9ICBbbnVtYmVyXSA7XG4gICAgICAgICAgICAgICAgICAgXG5pbmRleCAgICAgICAgICAgICAgICAgICA6Oj0gIFtudW1iZXJdIDtcbiAgICAgICAgICAgICAgICAgICBcbnVuaXF1ZSAgICAgICAgICAgICAgICAgIDo6PSAgXCIhXCIgO2A7XG5cbmV4cG9ydCBkZWZhdWx0IGJuZjtcbiJdLCJuYW1lcyI6WyJibmYiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQXdMQTs7O2VBQUE7OztBQXRMQSxJQUFNQSxNQUFPO0lBc0xiLFdBQWVBIn0=
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-grammars",
3
3
  "author": "James Smith",
4
- "version": "1.3.166",
4
+ "version": "1.3.168",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-grammars",
7
7
  "description": "Occam's grammars.",
package/src/furtle/bnf.js CHANGED
@@ -18,7 +18,7 @@ conditionalBlocks ::= "If" "(" value ")" block ( "Else" block )? ;
18
18
 
19
19
  objectAssignment ::= "{" namedParameters "}" "=" variable ";" ;
20
20
 
21
- arrayAssignment ::= "[" namedParameters "]" "=" variable ";" ;
21
+ arrayAssignment ::= "[" parameters "]" "=" variable ";" ;
22
22
 
23
23
 
24
24
 
@@ -46,6 +46,30 @@ block.. ::= "{" ( step | nonsense )* "}" ;
46
46
 
47
47
 
48
48
 
49
+ anonymousProcedureCall ::= "(" anonymousProcedure ")"<NO_WHITESPACE>"(" values? ")" ;
50
+
51
+ procedureCall ::= reference<NO_WHITESPACE>"(" values? ")" ;
52
+
53
+ bracketedValue ::= "(" value ")" ;
54
+
55
+ bitwiseValue ::= value ( "||" | "&&" ) value ;
56
+
57
+ negatedValue ::= "!"<NO_WHITESPACE>value ;
58
+
59
+ comparison ::= value ( "!=" | "==" ) value ;
60
+
61
+ nodesQuery ::= "nodesQuery"<NO_WHITESPACE>"(" variable "," expression ")" ;
62
+
63
+ nodeQuery ::= "nodeQuery"<NO_WHITESPACE>"(" variable "," expression ")" ;
64
+
65
+ variable ::= [name] ;
66
+
67
+ ternary ::= "If" "(" value ")" value "Else" value ;
68
+
69
+ some ::= "Some"<NO_WHITESPACE>"(" variable "," anonymousProcedure ")" ;
70
+
71
+
72
+
49
73
  values ::= value ( "," value )* ;
50
74
 
51
75
  value ::= anonymousProcedureCall
@@ -82,37 +106,9 @@ value ::= anonymousProcedureCall
82
106
 
83
107
 
84
108
 
85
- anonymousProcedureCall ::= "(" anonymousProcedure ")"<NO_WHITESPACE>"(" values? ")" ;
86
-
87
- procedureCall ::= reference<NO_WHITESPACE>"(" values? ")" ;
88
-
89
- bracketedValue ::= "(" value ")" ;
90
-
91
- bitwiseValue ::= value ( "||" | "&&" ) value ;
92
-
93
- negatedValue ::= "!"<NO_WHITESPACE>value ;
94
-
95
- comparison ::= value ( "!=" | "==" ) value ;
96
-
97
- nodesQuery ::= "nodesQuery"<NO_WHITESPACE>"(" variable "," expression ")" ;
98
-
99
- nodeQuery ::= "nodeQuery"<NO_WHITESPACE>"(" variable "," expression ")" ;
100
-
101
- variable ::= [name] ;
102
-
103
- ternary ::= "If" "(" value ")" value "Else" value ;
104
-
105
- some ::= "Some"<NO_WHITESPACE>"(" variable "," anonymousProcedure ")" ;
106
-
107
-
108
-
109
109
  namedParameters ::= namedParameter ( "," namedParameter )* ;
110
110
 
111
- namedParameter ::= [type] [name] ( "As" [name] )?
112
-
113
- | "_"
114
-
115
- ;
111
+ namedParameter ::= [type] [name] ( "As" [name] )? ;
116
112
 
117
113
 
118
114