occam-grammars 1.3.172 → 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.
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.172",
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.",
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)"