occam-grammars 1.3.19 → 1.3.20
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 +27 -15
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\
|
|
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\ncondition ::= "(" condition ")" \n\n | condition ( "||" | "&&" ) condition \n\n | value ( ( "!=" | "==" ) value )? \n \n ;\n \n\n\nreturnBlock.. ::= "{" ( variablesDeclaration | \n \n variableAssignment | \n \n objectAssignment | \n \n arrayAssignment | \n \n conditionalBlock | \n \n forEachLoop | \n \n nonsense )* return? "}" ;\n \nblock.. ::= "{" ( variablesDeclaration | \n \n variableAssignment | \n \n objectAssignment | \n \n arrayAssignment | \n \n conditionalBlock | \n \n forEachLoop | \n \n nonsense )* "}" ;\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,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mdXJ0bGUvYm5mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5jb25zdCBibmYgPSBgZG9jdW1lbnQgICAgICAgICAgICAgICA6Oj0gICggdG9wTGV2ZWxEZWNsYXJhdGlvbiB8IGVycm9yICkrIDtcblxuXG5cbnRvcExldmVsRGVjbGFyYXRpb24gICAgOjo9ICBwcm9jZWR1cmVEZWNsYXJhdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgdmFyaWFibGVzRGVjbGFyYXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbmVycm9yLiAgICAgICAgICAgICAgICAgOjo9ICAuIDtcblxuXG5cbnByb2NlZHVyZURlY2xhcmF0aW9uICAgOjo9ICBbdHlwZV0gbGFiZWw8Tk9fV0hJVEVTUEFDRT5cIihcIiAoIHBhcmFtZXRlciAoIFwiLFwiIHBhcmFtZXRlciApKiApPyBcIilcIiByZXR1cm5CbG9jayA7XG5cbnZhcmlhYmxlc0RlY2xhcmF0aW9uICAgOjo9ICBbdHlwZV0gdmFyaWFibGUgYXNzaWdubWVudD8gKCBcIixcIiB2YXJpYWJsZSBhc3NpZ25tZW50PyApKiBcIjtcIiA7XG5cbnZhcmlhYmxlQXNzaWdubWVudCAgICAgOjo9ICB2YXJpYWJsZSBhc3NpZ25tZW50IFwiO1wiIDtcblxub2JqZWN0QXNzaWdubWVudCAgICAgICA6Oj0gIFwie1wiIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3R5cGVdPyB2YXJpYWJsZSAoIFwiLFwiIFt0eXBlXT8gdmFyaWFibGUgKSogXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIn1cIiBcIj1cIiB2YXJpYWJsZSBcIjtcIiA7XG5cbmFycmF5QXNzaWdubWVudCAgICAgICAgOjo9ICBcIltcIiBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICggXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggXCJfXCIgKCBcIixcIiBcIl9cIiApKiAoIFwiLFwiIFt0eXBlXT8gdmFyaWFibGUgKSsgKSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBbdHlwZV0/IHZhcmlhYmxlICggXCIsXCIgW3R5cGVdPyB2YXJpYWJsZSApKiApIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIl1cIiBcIj1cIiB2YXJpYWJsZSBcIjtcIiA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuXG5hbm9ueW1vdXNGdW5jdGlvbiAgICAgIDo6PSAgXCIoXCIgKCBwYXJhbWV0ZXIgKCBcIixcIiBwYXJhbWV0ZXIgKSogKT8gXCIpXCIgcmV0dXJuQmxvY2sgO1xuXG5jb25kaXRpb25hbEJsb2NrICAgICAgIDo6PSAgXCJJZlwiIFwiKFwiIGNvbmRpdGlvbiBcIilcIiBibG9jayAoIFwiRWxzZVwiIGJsb2NrICk/IDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuXG5mb3JFYWNoTG9vcCAgICAgICAgICAgIDo6PSAgXCJGb3JFYWNoXCI8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YXJpYWJsZSBcIixcIiBhbm9ueW1vdXNGdW5jdGlvbiBcIilcIiBcIjtcIiA7XG5cbmNvbmRpdGlvbiAgICAgICAgICAgICAgOjo9ICBcIihcIiBjb25kaXRpb24gXCIpXCIgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBjb25kaXRpb24gKCBcInx8XCIgfCBcIiYmXCIgKSBjb25kaXRpb24gXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICB2YWx1ZSAoICggXCIhPVwiIHwgXCI9PVwiICkgdmFsdWUgKT8gXG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICA7XG4gICAgICAgICAgICAgICAgICAgICAgICBcblxuXG5yZXR1cm5CbG9jay4uICAgICAgICAgIDo6PSAgXCJ7XCIgKCB2YXJpYWJsZXNEZWNsYXJhdGlvbiB8ICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZUFzc2lnbm1lbnQgfCAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0QXNzaWdubWVudCB8ICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheUFzc2lnbm1lbnQgfCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25hbEJsb2NrIHwgXG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JFYWNoTG9vcCB8IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbnNlbnNlICkqIHJldHVybj8gXCJ9XCIgO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5ibG9jay4uICAgICAgICAgICAgICAgIDo6PSAgXCJ7XCIgKCB2YXJpYWJsZXNEZWNsYXJhdGlvbiB8ICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZUFzc2lnbm1lbnQgfCAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0QXNzaWdubWVudCB8ICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheUFzc2lnbm1lbnQgfCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25hbEJsb2NrIHwgXG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JFYWNoTG9vcCB8IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbnNlbnNlICkqIFwifVwiIDtcblxuXG5cbm5vbnNlbnNlLiAgICAgICAgICAgICAgOjo9ICBbdHlwZV0gfCBba2V5d29yZF0gfCBbcHJpbWl0aXZlXSB8IFtxdWVyeV0gfCBbc3BlY2lhbF0gfCBbbmFtZV0gfCBbbnVtYmVyXSB8IFt1bmFzc2lnbmVkXSA7XG4gICAgXG5cbiAgICBcbnJldHVybiAgICAgICAgICAgICAgICAgOjo9ICBbcmV0dXJuXSB2YWx1ZSBcIjtcIiA7IFxuXG52YWx1ZSAgICAgICAgICAgICAgICAgIDo6PSAgdmFyaWFibGUgfCBbbnVtYmVyXSB8IFtwcmltaXRpdmVdIHwgW3N0cmluZy1saXRlcmFsXSA7XG5cbnBhcmFtZXRlciAgICAgICAgICAgICAgOjo9ICBbdHlwZV0gdmFyaWFibGUgO1xuXG52YXJpYWJsZSAgICAgICAgICAgICAgIDo6PSAgW25hbWVdIDtcblxuYXNzaWdubWVudCAgICAgICAgICAgICA6Oj0gIFwiPVwiICggcHJvY2VkdXJlQ2FsbCB8IG5vZGVzUXVlcnkgfCBub2RlUXVlcnkgfCB2YWx1ZSApIDtcblxuXG5cbnByb2NlZHVyZUNhbGwgICAgICAgICAgOjo9ICByZWZlcmVuY2U8Tk9fV0hJVEVTUEFDRT5cIihcIiAoIHZhbHVlICggXCIsXCIgdmFsdWUgKSogKT8gXCIpXCIgO1xuXG5ub2Rlc1F1ZXJ5ICAgICAgICAgICAgIDo6PSAgXCJub2Rlc1F1ZXJ5XCI8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YXJpYWJsZSBcIixcIiBleHByZXNzaW9uIFwiKVwiIDtcblxubm9kZVF1ZXJ5ICAgICAgICAgICAgICA6Oj0gIFwibm9kZVF1ZXJ5XCI8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YXJpYWJsZSBcIixcIiBleHByZXNzaW9uIFwiKVwiIDtcblxuXG5cbmxhYmVsLiAgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuXG5yZWZlcmVuY2UuICAgICAgICAgICAgIDo6PSAgW25hbWVdIDtcblxuXG5cbmV4cHJlc3Npb24gICAgICAgICAgICAgOjo9ICBwYXRoIHNwcmVhZD8gc3ViRXhwcmVzc2lvbj8gO1xuXG5wYXRoICAgICAgICAgICAgICAgICAgIDo6PSAgXCIvXCIgaW5maW5pdGVEZXNjZW50PyBzZWxlY3RvcnMgO1xuXG5zdWJFeHByZXNzaW9uICAgICAgICAgIDo6PSAgcGF0aCBzcHJlYWQ/IHN1YkV4cHJlc3Npb24/O1xuXG5pbmZpbml0ZURlc2NlbnQgICAgICAgIDo6PSAgXCIvXCIgO1xuXG5zZWxlY3RvcnMgICAgICAgICAgICAgIDo6PSAgc2VsZWN0b3IgKCBcInxcIiBzZWxlY3RvciApKiA7XG5cbnNwcmVhZCAgICAgICAgICAgICAgICAgOjo9ICB1bmlxdWVcblxuICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFwiW1wiIFxuICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBzdGFydEluZGV4IFwiLi4uXCIgZW5kSW5kZXggKSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBzdGFydEluZGV4IFwiLi4uXCIgKSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBcIi4uLlwiIGVuZEluZGV4IClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJdXCIgO1xuXG5zZWxlY3RvciAgICAgICAgICAgICAgIDo6PSAgcnVsZU5hbWUgfCB0b2tlblR5cGUgO1xuICAgICAgICAgICAgICAgICAgIFxucnVsZU5hbWUgICAgICAgICAgICAgICA6Oj0gIFtuYW1lXSB8IFwiKlwiIDtcbiAgICAgICAgICAgICAgICAgICBcbnRva2VuVHlwZSAgICAgICAgICAgICAgOjo9ICBcIkBcIjxOT19XSElURVNQQUNFPiggW25hbWVdIHwgXCIqXCIgKSA7XG4gICAgICAgICAgICAgICAgICAgXG5zdGFydEluZGV4ICAgICAgICAgICAgIDo6PSAgW251bWJlcl0gO1xuICAgICAgICAgICAgICAgICAgIFxuZW5kSW5kZXggICAgICAgICAgICAgICA6Oj0gIFtudW1iZXJdIDtcbiAgICAgICAgICAgICAgICAgICBcbmluZGV4ICAgICAgICAgICAgICAgICAgOjo9ICBbbnVtYmVyXSA7XG4gICAgICAgICAgICAgICAgICAgXG51bmlxdWUgICAgICAgICAgICAgICAgIDo6PSAgXCIhXCIgO2A7XG5cbmV4cG9ydCBkZWZhdWx0IGJuZjtcbiJdLCJuYW1lcyI6WyJibmYiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQTBLQTs7O2VBQUE7OztBQXhLQSxJQUFNQSxNQUFPO0lBd0tiLFdBQWVBIn0=
|
package/package.json
CHANGED
package/src/furtle/bnf.js
CHANGED
|
@@ -16,18 +16,6 @@ error. ::= . ;
|
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
instruction ::= variablesDeclaration
|
|
20
|
-
|
|
21
|
-
| variableAssignment
|
|
22
|
-
|
|
23
|
-
| objectAssignment
|
|
24
|
-
|
|
25
|
-
| arrayAssignment
|
|
26
|
-
|
|
27
|
-
;
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
19
|
procedureDeclaration ::= [type] label<NO_WHITESPACE>"(" ( parameter ( "," parameter )* )? ")" returnBlock ;
|
|
32
20
|
|
|
33
21
|
variablesDeclaration ::= [type] variable assignment? ( "," variable assignment? )* ";" ;
|
|
@@ -72,13 +60,37 @@ condition ::= "(" condition ")"
|
|
|
72
60
|
|
|
73
61
|
|
|
74
62
|
|
|
75
|
-
returnBlock.. ::= "{" (
|
|
63
|
+
returnBlock.. ::= "{" ( variablesDeclaration |
|
|
64
|
+
|
|
65
|
+
variableAssignment |
|
|
66
|
+
|
|
67
|
+
objectAssignment |
|
|
68
|
+
|
|
69
|
+
arrayAssignment |
|
|
70
|
+
|
|
71
|
+
conditionalBlock |
|
|
72
|
+
|
|
73
|
+
forEachLoop |
|
|
74
|
+
|
|
75
|
+
nonsense )* return? "}" ;
|
|
76
76
|
|
|
77
|
-
block.. ::= "{" (
|
|
77
|
+
block.. ::= "{" ( variablesDeclaration |
|
|
78
|
+
|
|
79
|
+
variableAssignment |
|
|
80
|
+
|
|
81
|
+
objectAssignment |
|
|
82
|
+
|
|
83
|
+
arrayAssignment |
|
|
84
|
+
|
|
85
|
+
conditionalBlock |
|
|
86
|
+
|
|
87
|
+
forEachLoop |
|
|
88
|
+
|
|
89
|
+
nonsense )* "}" ;
|
|
78
90
|
|
|
79
91
|
|
|
80
92
|
|
|
81
|
-
nonsense. ::= [type] | [keyword] | [primitive] | [
|
|
93
|
+
nonsense. ::= [type] | [keyword] | [primitive] | [query] | [special] | [name] | [number] | [unassigned] ;
|
|
82
94
|
|
|
83
95
|
|
|
84
96
|
|