occam-grammars 1.3.58 → 1.3.60
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 +14 -30
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\nobjectAssignment ::= "("
|
|
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\nobjectAssignment ::= "(" parameters ")" "=" variable ";" ;\n\narrayAssignment ::= "[" parameters "]" "=" variable ";" ;\n \nconditionalBlock ::= "If" "(" condition ")" block ( "Else" block )? ; \n\nforEachLoop ::= "ForEach"<NO_WHITESPACE>"(" variable "," anonymousProcedure ")" ";" ;\n\n\n\nanonymousProcedure ::= "(" parameters? ")" block ;\n\nbracketedCondition ::= "(" condition ")" ; \n\nbitwiseCondition ::= condition ( "||" | "&&" ) condition ; \n\ncomparison ::= value ( "!=" | "==" ) value ; \n\ncondition ::= bracketedCondition \n\n | bitwiseCondition \n\n | comparison \n\n | value \n \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 | 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 \nassignment ::= "=" ( procedureCall | nodesQuery | nodeQuery | value ) ;\n\n\n\nprocedureCall ::= reference<NO_WHITESPACE>"(" values? ")" ;\n\nnodesQuery ::= "nodesQuery"<NO_WHITESPACE>"(" variable "," expression ")" ;\n\nnodeQuery ::= "nodeQuery"<NO_WHITESPACE>"(" variable "," expression ")" ;\n\n\n\nparameters ::= parameter ( "," parameter )* ;\n\nvalues ::= value ( "," value )* ;\n\n\n\nvalue ::= variable | [number] | [primitive] | [string-literal] ;\n\nvariable ::= [name] ;\n\nparameter ::= [type] [name]\n\n | "_" \n\n ;\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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mdXJ0bGUvYm5mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5jb25zdCBibmYgPSBgZG9jdW1lbnQgICAgICAgICAgICAgICA6Oj0gICggcHJvY2VkdXJlRGVjbGFyYXRpb24gfCBlcnJvciApKyA7XG5cblxuXG5wcm9jZWR1cmVEZWNsYXJhdGlvbiAgIDo6PSAgW3R5cGVdIGxhYmVsPE5PX1dISVRFU1BBQ0U+XCIoXCIgcGFyYW1ldGVycz8gXCIpXCIgcmV0dXJuQmxvY2sgO1xuXG5cblxuZXJyb3IuICAgICAgICAgICAgICAgICA6Oj0gIC4gO1xuXG5cblxudmFyaWFibGVzRGVjbGFyYXRpb24gICA6Oj0gIFt0eXBlXSB2YXJpYWJsZSBhc3NpZ25tZW50PyAoIFwiLFwiIHZhcmlhYmxlIGFzc2lnbm1lbnQ/
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mdXJ0bGUvYm5mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5jb25zdCBibmYgPSBgZG9jdW1lbnQgICAgICAgICAgICAgICA6Oj0gICggcHJvY2VkdXJlRGVjbGFyYXRpb24gfCBlcnJvciApKyA7XG5cblxuXG5wcm9jZWR1cmVEZWNsYXJhdGlvbiAgIDo6PSAgW3R5cGVdIGxhYmVsPE5PX1dISVRFU1BBQ0U+XCIoXCIgcGFyYW1ldGVycz8gXCIpXCIgcmV0dXJuQmxvY2sgO1xuXG5cblxuZXJyb3IuICAgICAgICAgICAgICAgICA6Oj0gIC4gO1xuXG5cblxudmFyaWFibGVzRGVjbGFyYXRpb24gICA6Oj0gIFt0eXBlXSB2YXJpYWJsZSBhc3NpZ25tZW50PyAoIFwiLFwiIHZhcmlhYmxlIGFzc2lnbm1lbnQ/ICkqIFwiO1wiIDtcblxudmFyaWFibGVBc3NpZ25tZW50ICAgICA6Oj0gIHZhcmlhYmxlIGFzc2lnbm1lbnQgXCI7XCIgO1xuXG5vYmplY3RBc3NpZ25tZW50ICAgICAgIDo6PSAgXCIoXCIgcGFyYW1ldGVycyBcIilcIiBcIj1cIiB2YXJpYWJsZSBcIjtcIiA7XG5cbmFycmF5QXNzaWdubWVudCAgICAgICAgOjo9ICBcIltcIiBwYXJhbWV0ZXJzIFwiXVwiIFwiPVwiIHZhcmlhYmxlIFwiO1wiIDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuY29uZGl0aW9uYWxCbG9jayAgICAgICA6Oj0gIFwiSWZcIiBcIihcIiBjb25kaXRpb24gXCIpXCIgYmxvY2sgKCBcIkVsc2VcIiBibG9jayApPyA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcblxuZm9yRWFjaExvb3AgICAgICAgICAgICA6Oj0gIFwiRm9yRWFjaFwiPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFyaWFibGUgXCIsXCIgYW5vbnltb3VzUHJvY2VkdXJlIFwiKVwiIFwiO1wiIDtcblxuXG5cbmFub255bW91c1Byb2NlZHVyZSAgICAgOjo9ICBcIihcIiBwYXJhbWV0ZXJzPyBcIilcIiBibG9jayA7XG5cbmJyYWNrZXRlZENvbmRpdGlvbiAgICAgOjo9ICBcIihcIiBjb25kaXRpb24gXCIpXCIgOyBcblxuYml0d2lzZUNvbmRpdGlvbiAgICAgICA6Oj0gIGNvbmRpdGlvbiAoIFwifHxcIiB8IFwiJiZcIiApIGNvbmRpdGlvbiA7IFxuXG5jb21wYXJpc29uICAgICAgICAgICAgIDo6PSAgdmFsdWUgKCBcIiE9XCIgfCBcIj09XCIgKSB2YWx1ZSA7IFxuXG5jb25kaXRpb24gICAgICAgICAgICAgIDo6PSAgYnJhY2tldGVkQ29uZGl0aW9uIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgYml0d2lzZUNvbmRpdGlvbiBcblxuICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGNvbXBhcmlzb24gXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICB2YWx1ZSBcbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgIDtcbiAgICAgICAgICAgICAgICAgICAgICAgIFxuXG5cbmJsb2NrLi4gICAgICAgICAgICAgICAgOjo9ICBcIntcIiAoIHN0ZXAgfCBub25zZW5zZSApKiBcIn1cIiA7XG5cbnJldHVybkJsb2NrLi4gICAgICAgICAgOjo9ICBcIntcIiAoIHN0ZXAgfCBub25zZW5zZSApKiByZXR1cm5TdGF0ZW1lbnQ/IFwifVwiIDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxucmV0dXJuU3RhdGVtZW50ICAgICAgICA6Oj0gIFtyZXR1cm5dIHZhbHVlIFwiO1wiIDsgXG5cblxuXG5zdGVwICAgICAgICAgICAgICAgICAgIDo6PSAgdmFyaWFibGVzRGVjbGFyYXRpb25cbiBcbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICB2YXJpYWJsZUFzc2lnbm1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgb2JqZWN0QXNzaWdubWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBhcnJheUFzc2lnbm1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgY29uZGl0aW9uYWxCbG9ja1xuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBmb3JFYWNoTG9vcFxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICA7ICBcbiAgXG5ub25zZW5zZS4gICAgICAgICAgICAgIDo6PSAgW3R5cGVdIHwgW2tleXdvcmRdIHwgW3ByaW1pdGl2ZV0gfCBbcXVlcnldIHwgW3NwZWNpYWxdIHwgW25hbWVdIHwgW251bWJlcl0gfCBbdW5hc3NpZ25lZF0gO1xuICAgIFxuXG4gICAgXG5hc3NpZ25tZW50ICAgICAgICAgICAgIDo6PSAgXCI9XCIgKCBwcm9jZWR1cmVDYWxsIHwgbm9kZXNRdWVyeSB8IG5vZGVRdWVyeSB8IHZhbHVlICkgO1xuXG5cblxucHJvY2VkdXJlQ2FsbCAgICAgICAgICA6Oj0gIHJlZmVyZW5jZTxOT19XSElURVNQQUNFPlwiKFwiIHZhbHVlcz8gXCIpXCIgO1xuXG5ub2Rlc1F1ZXJ5ICAgICAgICAgICAgIDo6PSAgXCJub2Rlc1F1ZXJ5XCI8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YXJpYWJsZSBcIixcIiBleHByZXNzaW9uIFwiKVwiIDtcblxubm9kZVF1ZXJ5ICAgICAgICAgICAgICA6Oj0gIFwibm9kZVF1ZXJ5XCI8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YXJpYWJsZSBcIixcIiBleHByZXNzaW9uIFwiKVwiIDtcblxuXG5cbnBhcmFtZXRlcnMgICAgICAgICAgICAgOjo9ICBwYXJhbWV0ZXIgKCBcIixcIiBwYXJhbWV0ZXIgKSogO1xuXG52YWx1ZXMgICAgICAgICAgICAgICAgIDo6PSAgdmFsdWUgKCBcIixcIiB2YWx1ZSApKiA7XG5cblxuXG52YWx1ZSAgICAgICAgICAgICAgICAgIDo6PSAgdmFyaWFibGUgfCBbbnVtYmVyXSB8IFtwcmltaXRpdmVdIHwgW3N0cmluZy1saXRlcmFsXSA7XG5cbnZhcmlhYmxlICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuXG5wYXJhbWV0ZXIgICAgICAgICAgICAgIDo6PSAgW3R5cGVdIFtuYW1lXVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgXCJfXCIgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICA7XG5cblxuXG5sYWJlbC4gICAgICAgICAgICAgICAgIDo6PSAgW25hbWVdIDtcblxucmVmZXJlbmNlLiAgICAgICAgICAgICA6Oj0gIFtuYW1lXSA7XG5cblxuXG5leHByZXNzaW9uICAgICAgICAgICAgIDo6PSAgcGF0aCBzcHJlYWQ/IHN1YkV4cHJlc3Npb24/IDtcblxucGF0aCAgICAgICAgICAgICAgICAgICA6Oj0gIFwiL1wiIGluZmluaXRlRGVzY2VudD8gc2VsZWN0b3JzIDtcblxuc3ViRXhwcmVzc2lvbiAgICAgICAgICA6Oj0gIHBhdGggc3ByZWFkPyBzdWJFeHByZXNzaW9uPztcblxuaW5maW5pdGVEZXNjZW50ICAgICAgICA6Oj0gIFwiL1wiIDtcblxuc2VsZWN0b3JzICAgICAgICAgICAgICA6Oj0gIHNlbGVjdG9yICggXCJ8XCIgc2VsZWN0b3IgKSogO1xuXG5zcHJlYWQgICAgICAgICAgICAgICAgIDo6PSAgdW5pcXVlXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICB8ICBcIltcIiBcbiAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICggXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggc3RhcnRJbmRleCBcIi4uLlwiIGVuZEluZGV4ICkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggc3RhcnRJbmRleCBcIi4uLlwiICkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggXCIuLi5cIiBlbmRJbmRleCApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXVwiIDtcblxuc2VsZWN0b3IgICAgICAgICAgICAgICA6Oj0gIHJ1bGVOYW1lIHwgdG9rZW5UeXBlIDtcbiAgICAgICAgICAgICAgICAgICBcbnJ1bGVOYW1lICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gfCBcIipcIiA7XG4gICAgICAgICAgICAgICAgICAgXG50b2tlblR5cGUgICAgICAgICAgICAgIDo6PSAgXCJAXCI8Tk9fV0hJVEVTUEFDRT4oIFtuYW1lXSB8IFwiKlwiICkgO1xuICAgICAgICAgICAgICAgICAgIFxuc3RhcnRJbmRleCAgICAgICAgICAgICA6Oj0gIFtudW1iZXJdIDtcbiAgICAgICAgICAgICAgICAgICBcbmVuZEluZGV4ICAgICAgICAgICAgICAgOjo9ICBbbnVtYmVyXSA7XG4gICAgICAgICAgICAgICAgICAgXG5pbmRleCAgICAgICAgICAgICAgICAgIDo6PSAgW251bWJlcl0gO1xuICAgICAgICAgICAgICAgICAgIFxudW5pcXVlICAgICAgICAgICAgICAgICA6Oj0gIFwiIVwiIDtgO1xuXG5leHBvcnQgZGVmYXVsdCBibmY7XG4iXSwibmFtZXMiOlsiYm5mIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkE4SkE7OztlQUFBOzs7QUE1SkEsSUFBTUEsTUFBTztJQTRKYixXQUFlQSJ9
|
package/package.json
CHANGED
package/src/furtle/bnf.js
CHANGED
|
@@ -16,35 +16,23 @@ variablesDeclaration ::= [type] variable assignment? ( "," variable assignmen
|
|
|
16
16
|
|
|
17
17
|
variableAssignment ::= variable assignment ";" ;
|
|
18
18
|
|
|
19
|
-
objectAssignment ::= "("
|
|
19
|
+
objectAssignment ::= "(" parameters ")" "=" variable ";" ;
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
arrayAssignment ::= "[" parameters "]" "=" variable ";" ;
|
|
22
|
+
|
|
23
|
+
conditionalBlock ::= "If" "(" condition ")" block ( "Else" block )? ;
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
forEachLoop ::= "ForEach"<NO_WHITESPACE>"(" variable "," anonymousProcedure ")" ";" ;
|
|
26
26
|
|
|
27
|
-
(
|
|
28
27
|
|
|
29
|
-
( dummyVariable ( "," dummyVariable )* ( "," [type] variable )+ )
|
|
30
|
-
|
|
31
|
-
|
|
|
32
|
-
|
|
33
|
-
( [type] variable ( "," [type] variable )* )
|
|
34
|
-
|
|
35
|
-
)
|
|
36
|
-
|
|
37
|
-
"]" "=" variable ";" ;
|
|
38
|
-
|
|
39
|
-
|
|
40
28
|
|
|
41
29
|
anonymousProcedure ::= "(" parameters? ")" block ;
|
|
42
30
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
forEachLoop ::= "ForEach"<NO_WHITESPACE>"(" variable "," anonymousProcedure ")" ";" ;
|
|
31
|
+
bracketedCondition ::= "(" condition ")" ;
|
|
46
32
|
|
|
33
|
+
bitwiseCondition ::= condition ( "||" | "&&" ) condition ;
|
|
47
34
|
|
|
35
|
+
comparison ::= value ( "!=" | "==" ) value ;
|
|
48
36
|
|
|
49
37
|
condition ::= bracketedCondition
|
|
50
38
|
|
|
@@ -56,17 +44,13 @@ condition ::= bracketedCondition
|
|
|
56
44
|
|
|
57
45
|
;
|
|
58
46
|
|
|
59
|
-
bracketedCondition ::= "(" condition ")" ;
|
|
60
|
-
|
|
61
|
-
bitwiseCondition ::= condition ( "||" | "&&" ) condition ;
|
|
62
|
-
|
|
63
|
-
comparison ::= value ( "!=" | "==" ) value ;
|
|
64
47
|
|
|
65
48
|
|
|
49
|
+
block.. ::= "{" ( step | nonsense )* "}" ;
|
|
66
50
|
|
|
67
51
|
returnBlock.. ::= "{" ( step | nonsense )* returnStatement? "}" ;
|
|
68
52
|
|
|
69
|
-
|
|
53
|
+
returnStatement ::= [return] value ";" ;
|
|
70
54
|
|
|
71
55
|
|
|
72
56
|
|
|
@@ -88,7 +72,7 @@ nonsense. ::= [type] | [keyword] | [primitive] | [query] | [specia
|
|
|
88
72
|
|
|
89
73
|
|
|
90
74
|
|
|
91
|
-
|
|
75
|
+
assignment ::= "=" ( procedureCall | nodesQuery | nodeQuery | value ) ;
|
|
92
76
|
|
|
93
77
|
|
|
94
78
|
|
|
@@ -110,11 +94,11 @@ value ::= variable | [number] | [primitive] | [string-literal]
|
|
|
110
94
|
|
|
111
95
|
variable ::= [name] ;
|
|
112
96
|
|
|
113
|
-
parameter ::= [type] [name]
|
|
97
|
+
parameter ::= [type] [name]
|
|
114
98
|
|
|
115
|
-
|
|
99
|
+
| "_"
|
|
116
100
|
|
|
117
|
-
|
|
101
|
+
;
|
|
118
102
|
|
|
119
103
|
|
|
120
104
|
|