occam-grammars 1.3.24 → 1.3.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/example.js +2 -2
- package/lib/furtle/bnf.js +2 -2
- package/package.json +1 -1
- package/src/furtle/bnf.js +10 -3
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 ::= ( topLevelDeclaration | error )+ ;\n\n\n\ntopLevelDeclaration ::= procedureDeclaration\n \n | variablesDeclaration\n \n ;\n\n\n\nerror. ::= . ;\n\n\n\nprocedureDeclaration ::= [type] label<NO_WHITESPACE>"(" ( parameter ( "," parameter )* )? ")" returnBlock ;\n\nvariablesDeclaration ::= [type] variable assignment? ( "," variable assignment? )* ";" ;\n\nvariableAssignment ::= variable assignment ";" ;\n\nobjectAssignment ::= "{" \n\n [type]? variable ( "," [type]? variable )* \n \n "}" "=" variable ";" ;\n\narrayAssignment ::= "[" \n\n ( \n\n ( "_" ( "," "_" )* ( "," [type]? variable )+ ) \n \n | \n \n ( [type]? variable ( "," [type]? variable )* ) \n \n ) \n \n "]" "=" variable ";" ;\n \n \n\nanonymousFunction ::= "(" ( parameter ( "," parameter )* )? ")" returnBlock ;\n\nconditionalBlock ::= "If" "(" condition ")" block ( "Else" block )? ; \n\nforEachLoop ::= "ForEach"<NO_WHITESPACE>"(" variable "," anonymousFunction ")" ";" ;\n\n\n\
|
|
11
|
+
var bnf = 'document ::= ( topLevelDeclaration | error )+ ;\n\n\n\ntopLevelDeclaration ::= procedureDeclaration\n \n | variablesDeclaration\n \n ;\n\n\n\nerror. ::= . ;\n\n\n\nprocedureDeclaration ::= [type] label<NO_WHITESPACE>"(" ( parameter ( "," parameter )* )? ")" returnBlock ;\n\nvariablesDeclaration ::= [type] variable assignment? ( "," variable assignment? )* ";" ;\n\nvariableAssignment ::= variable assignment ";" ;\n\nobjectAssignment ::= "{" \n\n [type]? variable ( "," [type]? variable )* \n \n "}" "=" variable ";" ;\n\narrayAssignment ::= "[" \n\n ( \n\n ( "_" ( "," "_" )* ( "," [type]? variable )+ ) \n \n | \n \n ( [type]? variable ( "," [type]? variable )* ) \n \n ) \n \n "]" "=" variable ";" ;\n \n \n\nanonymousFunction ::= "(" ( parameter ( "," parameter )* )? ")" returnBlock ;\n\nconditionalBlock ::= "If" "(" condition ")" block ( "Else" block )? ; \n\nforEachLoop ::= "ForEach"<NO_WHITESPACE>"(" variable "," anonymousFunction ")" ";" ;\n\n\n\ncondition ::= bracketedCondition \n\n | bitwiseCondition \n\n | comparison \n\n | value \n \n ;\n \nbracketedCondition ::= condition ( "||" | "&&" ) condition ; \n\nbitwiseCondition ::= condition ( "||" | "&&" ) condition ; \n\ncomparison ::= value ( "!=" | "==" ) value ; \n\n\n\nreturnBlock.. ::= "{" ( step | nonsense )* return? "}" ;\n \nblock.. ::= "{" ( step | nonsense )* "}" ;\n\n\n\nstep ::= variablesDeclaration\n \n | variableAssignment\n \n | objectAssignment\n \n | arrayAssignment\n \n | conditionalBlock\n \n | forEachLoop\n \n ; \n \nnonsense. ::= [type] | [keyword] | [primitive] | [query] | [special] | [name] | [number] | [unassigned] ;\n \n\n \nreturn ::= [return] value ";" ; \n\nvalue ::= variable | [number] | [primitive] | [string-literal] ;\n\nparameter ::= [type] variable ;\n\nvariable ::= [name] ;\n\nassignment ::= "=" ( procedureCall | nodesQuery | nodeQuery | value ) ;\n\n\n\nprocedureCall ::= reference<NO_WHITESPACE>"(" ( value ( "," value )* )? ")" ;\n\nnodesQuery ::= "nodesQuery"<NO_WHITESPACE>"(" variable "," expression ")" ;\n\nnodeQuery ::= "nodeQuery"<NO_WHITESPACE>"(" variable "," expression ")" ;\n\n\n\nlabel. ::= [name] ;\n\nreference. ::= [name] ;\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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mdXJ0bGUvYm5mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5jb25zdCBibmYgPSBgZG9jdW1lbnQgICAgICAgICAgICAgICA6Oj0gICggdG9wTGV2ZWxEZWNsYXJhdGlvbiB8IGVycm9yICkrIDtcblxuXG5cbnRvcExldmVsRGVjbGFyYXRpb24gICAgOjo9ICBwcm9jZWR1cmVEZWNsYXJhdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgdmFyaWFibGVzRGVjbGFyYXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbmVycm9yLiAgICAgICAgICAgICAgICAgOjo9ICAuIDtcblxuXG5cbnByb2NlZHVyZURlY2xhcmF0aW9uICAgOjo9ICBbdHlwZV0gbGFiZWw8Tk9fV0hJVEVTUEFDRT5cIihcIiAoIHBhcmFtZXRlciAoIFwiLFwiIHBhcmFtZXRlciApKiApPyBcIilcIiByZXR1cm5CbG9jayA7XG5cbnZhcmlhYmxlc0RlY2xhcmF0aW9uICAgOjo9ICBbdHlwZV0gdmFyaWFibGUgYXNzaWdubWVudD8gKCBcIixcIiB2YXJpYWJsZSBhc3NpZ25tZW50PyApKiBcIjtcIiA7XG5cbnZhcmlhYmxlQXNzaWdubWVudCAgICAgOjo9ICB2YXJpYWJsZSBhc3NpZ25tZW50IFwiO1wiIDtcblxub2JqZWN0QXNzaWdubWVudCAgICAgICA6Oj0gIFwie1wiIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3R5cGVdPyB2YXJpYWJsZSAoIFwiLFwiIFt0eXBlXT8gdmFyaWFibGUgKSogXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIn1cIiBcIj1cIiB2YXJpYWJsZSBcIjtcIiA7XG5cbmFycmF5QXNzaWdubWVudCAgICAgICAgOjo9ICBcIltcIiBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICggXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggXCJfXCIgKCBcIixcIiBcIl9cIiApKiAoIFwiLFwiIFt0eXBlXT8gdmFyaWFibGUgKSsgKSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBbdHlwZV0/IHZhcmlhYmxlICggXCIsXCIgW3R5cGVdPyB2YXJpYWJsZSApKiApIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIl1cIiBcIj1cIiB2YXJpYWJsZSBcIjtcIiA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuXG5hbm9ueW1vdXNGdW5jdGlvbiAgICAgIDo6PSAgXCIoXCIgKCBwYXJhbWV0ZXIgKCBcIixcIiBwYXJhbWV0ZXIgKSogKT8gXCIpXCIgcmV0dXJuQmxvY2sgO1xuXG5jb25kaXRpb25hbEJsb2NrICAgICAgIDo6PSAgXCJJZlwiIFwiKFwiIGNvbmRpdGlvbiBcIilcIiBibG9jayAoIFwiRWxzZVwiIGJsb2NrICk/
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mdXJ0bGUvYm5mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5jb25zdCBibmYgPSBgZG9jdW1lbnQgICAgICAgICAgICAgICA6Oj0gICggdG9wTGV2ZWxEZWNsYXJhdGlvbiB8IGVycm9yICkrIDtcblxuXG5cbnRvcExldmVsRGVjbGFyYXRpb24gICAgOjo9ICBwcm9jZWR1cmVEZWNsYXJhdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgdmFyaWFibGVzRGVjbGFyYXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbmVycm9yLiAgICAgICAgICAgICAgICAgOjo9ICAuIDtcblxuXG5cbnByb2NlZHVyZURlY2xhcmF0aW9uICAgOjo9ICBbdHlwZV0gbGFiZWw8Tk9fV0hJVEVTUEFDRT5cIihcIiAoIHBhcmFtZXRlciAoIFwiLFwiIHBhcmFtZXRlciApKiApPyBcIilcIiByZXR1cm5CbG9jayA7XG5cbnZhcmlhYmxlc0RlY2xhcmF0aW9uICAgOjo9ICBbdHlwZV0gdmFyaWFibGUgYXNzaWdubWVudD8gKCBcIixcIiB2YXJpYWJsZSBhc3NpZ25tZW50PyApKiBcIjtcIiA7XG5cbnZhcmlhYmxlQXNzaWdubWVudCAgICAgOjo9ICB2YXJpYWJsZSBhc3NpZ25tZW50IFwiO1wiIDtcblxub2JqZWN0QXNzaWdubWVudCAgICAgICA6Oj0gIFwie1wiIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3R5cGVdPyB2YXJpYWJsZSAoIFwiLFwiIFt0eXBlXT8gdmFyaWFibGUgKSogXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIn1cIiBcIj1cIiB2YXJpYWJsZSBcIjtcIiA7XG5cbmFycmF5QXNzaWdubWVudCAgICAgICAgOjo9ICBcIltcIiBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICggXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggXCJfXCIgKCBcIixcIiBcIl9cIiApKiAoIFwiLFwiIFt0eXBlXT8gdmFyaWFibGUgKSsgKSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBbdHlwZV0/IHZhcmlhYmxlICggXCIsXCIgW3R5cGVdPyB2YXJpYWJsZSApKiApIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIl1cIiBcIj1cIiB2YXJpYWJsZSBcIjtcIiA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuXG5hbm9ueW1vdXNGdW5jdGlvbiAgICAgIDo6PSAgXCIoXCIgKCBwYXJhbWV0ZXIgKCBcIixcIiBwYXJhbWV0ZXIgKSogKT8gXCIpXCIgcmV0dXJuQmxvY2sgO1xuXG5jb25kaXRpb25hbEJsb2NrICAgICAgIDo6PSAgXCJJZlwiIFwiKFwiIGNvbmRpdGlvbiBcIilcIiBibG9jayAoIFwiRWxzZVwiIGJsb2NrICk/IDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuXG5mb3JFYWNoTG9vcCAgICAgICAgICAgIDo6PSAgXCJGb3JFYWNoXCI8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YXJpYWJsZSBcIixcIiBhbm9ueW1vdXNGdW5jdGlvbiBcIilcIiBcIjtcIiA7XG5cblxuXG5jb25kaXRpb24gICAgICAgICAgICAgIDo6PSAgYnJhY2tldGVkQ29uZGl0aW9uIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgYml0d2lzZUNvbmRpdGlvbiBcblxuICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGNvbXBhcmlzb24gXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICB2YWx1ZSBcbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgIDtcbiAgICAgICAgICAgICAgICAgICAgICAgIFxuYnJhY2tldGVkQ29uZGl0aW9uICAgICA6Oj0gIGNvbmRpdGlvbiAoIFwifHxcIiB8IFwiJiZcIiApIGNvbmRpdGlvbiA7IFxuXG5iaXR3aXNlQ29uZGl0aW9uICAgICAgIDo6PSAgY29uZGl0aW9uICggXCJ8fFwiIHwgXCImJlwiICkgY29uZGl0aW9uIDsgXG5cbmNvbXBhcmlzb24gICAgICAgICAgICAgOjo9ICB2YWx1ZSAoIFwiIT1cIiB8IFwiPT1cIiApIHZhbHVlIDsgXG5cblxuXG5yZXR1cm5CbG9jay4uICAgICAgICAgIDo6PSAgXCJ7XCIgKCBzdGVwIHwgbm9uc2Vuc2UgKSogcmV0dXJuPyBcIn1cIiA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmJsb2NrLi4gICAgICAgICAgICAgICAgOjo9ICBcIntcIiAoIHN0ZXAgfCBub25zZW5zZSApKiBcIn1cIiA7XG5cblxuXG5zdGVwICAgICAgICAgICAgICAgICAgIDo6PSAgdmFyaWFibGVzRGVjbGFyYXRpb25cbiBcbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICB2YXJpYWJsZUFzc2lnbm1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgb2JqZWN0QXNzaWdubWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBhcnJheUFzc2lnbm1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgY29uZGl0aW9uYWxCbG9ja1xuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBmb3JFYWNoTG9vcFxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICA7ICBcbiAgXG5ub25zZW5zZS4gICAgICAgICAgICAgIDo6PSAgW3R5cGVdIHwgW2tleXdvcmRdIHwgW3ByaW1pdGl2ZV0gfCBbcXVlcnldIHwgW3NwZWNpYWxdIHwgW25hbWVdIHwgW251bWJlcl0gfCBbdW5hc3NpZ25lZF0gO1xuICAgIFxuXG4gICAgXG5yZXR1cm4gICAgICAgICAgICAgICAgIDo6PSAgW3JldHVybl0gdmFsdWUgXCI7XCIgOyBcblxudmFsdWUgICAgICAgICAgICAgICAgICA6Oj0gIHZhcmlhYmxlIHwgW251bWJlcl0gfCBbcHJpbWl0aXZlXSB8IFtzdHJpbmctbGl0ZXJhbF0gO1xuXG5wYXJhbWV0ZXIgICAgICAgICAgICAgIDo6PSAgW3R5cGVdIHZhcmlhYmxlIDtcblxudmFyaWFibGUgICAgICAgICAgICAgICA6Oj0gIFtuYW1lXSA7XG5cbmFzc2lnbm1lbnQgICAgICAgICAgICAgOjo9ICBcIj1cIiAoIHByb2NlZHVyZUNhbGwgfCBub2Rlc1F1ZXJ5IHwgbm9kZVF1ZXJ5IHwgdmFsdWUgKSA7XG5cblxuXG5wcm9jZWR1cmVDYWxsICAgICAgICAgIDo6PSAgcmVmZXJlbmNlPE5PX1dISVRFU1BBQ0U+XCIoXCIgKCB2YWx1ZSAoIFwiLFwiIHZhbHVlICkqICk/IFwiKVwiIDtcblxubm9kZXNRdWVyeSAgICAgICAgICAgICA6Oj0gIFwibm9kZXNRdWVyeVwiPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFyaWFibGUgXCIsXCIgZXhwcmVzc2lvbiBcIilcIiA7XG5cbm5vZGVRdWVyeSAgICAgICAgICAgICAgOjo9ICBcIm5vZGVRdWVyeVwiPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFyaWFibGUgXCIsXCIgZXhwcmVzc2lvbiBcIilcIiA7XG5cblxuXG5sYWJlbC4gICAgICAgICAgICAgICAgIDo6PSAgW25hbWVdIDtcblxucmVmZXJlbmNlLiAgICAgICAgICAgICA6Oj0gIFtuYW1lXSA7XG5cblxuXG5leHByZXNzaW9uICAgICAgICAgICAgIDo6PSAgcGF0aCBzcHJlYWQ/IHN1YkV4cHJlc3Npb24/IDtcblxucGF0aCAgICAgICAgICAgICAgICAgICA6Oj0gIFwiL1wiIGluZmluaXRlRGVzY2VudD8gc2VsZWN0b3JzIDtcblxuc3ViRXhwcmVzc2lvbiAgICAgICAgICA6Oj0gIHBhdGggc3ByZWFkPyBzdWJFeHByZXNzaW9uPztcblxuaW5maW5pdGVEZXNjZW50ICAgICAgICA6Oj0gIFwiL1wiIDtcblxuc2VsZWN0b3JzICAgICAgICAgICAgICA6Oj0gIHNlbGVjdG9yICggXCJ8XCIgc2VsZWN0b3IgKSogO1xuXG5zcHJlYWQgICAgICAgICAgICAgICAgIDo6PSAgdW5pcXVlXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBcIltcIiBcbiAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICggXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggc3RhcnRJbmRleCBcIi4uLlwiIGVuZEluZGV4ICkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggc3RhcnRJbmRleCBcIi4uLlwiICkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggXCIuLi5cIiBlbmRJbmRleCApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXVwiIDtcblxuc2VsZWN0b3IgICAgICAgICAgICAgICA6Oj0gIHJ1bGVOYW1lIHwgdG9rZW5UeXBlIDtcbiAgICAgICAgICAgICAgICAgICBcbnJ1bGVOYW1lICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gfCBcIipcIiA7XG4gICAgICAgICAgICAgICAgICAgXG50b2tlblR5cGUgICAgICAgICAgICAgIDo6PSAgXCJAXCI8Tk9fV0hJVEVTUEFDRT4oIFtuYW1lXSB8IFwiKlwiICkgO1xuICAgICAgICAgICAgICAgICAgIFxuc3RhcnRJbmRleCAgICAgICAgICAgICA6Oj0gIFtudW1iZXJdIDtcbiAgICAgICAgICAgICAgICAgICBcbmVuZEluZGV4ICAgICAgICAgICAgICAgOjo9ICBbbnVtYmVyXSA7XG4gICAgICAgICAgICAgICAgICAgXG5pbmRleCAgICAgICAgICAgICAgICAgIDo6PSAgW251bWJlcl0gO1xuICAgICAgICAgICAgICAgICAgIFxudW5pcXVlICAgICAgICAgICAgICAgICA6Oj0gIFwiIVwiIDtgO1xuXG5leHBvcnQgZGVmYXVsdCBibmY7XG4iXSwibmFtZXMiOlsiYm5mIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkEwS0E7OztlQUFBOzs7QUF4S0EsSUFBTUEsTUFBTztJQXdLYixXQUFlQSJ9
|
package/package.json
CHANGED
package/src/furtle/bnf.js
CHANGED
|
@@ -52,15 +52,22 @@ forEachLoop ::= "ForEach"<NO_WHITESPACE>"(" variable "," anonymousFu
|
|
|
52
52
|
|
|
53
53
|
|
|
54
54
|
|
|
55
|
+
condition ::= bracketedCondition
|
|
55
56
|
|
|
56
|
-
|
|
57
|
+
| bitwiseCondition
|
|
57
58
|
|
|
58
|
-
|
|
|
59
|
+
| comparison
|
|
59
60
|
|
|
60
|
-
| value
|
|
61
|
+
| value
|
|
61
62
|
|
|
62
63
|
;
|
|
63
64
|
|
|
65
|
+
bracketedCondition ::= condition ( "||" | "&&" ) condition ;
|
|
66
|
+
|
|
67
|
+
bitwiseCondition ::= condition ( "||" | "&&" ) condition ;
|
|
68
|
+
|
|
69
|
+
comparison ::= value ( "!=" | "==" ) value ;
|
|
70
|
+
|
|
64
71
|
|
|
65
72
|
|
|
66
73
|
returnBlock.. ::= "{" ( step | nonsense )* return? "}" ;
|