occam-grammars 1.3.161 → 1.3.163

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\nconditionalBlocks ::= "If" "(" value ")" block ( "Else" block )? ; \n\nobjectAssignment ::= "{" namedParameters "}" "=" variable ";" ;\n\narrayAssignment ::= "[" parameters "]" "=" variable ";" ;\n \n\n\nanonymousProcedure ::= [type] "(" parameters? ")" returnBlock ;\n\n\n\nblock.. ::= "{" ( step | nonsense )* "}" ;\n\nreturnBlock.. ::= "{" ( step | nonsense )* returnStatement "}" ;\n \nreturnStatement ::= [return] value ";" ; \n\n\n\nstep ::= variablesDeclaration\n \n | conditionalBlocks\n \n | objectAssignment\n \n | arrayAssignment\n \n ; \n \n \n \nassignment ::= "=" value ;\n\n\n\nnamedParameter ::= [type] [name] ( "As" [name] )? ;\n\nparameter ::= [type] [name]\n\n | "_" \n\n ;\n\nvalue ::= 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\nbracketedValue ::= "(" value ")" ; \n\nprocedureCall ::= reference<NO_WHITESPACE>"(" values? ")" ;\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\nparameters ::= parameter ( "," parameter )* ;\n\nvalues ::= value ( "," value )* ;\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\nconditionalBlocks ::= "If" "(" value ")" block ( "Else" block )? ; \n\nobjectAssignment ::= "{" namedParameters "}" "=" variable ";" ;\n\narrayAssignment ::= "[" parameters "]" "=" variable ";" ;\n \n\n\nanonymousProcedure ::= [type] "(" parameters? ")" returnBlock ;\n\n\n\nblock.. ::= "{" ( step | nonsense )* "}" ;\n\nreturnBlock.. ::= "{" ( step | nonsense )* returnStatement "}" ;\n \nreturnStatement ::= [return] value ";" ; \n\n\n\nstep ::= variablesDeclaration\n \n | conditionalBlocks\n \n | objectAssignment\n \n | arrayAssignment\n \n ; \n \n \n \nassignment ::= "=" value ;\n\n\n\nnamedParameter ::= [type] [name] ( "As" [name] )? ;\n\nparameter ::= [type] [name]\n\n | "_" \n\n ;\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\nparameters ::= parameter ( "," parameter )* ;\n\nvalues ::= value ( "," value )* ;\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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mdXJ0bGUvYm5mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5jb25zdCBibmYgPSBgZG9jdW1lbnQgICAgICAgICAgICAgICA6Oj0gICggcHJvY2VkdXJlRGVjbGFyYXRpb24gfCBlcnJvciApKyA7XG5cblxuXG5wcm9jZWR1cmVEZWNsYXJhdGlvbiAgIDo6PSAgW3R5cGVdIGxhYmVsPE5PX1dISVRFU1BBQ0U+XCIoXCIgcGFyYW1ldGVycz8gXCIpXCIgcmV0dXJuQmxvY2sgO1xuXG5cblxuZXJyb3IuICAgICAgICAgICAgICAgICA6Oj0gIC4gO1xuXG5cblxudmFyaWFibGVzRGVjbGFyYXRpb24gICA6Oj0gIFt0eXBlXSB2YXJpYWJsZSBhc3NpZ25tZW50ICggXCIsXCIgdmFyaWFibGUgYXNzaWdubWVudCApKiBcIjtcIiA7XG5cbmNvbmRpdGlvbmFsQmxvY2tzICAgICAgOjo9ICBcIklmXCIgXCIoXCIgdmFsdWUgXCIpXCIgYmxvY2sgKCBcIkVsc2VcIiBibG9jayApPyA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcblxub2JqZWN0QXNzaWdubWVudCAgICAgICA6Oj0gIFwie1wiIG5hbWVkUGFyYW1ldGVycyBcIn1cIiBcIj1cIiB2YXJpYWJsZSBcIjtcIiA7XG5cbmFycmF5QXNzaWdubWVudCAgICAgICAgOjo9ICBcIltcIiBwYXJhbWV0ZXJzIFwiXVwiIFwiPVwiIHZhcmlhYmxlIFwiO1wiIDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuXG5cbmFub255bW91c1Byb2NlZHVyZSAgICAgOjo9ICBbdHlwZV0gXCIoXCIgcGFyYW1ldGVycz8gXCIpXCIgcmV0dXJuQmxvY2sgO1xuXG5cblxuYmxvY2suLiAgICAgICAgICAgICAgICA6Oj0gIFwie1wiICggc3RlcCB8IG5vbnNlbnNlICkqIFwifVwiIDtcblxucmV0dXJuQmxvY2suLiAgICAgICAgICA6Oj0gIFwie1wiICggc3RlcCB8IG5vbnNlbnNlICkqIHJldHVyblN0YXRlbWVudCBcIn1cIiA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbnJldHVyblN0YXRlbWVudCAgICAgICAgOjo9ICBbcmV0dXJuXSB2YWx1ZSBcIjtcIiA7IFxuXG5cblxuc3RlcCAgICAgICAgICAgICAgICAgICA6Oj0gIHZhcmlhYmxlc0RlY2xhcmF0aW9uXG4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgY29uZGl0aW9uYWxCbG9ja3NcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgb2JqZWN0QXNzaWdubWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBhcnJheUFzc2lnbm1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgOyAgXG4gIFxuICBcbiAgXG5hc3NpZ25tZW50ICAgICAgICAgICAgIDo6PSAgXCI9XCIgdmFsdWUgO1xuXG5cblxubmFtZWRQYXJhbWV0ZXIgICAgICAgICA6Oj0gIFt0eXBlXSBbbmFtZV0gKCBcIkFzXCIgW25hbWVdICk/IDtcblxucGFyYW1ldGVyICAgICAgICAgICAgICA6Oj0gIFt0eXBlXSBbbmFtZV1cblxuICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFwiX1wiIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG52YWx1ZSAgICAgICAgICAgICAgICAgIDo6PSAgcHJvY2VkdXJlQ2FsbFxuIFxuICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGJyYWNrZXRlZFZhbHVlIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgYml0d2lzZVZhbHVlIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgbmVnYXRlZFZhbHVlIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgY29tcGFyaXNvbiBcblxuICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG5vZGVzUXVlcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgbm9kZVF1ZXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHZhcmlhYmxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHRlcm5hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgc29tZVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgW251bGxdXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBbbnVtYmVyXVxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBbcHJpbWl0aXZlXVxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBbc3RyaW5nLWxpdGVyYWxdIFxuICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbmJyYWNrZXRlZFZhbHVlICAgICAgICAgOjo9ICBcIihcIiB2YWx1ZSBcIilcIiA7IFxuXG5wcm9jZWR1cmVDYWxsICAgICAgICAgIDo6PSAgcmVmZXJlbmNlPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFsdWVzPyBcIilcIiA7XG5cbmJpdHdpc2VWYWx1ZSAgICAgICAgICAgOjo9ICB2YWx1ZSAoIFwifHxcIiB8IFwiJiZcIiApIHZhbHVlIDsgXG5cbm5lZ2F0ZWRWYWx1ZSAgICAgICAgICAgOjo9ICBcIiFcIjxOT19XSElURVNQQUNFPnZhbHVlIDsgXG5cbmNvbXBhcmlzb24gICAgICAgICAgICAgOjo9ICB2YWx1ZSAoIFwiIT1cIiB8IFwiPT1cIiApIHZhbHVlIDsgXG5cbm5vZGVzUXVlcnkgICAgICAgICAgICAgOjo9ICBcIm5vZGVzUXVlcnlcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIGV4cHJlc3Npb24gXCIpXCIgO1xuXG5ub2RlUXVlcnkgICAgICAgICAgICAgIDo6PSAgXCJub2RlUXVlcnlcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIGV4cHJlc3Npb24gXCIpXCIgO1xuXG52YXJpYWJsZSAgICAgICAgICAgICAgIDo6PSAgW25hbWVdIDtcblxudGVybmFyeSAgICAgICAgICAgICAgICA6Oj0gIFwiSWZcIiBcIihcIiB2YWx1ZSBcIilcIiB2YWx1ZSBcIkVsc2VcIiB2YWx1ZSA7XG5cbnNvbWUgICAgICAgICAgICAgICAgICAgOjo9ICBcIlNvbWVcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIGFub255bW91c1Byb2NlZHVyZSBcIilcIiA7XG5cblxuXG5uYW1lZFBhcmFtZXRlcnMgICAgICAgIDo6PSAgbmFtZWRQYXJhbWV0ZXIgKCBcIixcIiBuYW1lZFBhcmFtZXRlciApKiA7XG5cbnBhcmFtZXRlcnMgICAgICAgICAgICAgOjo9ICBwYXJhbWV0ZXIgKCBcIixcIiBwYXJhbWV0ZXIgKSogO1xuXG52YWx1ZXMgICAgICAgICAgICAgICAgIDo6PSAgdmFsdWUgKCBcIixcIiB2YWx1ZSApKiA7XG5cblxuXG5sYWJlbC4gICAgICAgICAgICAgICAgIDo6PSAgW25hbWVdIDtcblxucmVmZXJlbmNlLiAgICAgICAgICAgICA6Oj0gIFtuYW1lXSA7XG5cblxuXG5ub25zZW5zZS4gICAgICAgICAgICAgIDo6PSAgW3R5cGVdIHwgW2tleXdvcmRdIHwgW3ByaW1pdGl2ZV0gfCBbcXVlcnldIHwgW3NwZWNpYWxdIHwgW25hbWVdIHwgW251bWJlcl0gfCBbdW5hc3NpZ25lZF0gO1xuICAgIFxuXG4gICAgXG5leHByZXNzaW9uICAgICAgICAgICAgIDo6PSAgcGF0aCBzcHJlYWQ/IHN1YkV4cHJlc3Npb24/IDtcblxucGF0aCAgICAgICAgICAgICAgICAgICA6Oj0gIFwiL1wiIGluZmluaXRlRGVzY2VudD8gc2VsZWN0b3JzIDtcblxuc3ViRXhwcmVzc2lvbiAgICAgICAgICA6Oj0gIHBhdGggc3ByZWFkPyBzdWJFeHByZXNzaW9uPztcblxuaW5maW5pdGVEZXNjZW50ICAgICAgICA6Oj0gIFwiL1wiIDtcblxuc2VsZWN0b3JzICAgICAgICAgICAgICA6Oj0gIHNlbGVjdG9yICggXCJ8XCIgc2VsZWN0b3IgKSogO1xuXG5zcHJlYWQgICAgICAgICAgICAgICAgIDo6PSAgdW5pcXVlXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBcIltcIiBcbiAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICggXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggc3RhcnRJbmRleCBcIi4uLlwiIGVuZEluZGV4ICkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggc3RhcnRJbmRleCBcIi4uLlwiICkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggXCIuLi5cIiBlbmRJbmRleCApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXVwiIDtcblxuc2VsZWN0b3IgICAgICAgICAgICAgICA6Oj0gIHJ1bGVOYW1lIHwgdG9rZW5UeXBlIDtcbiAgICAgICAgICAgICAgICAgICBcbnJ1bGVOYW1lICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gfCBcIipcIiA7XG4gICAgICAgICAgICAgICAgICAgXG50b2tlblR5cGUgICAgICAgICAgICAgIDo6PSAgXCJAXCI8Tk9fV0hJVEVTUEFDRT4oIFtuYW1lXSB8IFwiKlwiICkgO1xuICAgICAgICAgICAgICAgICAgIFxuc3RhcnRJbmRleCAgICAgICAgICAgICA6Oj0gIFtudW1iZXJdIDtcbiAgICAgICAgICAgICAgICAgICBcbmVuZEluZGV4ICAgICAgICAgICAgICAgOjo9ICBbbnVtYmVyXSA7XG4gICAgICAgICAgICAgICAgICAgXG5pbmRleCAgICAgICAgICAgICAgICAgIDo6PSAgW251bWJlcl0gO1xuICAgICAgICAgICAgICAgICAgIFxudW5pcXVlICAgICAgICAgICAgICAgICA6Oj0gIFwiIVwiIDtgO1xuXG5leHBvcnQgZGVmYXVsdCBibmY7XG4iXSwibmFtZXMiOlsiYm5mIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFvTEE7OztlQUFBOzs7QUFsTEEsSUFBTUEsTUFBTztJQWtMYixXQUFlQSJ9
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mdXJ0bGUvYm5mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5jb25zdCBibmYgPSBgZG9jdW1lbnQgICAgICAgICAgICAgICAgOjo9ICAoIHByb2NlZHVyZURlY2xhcmF0aW9uIHwgZXJyb3IgKSsgO1xuXG5cblxucHJvY2VkdXJlRGVjbGFyYXRpb24gICAgOjo9ICBbdHlwZV0gbGFiZWw8Tk9fV0hJVEVTUEFDRT5cIihcIiBwYXJhbWV0ZXJzPyBcIilcIiByZXR1cm5CbG9jayA7XG5cblxuXG5lcnJvci4gICAgICAgICAgICAgICAgICA6Oj0gIC4gO1xuXG5cblxudmFyaWFibGVzRGVjbGFyYXRpb24gICAgOjo9ICBbdHlwZV0gdmFyaWFibGUgYXNzaWdubWVudCAoIFwiLFwiIHZhcmlhYmxlIGFzc2lnbm1lbnQgKSogXCI7XCIgO1xuXG5jb25kaXRpb25hbEJsb2NrcyAgICAgICA6Oj0gIFwiSWZcIiBcIihcIiB2YWx1ZSBcIilcIiBibG9jayAoIFwiRWxzZVwiIGJsb2NrICk/IDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuXG5vYmplY3RBc3NpZ25tZW50ICAgICAgICA6Oj0gIFwie1wiIG5hbWVkUGFyYW1ldGVycyBcIn1cIiBcIj1cIiB2YXJpYWJsZSBcIjtcIiA7XG5cbmFycmF5QXNzaWdubWVudCAgICAgICAgIDo6PSAgXCJbXCIgcGFyYW1ldGVycyBcIl1cIiBcIj1cIiB2YXJpYWJsZSBcIjtcIiA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcblxuXG5hbm9ueW1vdXNQcm9jZWR1cmUgICAgICA6Oj0gIFt0eXBlXSBcIihcIiBwYXJhbWV0ZXJzPyBcIilcIiByZXR1cm5CbG9jayA7XG5cblxuXG5ibG9jay4uICAgICAgICAgICAgICAgICA6Oj0gIFwie1wiICggc3RlcCB8IG5vbnNlbnNlICkqIFwifVwiIDtcblxucmV0dXJuQmxvY2suLiAgICAgICAgICAgOjo9ICBcIntcIiAoIHN0ZXAgfCBub25zZW5zZSApKiByZXR1cm5TdGF0ZW1lbnQgXCJ9XCIgO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5yZXR1cm5TdGF0ZW1lbnQgICAgICAgICA6Oj0gIFtyZXR1cm5dIHZhbHVlIFwiO1wiIDsgXG5cblxuXG5zdGVwICAgICAgICAgICAgICAgICAgICA6Oj0gIHZhcmlhYmxlc0RlY2xhcmF0aW9uXG4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGNvbmRpdGlvbmFsQmxvY2tzXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBvYmplY3RBc3NpZ25tZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBhcnJheUFzc2lnbm1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDsgIFxuICBcbiAgXG4gIFxuYXNzaWdubWVudCAgICAgICAgICAgICAgOjo9ICBcIj1cIiB2YWx1ZSA7XG5cblxuXG5uYW1lZFBhcmFtZXRlciAgICAgICAgICA6Oj0gIFt0eXBlXSBbbmFtZV0gKCBcIkFzXCIgW25hbWVdICk/IDtcblxucGFyYW1ldGVyICAgICAgICAgICAgICAgOjo9ICBbdHlwZV0gW25hbWVdXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgXCJfXCIgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG52YWx1ZSAgICAgICAgICAgICAgICAgICA6Oj0gIGFub255bW91c1Byb2NlZHVyZUNhbGxcbiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgcHJvY2VkdXJlQ2FsbFxuIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBicmFja2V0ZWRWYWx1ZSBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBiaXR3aXNlVmFsdWUgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbmVnYXRlZFZhbHVlIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGNvbXBhcmlzb24gXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbm9kZXNRdWVyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbm9kZVF1ZXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICB2YXJpYWJsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgdGVybmFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgc29tZVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFtudWxsXVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFtudW1iZXJdXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBbcHJpbWl0aXZlXVxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgW3N0cmluZy1saXRlcmFsXSBcbiAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG5cblxuYW5vbnltb3VzUHJvY2VkdXJlQ2FsbCAgOjo9ICBcIihcIiBhbm9ueW1vdXNQcm9jZWR1cmUgXCIpXCI8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YWx1ZXM/IFwiKVwiIDtcblxucHJvY2VkdXJlQ2FsbCAgICAgICAgICAgOjo9ICByZWZlcmVuY2U8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YWx1ZXM/IFwiKVwiIDtcblxuYnJhY2tldGVkVmFsdWUgICAgICAgICAgOjo9ICBcIihcIiB2YWx1ZSBcIilcIiA7IFxuXG5iaXR3aXNlVmFsdWUgICAgICAgICAgICA6Oj0gIHZhbHVlICggXCJ8fFwiIHwgXCImJlwiICkgdmFsdWUgOyBcblxubmVnYXRlZFZhbHVlICAgICAgICAgICAgOjo9ICBcIiFcIjxOT19XSElURVNQQUNFPnZhbHVlIDsgXG5cbmNvbXBhcmlzb24gICAgICAgICAgICAgIDo6PSAgdmFsdWUgKCBcIiE9XCIgfCBcIj09XCIgKSB2YWx1ZSA7IFxuXG5ub2Rlc1F1ZXJ5ICAgICAgICAgICAgICA6Oj0gIFwibm9kZXNRdWVyeVwiPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFyaWFibGUgXCIsXCIgZXhwcmVzc2lvbiBcIilcIiA7XG5cbm5vZGVRdWVyeSAgICAgICAgICAgICAgIDo6PSAgXCJub2RlUXVlcnlcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIGV4cHJlc3Npb24gXCIpXCIgO1xuXG52YXJpYWJsZSAgICAgICAgICAgICAgICA6Oj0gIFtuYW1lXSA7XG5cbnRlcm5hcnkgICAgICAgICAgICAgICAgIDo6PSAgXCJJZlwiIFwiKFwiIHZhbHVlIFwiKVwiIHZhbHVlIFwiRWxzZVwiIHZhbHVlIDtcblxuc29tZSAgICAgICAgICAgICAgICAgICAgOjo9ICBcIlNvbWVcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIGFub255bW91c1Byb2NlZHVyZSBcIilcIiA7XG5cblxuXG5uYW1lZFBhcmFtZXRlcnMgICAgICAgICA6Oj0gIG5hbWVkUGFyYW1ldGVyICggXCIsXCIgbmFtZWRQYXJhbWV0ZXIgKSogO1xuXG5wYXJhbWV0ZXJzICAgICAgICAgICAgICA6Oj0gIHBhcmFtZXRlciAoIFwiLFwiIHBhcmFtZXRlciApKiA7XG5cbnZhbHVlcyAgICAgICAgICAgICAgICAgIDo6PSAgdmFsdWUgKCBcIixcIiB2YWx1ZSApKiA7XG5cblxuXG5sYWJlbC4gICAgICAgICAgICAgICAgICA6Oj0gIFtuYW1lXSA7XG5cbnJlZmVyZW5jZS4gICAgICAgICAgICAgIDo6PSAgW25hbWVdIDtcblxuXG5cbm5vbnNlbnNlLiAgICAgICAgICAgICAgIDo6PSAgW3R5cGVdIHwgW2tleXdvcmRdIHwgW3ByaW1pdGl2ZV0gfCBbcXVlcnldIHwgW3NwZWNpYWxdIHwgW25hbWVdIHwgW251bWJlcl0gfCBbdW5hc3NpZ25lZF0gO1xuICAgIFxuXG4gICAgXG5leHByZXNzaW9uICAgICAgICAgICAgICA6Oj0gIHBhdGggc3ByZWFkPyBzdWJFeHByZXNzaW9uPyA7XG5cbnBhdGggICAgICAgICAgICAgICAgICAgIDo6PSAgXCIvXCIgaW5maW5pdGVEZXNjZW50PyBzZWxlY3RvcnMgO1xuXG5zdWJFeHByZXNzaW9uICAgICAgICAgICA6Oj0gIHBhdGggc3ByZWFkPyBzdWJFeHByZXNzaW9uPztcblxuaW5maW5pdGVEZXNjZW50ICAgICAgICAgOjo9ICBcIi9cIiA7XG5cbnNlbGVjdG9ycyAgICAgICAgICAgICAgIDo6PSAgc2VsZWN0b3IgKCBcInxcIiBzZWxlY3RvciApKiA7XG5cbnNwcmVhZCAgICAgICAgICAgICAgICAgIDo6PSAgdW5pcXVlXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgXCJbXCIgXG4gICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggc3RhcnRJbmRleCBcIi4uLlwiIGVuZEluZGV4ICkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBzdGFydEluZGV4IFwiLi4uXCIgKSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIFwiLi4uXCIgZW5kSW5kZXggKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICApICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJdXCIgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICA7XG5cbnNlbGVjdG9yICAgICAgICAgICAgICAgIDo6PSAgcnVsZU5hbWUgfCB0b2tlblR5cGUgO1xuICAgICAgICAgICAgICAgICAgIFxucnVsZU5hbWUgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gfCBcIipcIiA7XG4gICAgICAgICAgICAgICAgICAgXG50b2tlblR5cGUgICAgICAgICAgICAgICA6Oj0gIFwiQFwiPE5PX1dISVRFU1BBQ0U+KCBbbmFtZV0gfCBcIipcIiApIDtcbiAgICAgICAgICAgICAgICAgICBcbnN0YXJ0SW5kZXggICAgICAgICAgICAgIDo6PSAgW251bWJlcl0gO1xuICAgICAgICAgICAgICAgICAgIFxuZW5kSW5kZXggICAgICAgICAgICAgICAgOjo9ICBbbnVtYmVyXSA7XG4gICAgICAgICAgICAgICAgICAgXG5pbmRleCAgICAgICAgICAgICAgICAgICA6Oj0gIFtudW1iZXJdIDtcbiAgICAgICAgICAgICAgICAgICBcbnVuaXF1ZSAgICAgICAgICAgICAgICAgIDo6PSAgXCIhXCIgO2A7XG5cbmV4cG9ydCBkZWZhdWx0IGJuZjtcbiJdLCJuYW1lcyI6WyJibmYiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQTBMQTs7O2VBQUE7OztBQXhMQSxJQUFNQSxNQUFPO0lBd0xiLFdBQWVBIn0=
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-grammars",
3
3
  "author": "James Smith",
4
- "version": "1.3.161",
4
+ "version": "1.3.163",
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
@@ -1,181 +1,187 @@
1
1
  "use strict";
2
2
 
3
- const bnf = `document ::= ( procedureDeclaration | error )+ ;
3
+ const bnf = `document ::= ( procedureDeclaration | error )+ ;
4
4
 
5
5
 
6
6
 
7
- procedureDeclaration ::= [type] label<NO_WHITESPACE>"(" parameters? ")" returnBlock ;
7
+ procedureDeclaration ::= [type] label<NO_WHITESPACE>"(" parameters? ")" returnBlock ;
8
8
 
9
9
 
10
10
 
11
- error. ::= . ;
11
+ error. ::= . ;
12
12
 
13
13
 
14
14
 
15
- variablesDeclaration ::= [type] variable assignment ( "," variable assignment )* ";" ;
15
+ variablesDeclaration ::= [type] variable assignment ( "," variable assignment )* ";" ;
16
16
 
17
- conditionalBlocks ::= "If" "(" value ")" block ( "Else" block )? ;
17
+ conditionalBlocks ::= "If" "(" value ")" block ( "Else" block )? ;
18
18
 
19
- objectAssignment ::= "{" namedParameters "}" "=" variable ";" ;
19
+ objectAssignment ::= "{" namedParameters "}" "=" variable ";" ;
20
20
 
21
- arrayAssignment ::= "[" parameters "]" "=" variable ";" ;
21
+ arrayAssignment ::= "[" parameters "]" "=" variable ";" ;
22
22
 
23
23
 
24
24
 
25
- anonymousProcedure ::= [type] "(" parameters? ")" returnBlock ;
25
+ anonymousProcedure ::= [type] "(" parameters? ")" returnBlock ;
26
26
 
27
27
 
28
28
 
29
- block.. ::= "{" ( step | nonsense )* "}" ;
29
+ block.. ::= "{" ( step | nonsense )* "}" ;
30
30
 
31
- returnBlock.. ::= "{" ( step | nonsense )* returnStatement "}" ;
31
+ returnBlock.. ::= "{" ( step | nonsense )* returnStatement "}" ;
32
32
 
33
- returnStatement ::= [return] value ";" ;
33
+ returnStatement ::= [return] value ";" ;
34
34
 
35
35
 
36
36
 
37
- step ::= variablesDeclaration
37
+ step ::= variablesDeclaration
38
38
 
39
- | conditionalBlocks
39
+ | conditionalBlocks
40
40
 
41
- | objectAssignment
41
+ | objectAssignment
42
42
 
43
- | arrayAssignment
43
+ | arrayAssignment
44
44
 
45
- ;
45
+ ;
46
46
 
47
47
 
48
48
 
49
- assignment ::= "=" value ;
49
+ assignment ::= "=" value ;
50
50
 
51
51
 
52
52
 
53
- namedParameter ::= [type] [name] ( "As" [name] )? ;
53
+ namedParameter ::= [type] [name] ( "As" [name] )? ;
54
54
 
55
- parameter ::= [type] [name]
55
+ parameter ::= [type] [name]
56
56
 
57
- | "_"
57
+ | "_"
58
58
 
59
- ;
59
+ ;
60
60
 
61
- value ::= procedureCall
61
+ value ::= anonymousProcedureCall
62
62
 
63
- | bracketedValue
63
+ | procedureCall
64
+
65
+ | bracketedValue
64
66
 
65
- | bitwiseValue
67
+ | bitwiseValue
66
68
 
67
- | negatedValue
69
+ | negatedValue
68
70
 
69
- | comparison
71
+ | comparison
70
72
 
71
- | nodesQuery
73
+ | nodesQuery
72
74
 
73
- | nodeQuery
75
+ | nodeQuery
74
76
 
75
- | variable
77
+ | variable
76
78
 
77
- | ternary
79
+ | ternary
78
80
 
79
- | some
81
+ | some
80
82
 
81
- | [null]
83
+ | [null]
82
84
 
83
- | [number]
85
+ | [number]
84
86
 
85
- | [primitive]
87
+ | [primitive]
86
88
 
87
- | [string-literal]
89
+ | [string-literal]
88
90
 
89
- ;
91
+ ;
92
+
90
93
 
91
94
 
95
+ anonymousProcedureCall ::= "(" anonymousProcedure ")"<NO_WHITESPACE>"(" values? ")" ;
92
96
 
93
- bracketedValue ::= "(" value ")" ;
97
+ procedureCall ::= reference<NO_WHITESPACE>"(" values? ")" ;
94
98
 
95
- procedureCall ::= reference<NO_WHITESPACE>"(" values? ")" ;
99
+ bracketedValue ::= "(" value ")" ;
96
100
 
97
- bitwiseValue ::= value ( "||" | "&&" ) value ;
101
+ bitwiseValue ::= value ( "||" | "&&" ) value ;
98
102
 
99
- negatedValue ::= "!"<NO_WHITESPACE>value ;
103
+ negatedValue ::= "!"<NO_WHITESPACE>value ;
100
104
 
101
- comparison ::= value ( "!=" | "==" ) value ;
105
+ comparison ::= value ( "!=" | "==" ) value ;
102
106
 
103
- nodesQuery ::= "nodesQuery"<NO_WHITESPACE>"(" variable "," expression ")" ;
107
+ nodesQuery ::= "nodesQuery"<NO_WHITESPACE>"(" variable "," expression ")" ;
104
108
 
105
- nodeQuery ::= "nodeQuery"<NO_WHITESPACE>"(" variable "," expression ")" ;
109
+ nodeQuery ::= "nodeQuery"<NO_WHITESPACE>"(" variable "," expression ")" ;
106
110
 
107
- variable ::= [name] ;
111
+ variable ::= [name] ;
108
112
 
109
- ternary ::= "If" "(" value ")" value "Else" value ;
113
+ ternary ::= "If" "(" value ")" value "Else" value ;
110
114
 
111
- some ::= "Some"<NO_WHITESPACE>"(" variable "," anonymousProcedure ")" ;
115
+ some ::= "Some"<NO_WHITESPACE>"(" variable "," anonymousProcedure ")" ;
112
116
 
113
117
 
114
118
 
115
- namedParameters ::= namedParameter ( "," namedParameter )* ;
119
+ namedParameters ::= namedParameter ( "," namedParameter )* ;
116
120
 
117
- parameters ::= parameter ( "," parameter )* ;
121
+ parameters ::= parameter ( "," parameter )* ;
118
122
 
119
- values ::= value ( "," value )* ;
123
+ values ::= value ( "," value )* ;
120
124
 
121
125
 
122
126
 
123
- label. ::= [name] ;
127
+ label. ::= [name] ;
124
128
 
125
- reference. ::= [name] ;
129
+ reference. ::= [name] ;
126
130
 
127
131
 
128
132
 
129
- nonsense. ::= [type] | [keyword] | [primitive] | [query] | [special] | [name] | [number] | [unassigned] ;
133
+ nonsense. ::= [type] | [keyword] | [primitive] | [query] | [special] | [name] | [number] | [unassigned] ;
130
134
 
131
135
 
132
136
 
133
- expression ::= path spread? subExpression? ;
137
+ expression ::= path spread? subExpression? ;
134
138
 
135
- path ::= "/" infiniteDescent? selectors ;
139
+ path ::= "/" infiniteDescent? selectors ;
136
140
 
137
- subExpression ::= path spread? subExpression?;
141
+ subExpression ::= path spread? subExpression?;
138
142
 
139
- infiniteDescent ::= "/" ;
143
+ infiniteDescent ::= "/" ;
140
144
 
141
- selectors ::= selector ( "|" selector )* ;
145
+ selectors ::= selector ( "|" selector )* ;
142
146
 
143
- spread ::= unique
147
+ spread ::= unique
144
148
 
145
- | "["
149
+ | "["
146
150
 
147
- (
151
+ (
148
152
 
149
- ( startIndex "..." endIndex )
153
+ ( startIndex "..." endIndex )
150
154
 
151
- |
155
+ |
152
156
 
153
- ( startIndex "..." )
157
+ ( startIndex "..." )
154
158
 
155
- |
159
+ |
156
160
 
157
- ( "..." endIndex )
161
+ ( "..." endIndex )
158
162
 
159
- |
163
+ |
160
164
 
161
- index
165
+ index
162
166
 
163
- )
167
+ )
164
168
 
165
- "]" ;
169
+ "]"
170
+
171
+ ;
166
172
 
167
- selector ::= ruleName | tokenType ;
173
+ selector ::= ruleName | tokenType ;
168
174
 
169
- ruleName ::= [name] | "*" ;
175
+ ruleName ::= [name] | "*" ;
170
176
 
171
- tokenType ::= "@"<NO_WHITESPACE>( [name] | "*" ) ;
177
+ tokenType ::= "@"<NO_WHITESPACE>( [name] | "*" ) ;
172
178
 
173
- startIndex ::= [number] ;
179
+ startIndex ::= [number] ;
174
180
 
175
- endIndex ::= [number] ;
181
+ endIndex ::= [number] ;
176
182
 
177
- index ::= [number] ;
183
+ index ::= [number] ;
178
184
 
179
- unique ::= "!" ;`;
185
+ unique ::= "!" ;`;
180
186
 
181
187
  export default bnf;