occam-grammars 1.3.149 → 1.3.151

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\nvariablesDeclaration ::= [type] variable assignment ( "," variable assignment )* ";" ;\n\nvariableAssignment ::= variable assignment ";" ;\n\nconditionalBlocks ::= "If" "(" condition ")" block ( "Else" block )? ; \n\nobjectAssignment ::= "{" parameters "}" "=" variable ";" ;\n\narrayAssignment ::= "[" parameters "]" "=" variable ";" ;\n \nforEachLoop ::= "ForEach"<NO_WHITESPACE>"(" variable "," anonymousProcedure ")" ";" ;\n\n\n\nanonymousProcedure ::= "(" parameters? ")" block ;\n\n\n\ncondition ::= bracketedCondition \n\n | bitwiseCondition \n\n | negatedCondition \n\n | comparison \n\n | value \n \n ;\n \nbracketedCondition ::= "(" condition ")" ; \n\nbitwiseCondition ::= condition ( "||" | "&&" ) condition ; \n\nnegatedCondition ::= "!"<NO_WHITESPACE>condition ; \n\ncomparison ::= value ( "!=" | "==" ) value ; \n\n\n\n\nblock.. ::= "{" ( step | nonsense )* "}" ;\n\nreturnBlock.. ::= "{" ( step | nonsense )* returnStatement "}" ;\n \nreturnStatement ::= [return] value ";" ; \n\n\n\nstep ::= variablesDeclaration\n \n | variableAssignment\n \n | conditionalBlocks\n \n | objectAssignment\n \n | arrayAssignment\n \n | forEachLoop\n \n ; \n \n \n \nassignment ::= "=" value ;\n\n\n\nvalue ::= procedureCall\n \n | nodesQuery\n \n | nodeQuery\n \n | variable\n \n | ternary\n \n | [number]\n \n | [primitive]\n \n | [string-literal] \n \n ;\n\n\n\nprocedureCall ::= reference<NO_WHITESPACE>"(" values? ")" ;\n\nnodesQuery ::= "nodesQuery"<NO_WHITESPACE>"(" variable "," expression ")" ;\n\nnodeQuery ::= "nodeQuery"<NO_WHITESPACE>"(" variable "," expression ")" ;\n\nvariable ::= [name] ;\n\nternary ::= "If" "(" condition ")" value "Else" value ;\n\n\n\nparameters ::= parameter ( "," parameter )* ;\n\nvalues ::= value ( "," value )* ;\n\n\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\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\nvariablesDeclaration ::= [type] variable assignment ( "," variable assignment )* ";" ;\n\nvariableAssignment ::= variable assignment ";" ;\n\nconditionalBlocks ::= "If" "(" condition ")" block ( "Else" block )? ; \n\nobjectAssignment ::= "{" parameters "}" "=" variable ";" ;\n\narrayAssignment ::= "[" parameters "]" "=" variable ";" ;\n \nsomeLoop ::= "Some"<NO_WHITESPACE>"(" variable "," anonymousProcedure ")" ";" ;\n\n\n\nanonymousProcedure ::= "(" parameters? ")" returnBlock ;\n\n\n\ncondition ::= bracketedCondition \n\n | bitwiseCondition \n\n | negatedCondition \n\n | comparison \n\n | value \n \n ;\n \nbracketedCondition ::= "(" condition ")" ; \n\nbitwiseCondition ::= condition ( "||" | "&&" ) condition ; \n\nnegatedCondition ::= "!"<NO_WHITESPACE>condition ; \n\ncomparison ::= value ( "!=" | "==" ) value ; \n\n\n\n\nblock.. ::= "{" ( step | nonsense )* "}" ;\n\nreturnBlock.. ::= "{" ( step | nonsense )* returnStatement "}" ;\n \nreturnStatement ::= [return] value ";" ; \n\n\n\nstep ::= variablesDeclaration\n \n | variableAssignment\n \n | conditionalBlocks\n \n | objectAssignment\n \n | arrayAssignment\n \n | someLoop\n \n ; \n \n \n \nassignment ::= "=" value ;\n\n\n\nvalue ::= procedureCall\n \n | nodesQuery\n \n | nodeQuery\n \n | variable\n \n | ternary\n \n | [null]\n\n | [number]\n \n | [primitive]\n \n | [string-literal] \n \n ;\n\n\n\nprocedureCall ::= reference<NO_WHITESPACE>"(" values? ")" ;\n\nnodesQuery ::= "nodesQuery"<NO_WHITESPACE>"(" variable "," expression ")" ;\n\nnodeQuery ::= "nodeQuery"<NO_WHITESPACE>"(" variable "," expression ")" ;\n\nvariable ::= [name] ;\n\nternary ::= "If" "(" condition ")" value "Else" value ;\n\n\n\nparameters ::= parameter ( "," parameter )* ;\n\nvalues ::= value ( "," value )* ;\n\n\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\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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mdXJ0bGUvYm5mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5jb25zdCBibmYgPSBgZG9jdW1lbnQgICAgICAgICAgICAgICA6Oj0gICggcHJvY2VkdXJlRGVjbGFyYXRpb24gfCBlcnJvciApKyA7XG5cblxuXG5wcm9jZWR1cmVEZWNsYXJhdGlvbiAgIDo6PSAgW3R5cGVdIGxhYmVsPE5PX1dISVRFU1BBQ0U+XCIoXCIgcGFyYW1ldGVycz8gXCIpXCIgcmV0dXJuQmxvY2sgO1xuXG5cblxuZXJyb3IuICAgICAgICAgICAgICAgICA6Oj0gIC4gO1xuXG5cblxudmFyaWFibGVzRGVjbGFyYXRpb24gICA6Oj0gIFt0eXBlXSB2YXJpYWJsZSBhc3NpZ25tZW50ICggXCIsXCIgdmFyaWFibGUgYXNzaWdubWVudCApKiBcIjtcIiA7XG5cbnZhcmlhYmxlQXNzaWdubWVudCAgICAgOjo9ICB2YXJpYWJsZSBhc3NpZ25tZW50IFwiO1wiIDtcblxuY29uZGl0aW9uYWxCbG9ja3MgICAgICA6Oj0gIFwiSWZcIiBcIihcIiBjb25kaXRpb24gXCIpXCIgYmxvY2sgKCBcIkVsc2VcIiBibG9jayApPyA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcblxub2JqZWN0QXNzaWdubWVudCAgICAgICA6Oj0gIFwie1wiIHBhcmFtZXRlcnMgXCJ9XCIgXCI9XCIgdmFyaWFibGUgXCI7XCIgO1xuXG5hcnJheUFzc2lnbm1lbnQgICAgICAgIDo6PSAgXCJbXCIgcGFyYW1ldGVycyBcIl1cIiBcIj1cIiB2YXJpYWJsZSBcIjtcIiA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmZvckVhY2hMb29wICAgICAgICAgICAgOjo9ICBcIkZvckVhY2hcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIGFub255bW91c1Byb2NlZHVyZSBcIilcIiBcIjtcIiA7XG5cblxuXG5hbm9ueW1vdXNQcm9jZWR1cmUgICAgIDo6PSAgXCIoXCIgcGFyYW1ldGVycz8gXCIpXCIgYmxvY2sgO1xuXG5cblxuY29uZGl0aW9uICAgICAgICAgICAgICA6Oj0gIGJyYWNrZXRlZENvbmRpdGlvbiBcblxuICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGJpdHdpc2VDb25kaXRpb24gXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBuZWdhdGVkQ29uZGl0aW9uIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgY29tcGFyaXNvbiBcblxuICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHZhbHVlIFxuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgO1xuICAgICAgICAgICAgICAgICAgICAgICAgXG5icmFja2V0ZWRDb25kaXRpb24gICAgIDo6PSAgXCIoXCIgY29uZGl0aW9uIFwiKVwiIDsgXG5cbmJpdHdpc2VDb25kaXRpb24gICAgICAgOjo9ICBjb25kaXRpb24gKCBcInx8XCIgfCBcIiYmXCIgKSBjb25kaXRpb24gOyBcblxubmVnYXRlZENvbmRpdGlvbiAgICAgICA6Oj0gIFwiIVwiPE5PX1dISVRFU1BBQ0U+Y29uZGl0aW9uIDsgXG5cbmNvbXBhcmlzb24gICAgICAgICAgICAgOjo9ICB2YWx1ZSAoIFwiIT1cIiB8IFwiPT1cIiApIHZhbHVlIDsgXG5cblxuXG5cbmJsb2NrLi4gICAgICAgICAgICAgICAgOjo9ICBcIntcIiAoIHN0ZXAgfCBub25zZW5zZSApKiBcIn1cIiA7XG5cbnJldHVybkJsb2NrLi4gICAgICAgICAgOjo9ICBcIntcIiAoIHN0ZXAgfCBub25zZW5zZSApKiByZXR1cm5TdGF0ZW1lbnQgXCJ9XCIgO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5yZXR1cm5TdGF0ZW1lbnQgICAgICAgIDo6PSAgW3JldHVybl0gdmFsdWUgXCI7XCIgOyBcblxuXG5cbnN0ZXAgICAgICAgICAgICAgICAgICAgOjo9ICB2YXJpYWJsZXNEZWNsYXJhdGlvblxuIFxuICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHZhcmlhYmxlQXNzaWdubWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBjb25kaXRpb25hbEJsb2Nrc1xuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBvYmplY3RBc3NpZ25tZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGFycmF5QXNzaWdubWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBmb3JFYWNoTG9vcFxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICA7ICBcbiAgXG4gIFxuICBcbmFzc2lnbm1lbnQgICAgICAgICAgICAgOjo9ICBcIj1cIiB2YWx1ZSA7XG5cblxuXG52YWx1ZSAgICAgICAgICAgICAgICAgIDo6PSAgcHJvY2VkdXJlQ2FsbFxuIFxuICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG5vZGVzUXVlcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgbm9kZVF1ZXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHZhcmlhYmxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHRlcm5hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgW251bWJlcl1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgW3ByaW1pdGl2ZV1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgW3N0cmluZy1saXRlcmFsXSBcbiAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICA7XG5cblxuXG5wcm9jZWR1cmVDYWxsICAgICAgICAgIDo6PSAgcmVmZXJlbmNlPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFsdWVzPyBcIilcIiA7XG5cbm5vZGVzUXVlcnkgICAgICAgICAgICAgOjo9ICBcIm5vZGVzUXVlcnlcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIGV4cHJlc3Npb24gXCIpXCIgO1xuXG5ub2RlUXVlcnkgICAgICAgICAgICAgIDo6PSAgXCJub2RlUXVlcnlcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIGV4cHJlc3Npb24gXCIpXCIgO1xuXG52YXJpYWJsZSAgICAgICAgICAgICAgIDo6PSAgW25hbWVdIDtcblxudGVybmFyeSAgICAgICAgICAgICAgICA6Oj0gIFwiSWZcIiBcIihcIiBjb25kaXRpb24gXCIpXCIgdmFsdWUgXCJFbHNlXCIgdmFsdWUgO1xuXG5cblxucGFyYW1ldGVycyAgICAgICAgICAgICA6Oj0gIHBhcmFtZXRlciAoIFwiLFwiIHBhcmFtZXRlciApKiA7XG5cbnZhbHVlcyAgICAgICAgICAgICAgICAgOjo9ICB2YWx1ZSAoIFwiLFwiIHZhbHVlICkqIDtcblxuXG5cbnBhcmFtZXRlciAgICAgICAgICAgICAgOjo9ICBbdHlwZV0gW25hbWVdXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBcIl9cIiBcblxuICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbmxhYmVsLiAgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuXG5yZWZlcmVuY2UuICAgICAgICAgICAgIDo6PSAgW25hbWVdIDtcblxuXG5cbm5vbnNlbnNlLiAgICAgICAgICAgICAgOjo9ICBbdHlwZV0gfCBba2V5d29yZF0gfCBbcHJpbWl0aXZlXSB8IFtxdWVyeV0gfCBbc3BlY2lhbF0gfCBbbmFtZV0gfCBbbnVtYmVyXSB8IFt1bmFzc2lnbmVkXSA7XG4gICAgXG5cbiAgICBcbmV4cHJlc3Npb24gICAgICAgICAgICAgOjo9ICBwYXRoIHNwcmVhZD8gc3ViRXhwcmVzc2lvbj8gO1xuXG5wYXRoICAgICAgICAgICAgICAgICAgIDo6PSAgXCIvXCIgaW5maW5pdGVEZXNjZW50PyBzZWxlY3RvcnMgO1xuXG5zdWJFeHByZXNzaW9uICAgICAgICAgIDo6PSAgcGF0aCBzcHJlYWQ/IHN1YkV4cHJlc3Npb24/O1xuXG5pbmZpbml0ZURlc2NlbnQgICAgICAgIDo6PSAgXCIvXCIgO1xuXG5zZWxlY3RvcnMgICAgICAgICAgICAgIDo6PSAgc2VsZWN0b3IgKCBcInxcIiBzZWxlY3RvciApKiA7XG5cbnNwcmVhZCAgICAgICAgICAgICAgICAgOjo9ICB1bmlxdWVcblxuICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFwiW1wiIFxuICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBzdGFydEluZGV4IFwiLi4uXCIgZW5kSW5kZXggKSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBzdGFydEluZGV4IFwiLi4uXCIgKSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBcIi4uLlwiIGVuZEluZGV4IClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJdXCIgO1xuXG5zZWxlY3RvciAgICAgICAgICAgICAgIDo6PSAgcnVsZU5hbWUgfCB0b2tlblR5cGUgO1xuICAgICAgICAgICAgICAgICAgIFxucnVsZU5hbWUgICAgICAgICAgICAgICA6Oj0gIFtuYW1lXSB8IFwiKlwiIDtcbiAgICAgICAgICAgICAgICAgICBcbnRva2VuVHlwZSAgICAgICAgICAgICAgOjo9ICBcIkBcIjxOT19XSElURVNQQUNFPiggW25hbWVdIHwgXCIqXCIgKSA7XG4gICAgICAgICAgICAgICAgICAgXG5zdGFydEluZGV4ICAgICAgICAgICAgIDo6PSAgW251bWJlcl0gO1xuICAgICAgICAgICAgICAgICAgIFxuZW5kSW5kZXggICAgICAgICAgICAgICA6Oj0gIFtudW1iZXJdIDtcbiAgICAgICAgICAgICAgICAgICBcbmluZGV4ICAgICAgICAgICAgICAgICAgOjo9ICBbbnVtYmVyXSA7XG4gICAgICAgICAgICAgICAgICAgXG51bmlxdWUgICAgICAgICAgICAgICAgIDo6PSAgXCIhXCIgO2A7XG5cbmV4cG9ydCBkZWZhdWx0IGJuZjtcbiJdLCJuYW1lcyI6WyJibmYiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQTJMQTs7O2VBQUE7OztBQXpMQSxJQUFNQSxNQUFPO0lBeUxiLFdBQWVBIn0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mdXJ0bGUvYm5mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5jb25zdCBibmYgPSBgZG9jdW1lbnQgICAgICAgICAgICAgICA6Oj0gICggcHJvY2VkdXJlRGVjbGFyYXRpb24gfCBlcnJvciApKyA7XG5cblxuXG5wcm9jZWR1cmVEZWNsYXJhdGlvbiAgIDo6PSAgW3R5cGVdIGxhYmVsPE5PX1dISVRFU1BBQ0U+XCIoXCIgcGFyYW1ldGVycz8gXCIpXCIgcmV0dXJuQmxvY2sgO1xuXG5cblxuZXJyb3IuICAgICAgICAgICAgICAgICA6Oj0gIC4gO1xuXG5cblxudmFyaWFibGVzRGVjbGFyYXRpb24gICA6Oj0gIFt0eXBlXSB2YXJpYWJsZSBhc3NpZ25tZW50ICggXCIsXCIgdmFyaWFibGUgYXNzaWdubWVudCApKiBcIjtcIiA7XG5cbnZhcmlhYmxlQXNzaWdubWVudCAgICAgOjo9ICB2YXJpYWJsZSBhc3NpZ25tZW50IFwiO1wiIDtcblxuY29uZGl0aW9uYWxCbG9ja3MgICAgICA6Oj0gIFwiSWZcIiBcIihcIiBjb25kaXRpb24gXCIpXCIgYmxvY2sgKCBcIkVsc2VcIiBibG9jayApPyA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcblxub2JqZWN0QXNzaWdubWVudCAgICAgICA6Oj0gIFwie1wiIHBhcmFtZXRlcnMgXCJ9XCIgXCI9XCIgdmFyaWFibGUgXCI7XCIgO1xuXG5hcnJheUFzc2lnbm1lbnQgICAgICAgIDo6PSAgXCJbXCIgcGFyYW1ldGVycyBcIl1cIiBcIj1cIiB2YXJpYWJsZSBcIjtcIiA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbnNvbWVMb29wICAgICAgICAgICAgICAgOjo9ICBcIlNvbWVcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIGFub255bW91c1Byb2NlZHVyZSBcIilcIiBcIjtcIiA7XG5cblxuXG5hbm9ueW1vdXNQcm9jZWR1cmUgICAgIDo6PSAgXCIoXCIgcGFyYW1ldGVycz8gXCIpXCIgcmV0dXJuQmxvY2sgO1xuXG5cblxuY29uZGl0aW9uICAgICAgICAgICAgICA6Oj0gIGJyYWNrZXRlZENvbmRpdGlvbiBcblxuICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGJpdHdpc2VDb25kaXRpb24gXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBuZWdhdGVkQ29uZGl0aW9uIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgY29tcGFyaXNvbiBcblxuICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHZhbHVlIFxuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgO1xuICAgICAgICAgICAgICAgICAgICAgICAgXG5icmFja2V0ZWRDb25kaXRpb24gICAgIDo6PSAgXCIoXCIgY29uZGl0aW9uIFwiKVwiIDsgXG5cbmJpdHdpc2VDb25kaXRpb24gICAgICAgOjo9ICBjb25kaXRpb24gKCBcInx8XCIgfCBcIiYmXCIgKSBjb25kaXRpb24gOyBcblxubmVnYXRlZENvbmRpdGlvbiAgICAgICA6Oj0gIFwiIVwiPE5PX1dISVRFU1BBQ0U+Y29uZGl0aW9uIDsgXG5cbmNvbXBhcmlzb24gICAgICAgICAgICAgOjo9ICB2YWx1ZSAoIFwiIT1cIiB8IFwiPT1cIiApIHZhbHVlIDsgXG5cblxuXG5cbmJsb2NrLi4gICAgICAgICAgICAgICAgOjo9ICBcIntcIiAoIHN0ZXAgfCBub25zZW5zZSApKiBcIn1cIiA7XG5cbnJldHVybkJsb2NrLi4gICAgICAgICAgOjo9ICBcIntcIiAoIHN0ZXAgfCBub25zZW5zZSApKiByZXR1cm5TdGF0ZW1lbnQgXCJ9XCIgO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5yZXR1cm5TdGF0ZW1lbnQgICAgICAgIDo6PSAgW3JldHVybl0gdmFsdWUgXCI7XCIgOyBcblxuXG5cbnN0ZXAgICAgICAgICAgICAgICAgICAgOjo9ICB2YXJpYWJsZXNEZWNsYXJhdGlvblxuIFxuICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHZhcmlhYmxlQXNzaWdubWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBjb25kaXRpb25hbEJsb2Nrc1xuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBvYmplY3RBc3NpZ25tZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGFycmF5QXNzaWdubWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBzb21lTG9vcFxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICA7ICBcbiAgXG4gIFxuICBcbmFzc2lnbm1lbnQgICAgICAgICAgICAgOjo9ICBcIj1cIiB2YWx1ZSA7XG5cblxuXG52YWx1ZSAgICAgICAgICAgICAgICAgIDo6PSAgcHJvY2VkdXJlQ2FsbFxuIFxuICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG5vZGVzUXVlcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgbm9kZVF1ZXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHZhcmlhYmxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHRlcm5hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgW251bGxdXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBbbnVtYmVyXVxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBbcHJpbWl0aXZlXVxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBbc3RyaW5nLWxpdGVyYWxdIFxuICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbnByb2NlZHVyZUNhbGwgICAgICAgICAgOjo9ICByZWZlcmVuY2U8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YWx1ZXM/IFwiKVwiIDtcblxubm9kZXNRdWVyeSAgICAgICAgICAgICA6Oj0gIFwibm9kZXNRdWVyeVwiPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFyaWFibGUgXCIsXCIgZXhwcmVzc2lvbiBcIilcIiA7XG5cbm5vZGVRdWVyeSAgICAgICAgICAgICAgOjo9ICBcIm5vZGVRdWVyeVwiPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFyaWFibGUgXCIsXCIgZXhwcmVzc2lvbiBcIilcIiA7XG5cbnZhcmlhYmxlICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuXG50ZXJuYXJ5ICAgICAgICAgICAgICAgIDo6PSAgXCJJZlwiIFwiKFwiIGNvbmRpdGlvbiBcIilcIiB2YWx1ZSBcIkVsc2VcIiB2YWx1ZSA7XG5cblxuXG5wYXJhbWV0ZXJzICAgICAgICAgICAgIDo6PSAgcGFyYW1ldGVyICggXCIsXCIgcGFyYW1ldGVyICkqIDtcblxudmFsdWVzICAgICAgICAgICAgICAgICA6Oj0gIHZhbHVlICggXCIsXCIgdmFsdWUgKSogO1xuXG5cblxucGFyYW1ldGVyICAgICAgICAgICAgICA6Oj0gIFt0eXBlXSBbbmFtZV1cblxuICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFwiX1wiIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG5cblxubGFiZWwuICAgICAgICAgICAgICAgICA6Oj0gIFtuYW1lXSA7XG5cbnJlZmVyZW5jZS4gICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuXG5cblxubm9uc2Vuc2UuICAgICAgICAgICAgICA6Oj0gIFt0eXBlXSB8IFtrZXl3b3JkXSB8IFtwcmltaXRpdmVdIHwgW3F1ZXJ5XSB8IFtzcGVjaWFsXSB8IFtuYW1lXSB8IFtudW1iZXJdIHwgW3VuYXNzaWduZWRdIDtcbiAgICBcblxuICAgIFxuZXhwcmVzc2lvbiAgICAgICAgICAgICA6Oj0gIHBhdGggc3ByZWFkPyBzdWJFeHByZXNzaW9uPyA7XG5cbnBhdGggICAgICAgICAgICAgICAgICAgOjo9ICBcIi9cIiBpbmZpbml0ZURlc2NlbnQ/IHNlbGVjdG9ycyA7XG5cbnN1YkV4cHJlc3Npb24gICAgICAgICAgOjo9ICBwYXRoIHNwcmVhZD8gc3ViRXhwcmVzc2lvbj87XG5cbmluZmluaXRlRGVzY2VudCAgICAgICAgOjo9ICBcIi9cIiA7XG5cbnNlbGVjdG9ycyAgICAgICAgICAgICAgOjo9ICBzZWxlY3RvciAoIFwifFwiIHNlbGVjdG9yICkqIDtcblxuc3ByZWFkICAgICAgICAgICAgICAgICA6Oj0gIHVuaXF1ZVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgXCJbXCIgXG4gICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIHN0YXJ0SW5kZXggXCIuLi5cIiBlbmRJbmRleCApIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIHN0YXJ0SW5kZXggXCIuLi5cIiApIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIFwiLi4uXCIgZW5kSW5kZXggKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXggXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIl1cIiA7XG5cbnNlbGVjdG9yICAgICAgICAgICAgICAgOjo9ICBydWxlTmFtZSB8IHRva2VuVHlwZSA7XG4gICAgICAgICAgICAgICAgICAgXG5ydWxlTmFtZSAgICAgICAgICAgICAgIDo6PSAgW25hbWVdIHwgXCIqXCIgO1xuICAgICAgICAgICAgICAgICAgIFxudG9rZW5UeXBlICAgICAgICAgICAgICA6Oj0gIFwiQFwiPE5PX1dISVRFU1BBQ0U+KCBbbmFtZV0gfCBcIipcIiApIDtcbiAgICAgICAgICAgICAgICAgICBcbnN0YXJ0SW5kZXggICAgICAgICAgICAgOjo9ICBbbnVtYmVyXSA7XG4gICAgICAgICAgICAgICAgICAgXG5lbmRJbmRleCAgICAgICAgICAgICAgIDo6PSAgW251bWJlcl0gO1xuICAgICAgICAgICAgICAgICAgIFxuaW5kZXggICAgICAgICAgICAgICAgICA6Oj0gIFtudW1iZXJdIDtcbiAgICAgICAgICAgICAgICAgICBcbnVuaXF1ZSAgICAgICAgICAgICAgICAgOjo9ICBcIiFcIiA7YDtcblxuZXhwb3J0IGRlZmF1bHQgYm5mO1xuIl0sIm5hbWVzIjpbImJuZiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBNkxBOzs7ZUFBQTs7O0FBM0xBLElBQU1BLE1BQU87SUEyTGIsV0FBZUEifQ==
@@ -19,7 +19,7 @@ var entries = [
19
19
  "return": "^Return"
20
20
  },
21
21
  {
22
- "keyword": "^(?:If|Else|ForEach)"
22
+ "keyword": "^(?:If|Else|Some)"
23
23
  },
24
24
  {
25
25
  "primitive": "^(?:null|true|false)"
@@ -42,4 +42,4 @@ var entries = [
42
42
  ];
43
43
  var _default = entries;
44
44
 
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mdXJ0bGUvZW50cmllcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmNvbnN0IGVudHJpZXMgPSBbXHJcbiAge1xyXG4gICAgXCJ0eXBlXCI6IFwiXig/Ok5vZGVzfE5vZGV8U3RyaW5nfE51bWJlcnxCb29sZWFuKVwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcInF1ZXJ5XCI6IFwiXig/Om5vZGVRdWVyeXxub2Rlc1F1ZXJ5KVwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcInJldHVyblwiOiBcIl5SZXR1cm5cIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJrZXl3b3JkXCI6IFwiXig/OklmfEVsc2V8Rm9yRWFjaClcIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJwcmltaXRpdmVcIjogXCJeKD86bnVsbHx0cnVlfGZhbHNlKVwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcImJyYWNrZXRcIjogXCJeKD86XFxcXHt8XFxcXH0pXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwic3BlY2lhbFwiOiBcIl4oPzohPXwhfD09fD18LHw7fF98JiZ8XFxcXHxcXFxcfHxAfCF8XFxcXCp8XFxcXHx8XFxcXC98XFxcXCh8XFxcXCl8XFxcXFt8XFxcXF18XFxcXC5cXFxcLlxcXFwuKVwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcIm5hbWVcIjogXCJeW2EtekEtWlxcLV0rXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwibnVtYmVyXCI6IFwiXlswLTldK1wiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcInVuYXNzaWduZWRcIjogXCJeLlwiXHJcbiAgfVxyXG5dO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgZW50cmllcztcclxuIl0sIm5hbWVzIjpbImVudHJpZXMiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQW1DQTs7O2VBQUE7OztBQWpDQSxJQUFNQSxVQUFVO0lBQ2Q7UUFDRSxRQUFRO0lBQ1Y7SUFDQTtRQUNFLFNBQVM7SUFDWDtJQUNBO1FBQ0UsVUFBVTtJQUNaO0lBQ0E7UUFDRSxXQUFXO0lBQ2I7SUFDQTtRQUNFLGFBQWE7SUFDZjtJQUNBO1FBQ0UsV0FBVztJQUNiO0lBQ0E7UUFDRSxXQUFXO0lBQ2I7SUFDQTtRQUNFLFFBQVE7SUFDVjtJQUNBO1FBQ0UsVUFBVTtJQUNaO0lBQ0E7UUFDRSxjQUFjO0lBQ2hCO0NBQ0Q7SUFFRCxXQUFlQSJ9
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mdXJ0bGUvZW50cmllcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmNvbnN0IGVudHJpZXMgPSBbXHJcbiAge1xyXG4gICAgXCJ0eXBlXCI6IFwiXig/Ok5vZGVzfE5vZGV8U3RyaW5nfE51bWJlcnxCb29sZWFuKVwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcInF1ZXJ5XCI6IFwiXig/Om5vZGVRdWVyeXxub2Rlc1F1ZXJ5KVwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcInJldHVyblwiOiBcIl5SZXR1cm5cIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJrZXl3b3JkXCI6IFwiXig/OklmfEVsc2V8U29tZSlcIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJwcmltaXRpdmVcIjogXCJeKD86bnVsbHx0cnVlfGZhbHNlKVwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcImJyYWNrZXRcIjogXCJeKD86XFxcXHt8XFxcXH0pXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwic3BlY2lhbFwiOiBcIl4oPzohPXwhfD09fD18LHw7fF98JiZ8XFxcXHxcXFxcfHxAfCF8XFxcXCp8XFxcXHx8XFxcXC98XFxcXCh8XFxcXCl8XFxcXFt8XFxcXF18XFxcXC5cXFxcLlxcXFwuKVwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcIm5hbWVcIjogXCJeW2EtekEtWlxcLV0rXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwibnVtYmVyXCI6IFwiXlswLTldK1wiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcInVuYXNzaWduZWRcIjogXCJeLlwiXHJcbiAgfVxyXG5dO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgZW50cmllcztcclxuIl0sIm5hbWVzIjpbImVudHJpZXMiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQW1DQTs7O2VBQUE7OztBQWpDQSxJQUFNQSxVQUFVO0lBQ2Q7UUFDRSxRQUFRO0lBQ1Y7SUFDQTtRQUNFLFNBQVM7SUFDWDtJQUNBO1FBQ0UsVUFBVTtJQUNaO0lBQ0E7UUFDRSxXQUFXO0lBQ2I7SUFDQTtRQUNFLGFBQWE7SUFDZjtJQUNBO1FBQ0UsV0FBVztJQUNiO0lBQ0E7UUFDRSxXQUFXO0lBQ2I7SUFDQTtRQUNFLFFBQVE7SUFDVjtJQUNBO1FBQ0UsVUFBVTtJQUNaO0lBQ0E7UUFDRSxjQUFjO0lBQ2hCO0NBQ0Q7SUFFRCxXQUFlQSJ9
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-grammars",
3
3
  "author": "James Smith",
4
- "version": "1.3.149",
4
+ "version": "1.3.151",
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
@@ -22,11 +22,11 @@ objectAssignment ::= "{" parameters "}" "=" variable ";" ;
22
22
 
23
23
  arrayAssignment ::= "[" parameters "]" "=" variable ";" ;
24
24
 
25
- forEachLoop ::= "ForEach"<NO_WHITESPACE>"(" variable "," anonymousProcedure ")" ";" ;
25
+ someLoop ::= "Some"<NO_WHITESPACE>"(" variable "," anonymousProcedure ")" ";" ;
26
26
 
27
27
 
28
28
 
29
- anonymousProcedure ::= "(" parameters? ")" block ;
29
+ anonymousProcedure ::= "(" parameters? ")" returnBlock ;
30
30
 
31
31
 
32
32
 
@@ -71,7 +71,7 @@ step ::= variablesDeclaration
71
71
 
72
72
  | arrayAssignment
73
73
 
74
- | forEachLoop
74
+ | someLoop
75
75
 
76
76
  ;
77
77
 
@@ -91,6 +91,8 @@ value ::= procedureCall
91
91
 
92
92
  | ternary
93
93
 
94
+ | [null]
95
+
94
96
  | [number]
95
97
 
96
98
  | [primitive]
@@ -11,7 +11,7 @@ const entries = [
11
11
  "return": "^Return"
12
12
  },
13
13
  {
14
- "keyword": "^(?:If|Else|ForEach)"
14
+ "keyword": "^(?:If|Else|Some)"
15
15
  },
16
16
  {
17
17
  "primitive": "^(?:null|true|false)"