occam-grammars 1.3.543 → 1.3.545
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 +28 -14
- package/package.json +1 -1
- package/src/furtle/bnf.js +27 -13
package/lib/furtle/bnf.js
CHANGED
|
@@ -18,10 +18,6 @@ const bnf = `
|
|
|
18
18
|
|
|
19
19
|
anonymousProcedure ::= [type] "(" parameters? ")" returnBlock ;
|
|
20
20
|
|
|
21
|
-
returnStatement ::= "return" term ";" ;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
21
|
step ::= arrayAssignment
|
|
26
22
|
|
|
27
23
|
| objectAssignment
|
|
@@ -32,9 +28,9 @@ const bnf = `
|
|
|
32
28
|
|
|
33
29
|
|
|
34
30
|
|
|
35
|
-
arrayAssignment ::= "["
|
|
31
|
+
arrayAssignment ::= "[" bindings "]" "=" variable ";" ;
|
|
36
32
|
|
|
37
|
-
objectAssignment ::= "{"
|
|
33
|
+
objectAssignment ::= "{" namedBindings "}" "=" variable ";" ;
|
|
38
34
|
|
|
39
35
|
variableAssignments ::= [type] variableAssignment ( "," variableAssignment )* ";" ;
|
|
40
36
|
|
|
@@ -42,25 +38,31 @@ const bnf = `
|
|
|
42
38
|
|
|
43
39
|
|
|
44
40
|
|
|
45
|
-
|
|
41
|
+
namedBindings ::= namedBinding ( "," namedBinding )* ;
|
|
46
42
|
|
|
47
43
|
parameters ::= parameter ( "," parameter )* ;
|
|
48
44
|
|
|
45
|
+
bindings ::= binding ( "," binding )* ;
|
|
46
|
+
|
|
47
|
+
values ::= value ( "," value )* ;
|
|
48
|
+
|
|
49
49
|
terms ::= term ( "," term )* ;
|
|
50
50
|
|
|
51
51
|
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
namedBinding ::= [type] [name] ( "as" [name] )? ;
|
|
54
54
|
|
|
55
|
-
parameter
|
|
56
|
-
|
|
57
|
-
|
|
55
|
+
parameter ::= [type] [name] ;
|
|
56
|
+
|
|
57
|
+
binding ::= [type] [name]
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
| ε
|
|
60
|
+
|
|
61
|
+
;
|
|
60
62
|
|
|
61
63
|
|
|
62
64
|
|
|
63
|
-
procedureCall ::= reference<NO_WHITESPACE>"("
|
|
65
|
+
procedureCall ::= reference<NO_WHITESPACE>"(" values? ")" ;
|
|
64
66
|
|
|
65
67
|
returnBlock.. ::= "{" ( step | nonsense )* returnStatement "}" ;
|
|
66
68
|
|
|
@@ -78,6 +80,10 @@ const bnf = `
|
|
|
78
80
|
|
|
79
81
|
|
|
80
82
|
|
|
83
|
+
returnStatement ::= "return" value ";" ;
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
81
87
|
comparisonTerm ::= term ( "==" | "!=" ) term ;
|
|
82
88
|
|
|
83
89
|
bracketedTerm ::= "(" term ")" ;
|
|
@@ -126,6 +132,14 @@ const bnf = `
|
|
|
126
132
|
|
|
127
133
|
|
|
128
134
|
|
|
135
|
+
value ::= primitive
|
|
136
|
+
|
|
137
|
+
| variable
|
|
138
|
+
|
|
139
|
+
;
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
|
|
129
143
|
primitive ::= [string-literal]
|
|
130
144
|
|
|
131
145
|
| [boolean]
|
|
@@ -155,4 +169,4 @@ const bnf = `
|
|
|
155
169
|
`;
|
|
156
170
|
const _default = bnf;
|
|
157
171
|
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mdXJ0bGUvYm5mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5jb25zdCBibmYgPSBgXG5cbiAgICBkb2N1bWVudCAgICAgICAgICAgICAgICA6Oj0gICggcHJvY2VkdXJlRGVjbGFyYXRpb24gfCBlcnJvciApKyA7XG4gICAgXG4gICAgXG4gICAgXG4gICAgcHJvY2VkdXJlRGVjbGFyYXRpb24gICAgOjo9ICBbdHlwZV0gbGFiZWw8Tk9fV0hJVEVTUEFDRT5cIihcIiBwYXJhbWV0ZXJzPyBcIilcIiByZXR1cm5CbG9jayA7XG4gICAgXG4gICAgYW5vbnltb3VzUHJvY2VkdXJlICAgICAgOjo9ICBbdHlwZV0gXCIoXCIgcGFyYW1ldGVycz8gXCIpXCIgcmV0dXJuQmxvY2sgO1xuICAgIFxuICAgIHN0ZXAgICAgICAgICAgICAgICAgICAgIDo6PSAgYXJyYXlBc3NpZ25tZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG9iamVjdEFzc2lnbm1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgdmFyaWFibGVBc3NpZ25tZW50c1xuICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgIFxuICAgICAgXG4gICAgICBcbiAgICBcbiAgICBhcnJheUFzc2lnbm1lbnQgICAgICAgICA6Oj0gIFwiW1wiIGJpbmRpbmdzIFwiXVwiIFwiPVwiIHZhcmlhYmxlIFwiO1wiIDtcbiAgICBcbiAgICBvYmplY3RBc3NpZ25tZW50ICAgICAgICA6Oj0gIFwie1wiIG5hbWVkQmluZGluZ3MgXCJ9XCIgXCI9XCIgdmFyaWFibGUgXCI7XCIgO1xuICAgIFxuICAgIHZhcmlhYmxlQXNzaWdubWVudHMgICAgIDo6PSAgW3R5cGVdIHZhcmlhYmxlQXNzaWdubWVudCAoIFwiLFwiIHZhcmlhYmxlQXNzaWdubWVudCApKiBcIjtcIiA7XG4gICAgXG4gICAgdmFyaWFibGVBc3NpZ25tZW50ICAgICAgOjo9ICB2YXJpYWJsZSBcIj1cIiBleHByZXNzaW9uIDtcbiAgICBcblxuXG4gICAgbmFtZWRCaW5kaW5ncyAgICAgICAgICAgOjo9ICBuYW1lZEJpbmRpbmcgKCBcIixcIiBuYW1lZEJpbmRpbmcgKSogO1xuICAgIFxuICAgIHBhcmFtZXRlcnMgICAgICAgICAgICAgIDo6PSAgcGFyYW1ldGVyICggXCIsXCIgcGFyYW1ldGVyICkqIDtcbiAgICBcbiAgICBiaW5kaW5ncyAgICAgICAgICAgICAgICA6Oj0gIGJpbmRpbmcgKCBcIixcIiBiaW5kaW5nICkqIDtcbiAgICBcbiAgICB2YWx1ZXMgICAgICAgICAgICAgICAgICA6Oj0gIHZhbHVlICggXCIsXCIgdmFsdWUgKSogO1xuICAgIFxuICAgIHRlcm1zICAgICAgICAgICAgICAgICAgIDo6PSAgdGVybSAoIFwiLFwiIHRlcm0gKSogO1xuICAgIFxuXG5cbiAgICBuYW1lZEJpbmRpbmcgICAgICAgICAgOjo9ICBbdHlwZV0gW25hbWVdICggXCJhc1wiIFtuYW1lXSApPyA7ICAgXG4gICAgXG4gICAgcGFyYW1ldGVyICAgICAgICAgICAgIDo6PSAgW3R5cGVdIFtuYW1lXSA7XG5cbiAgICBiaW5kaW5nICAgICAgICAgICAgICAgOjo9ICBbdHlwZV0gW25hbWVdXG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgzrUgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG5cbiAgICBcbiAgICBwcm9jZWR1cmVDYWxsICAgICAgICAgICA6Oj0gIHJlZmVyZW5jZTxOT19XSElURVNQQUNFPlwiKFwiIHZhbHVlcz8gXCIpXCIgO1xuICAgIFxuICAgIHJldHVybkJsb2NrLi4gICAgICAgICAgIDo6PSAgXCJ7XCIgKCBzdGVwIHwgbm9uc2Vuc2UgKSogcmV0dXJuU3RhdGVtZW50IFwifVwiIDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICBub2Rlc1F1ZXJ5ICAgICAgICAgICAgICA6Oj0gIFwibm9kZXNRdWVyeVwiPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFyaWFibGUgXCIsXCIgW3N0cmluZy1saXRlcmFsXSBcIilcIiA7XG4gICAgXG4gICAgbm9kZVF1ZXJ5ICAgICAgICAgICAgICAgOjo9ICBcIm5vZGVRdWVyeVwiPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFyaWFibGUgXCIsXCIgW3N0cmluZy1saXRlcmFsXSBcIilcIiA7XG4gICAgXG4gICAgdGVybmFyeSAgICAgICAgICAgICAgICAgOjo9ICBcImlmXCIgXCIoXCIgdGVybSBcIilcIiBleHByZXNzaW9uIFwiZWxzZVwiIGV4cHJlc3Npb24gO1xuICAgIFxuICAgIHJlZHVjZSAgICAgICAgICAgICAgICAgIDo6PSAgXCJyZWR1Y2VcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIGFub255bW91c1Byb2NlZHVyZSBcIixcIiBleHByZXNzaW9uIFwiKVwiIDtcbiAgICBcbiAgICBldmVyeSAgICAgICAgICAgICAgICAgICA6Oj0gIFwiZXZlcnlcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIGFub255bW91c1Byb2NlZHVyZSBcIilcIiA7XG4gICAgXG4gICAgc29tZSAgICAgICAgICAgICAgICAgICAgOjo9ICBcInNvbWVcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIGFub255bW91c1Byb2NlZHVyZSBcIilcIiA7XG4gICAgXG4gICAgXG4gICAgXG4gICAgcmV0dXJuU3RhdGVtZW50ICAgICAgICAgOjo9ICBcInJldHVyblwiIHZhbHVlIFwiO1wiIDsgXG4gICAgXG4gICAgXG4gICAgXG4gICAgY29tcGFyaXNvblRlcm0gICAgICAgICAgOjo9ICB0ZXJtICggXCI9PVwiIHwgXCIhPVwiICkgdGVybSA7IFxuICAgIFxuICAgIGJyYWNrZXRlZFRlcm0gICAgICAgICAgIDo6PSAgXCIoXCIgdGVybSBcIilcIiA7IFxuICAgIFxuICAgIG5lZ2F0ZWRUZXJtICAgICAgICAgICAgIDo6PSAgXCIhXCI8Tk9fV0hJVEVTUEFDRT50ZXJtIDsgXG4gICAgXG4gICAgbG9naWNhbFRlcm0gICAgICAgICAgICAgOjo9ICB0ZXJtICggXCJ8fFwiIHwgXCImJlwiICkgdGVybSA7IFxuXG5cbiAgICBcbiAgICBleHByZXNzaW9uICAgICAgICAgICAgICA6Oj0gIHByb2NlZHVyZUNhbGxcbiAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICByZXR1cm5CbG9ja1xuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbm9kZXNRdWVyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBub2RlUXVlcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgdGVybmFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICByZWR1Y2VcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGV2ZXJ5XG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBzb21lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgdGVybVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7XG4gICAgXG4gICAgXG4gICAgXG4gICAgdGVybSAgICAgICAgICAgICAgICAgICAgOjo9ICBjb21wYXJpc29uVGVybSBcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGJyYWNrZXRlZFRlcm0gXG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBsb2dpY2FsVGVybSBcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG5lZ2F0ZWRUZXJtIFxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgcHJpbWl0aXZlIFxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgdmFyaWFibGUgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG4gICAgXG4gICAgdmFsdWUgICAgICAgICAgICAgICAgICAgOjo9ICBwcmltaXRpdmUgXG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICB2YXJpYWJsZSBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG5cbiAgICBcbiAgICBwcmltaXRpdmUgICAgICAgICAgICAgICA6Oj0gIFtzdHJpbmctbGl0ZXJhbF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgW2Jvb2xlYW5dXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFtudW1iZXJdIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBbbnVsbF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7XG5cblxuXG4gICAgcmVmZXJlbmNlLiAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuICAgIFxuICAgIHZhcmlhYmxlICAgICAgICAgICAgICAgIDo6PSAgW25hbWVdIDtcbiAgICBcbiAgICBsYWJlbC4gICAgICAgICAgICAgICAgICA6Oj0gIFtuYW1lXSA7XG4gICAgXG4gICAgXG4gICAgXG4gICAgbm9uc2Vuc2UuICAgICAgICAgICAgICAgOjo9ICBbc2Vjb25kYXJ5LWtleXdvcmRdIHwgW3R5cGVdIHwgW251bGxdIHwgW2Jvb2xlYW5dIHwgW3N0cmluZy1saXRlcmFsXSB8IFtxdWVyeV0gfCBbc3BlY2lhbF0gfCBbbmFtZV0gfCBbbnVtYmVyXSB8IFt1bmFzc2lnbmVkXSA7XG5cblxuICAgIFxuICAgIGVycm9yLiAgICAgICAgICAgICAgICAgIDo6PSAgLiA7XG4gICAgXG5gO1xuXG5leHBvcnQgZGVmYXVsdCBibmY7XG4iXSwibmFtZXMiOlsiYm5mIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFrS0E7OztlQUFBOzs7QUFoS0EsTUFBTUEsTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQThKYixDQUFDO01BRUQsV0FBZUEifQ==
|
package/package.json
CHANGED
package/src/furtle/bnf.js
CHANGED
|
@@ -10,10 +10,6 @@ const bnf = `
|
|
|
10
10
|
|
|
11
11
|
anonymousProcedure ::= [type] "(" parameters? ")" returnBlock ;
|
|
12
12
|
|
|
13
|
-
returnStatement ::= "return" term ";" ;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
13
|
step ::= arrayAssignment
|
|
18
14
|
|
|
19
15
|
| objectAssignment
|
|
@@ -24,9 +20,9 @@ const bnf = `
|
|
|
24
20
|
|
|
25
21
|
|
|
26
22
|
|
|
27
|
-
arrayAssignment ::= "["
|
|
23
|
+
arrayAssignment ::= "[" bindings "]" "=" variable ";" ;
|
|
28
24
|
|
|
29
|
-
objectAssignment ::= "{"
|
|
25
|
+
objectAssignment ::= "{" namedBindings "}" "=" variable ";" ;
|
|
30
26
|
|
|
31
27
|
variableAssignments ::= [type] variableAssignment ( "," variableAssignment )* ";" ;
|
|
32
28
|
|
|
@@ -34,25 +30,31 @@ const bnf = `
|
|
|
34
30
|
|
|
35
31
|
|
|
36
32
|
|
|
37
|
-
|
|
33
|
+
namedBindings ::= namedBinding ( "," namedBinding )* ;
|
|
38
34
|
|
|
39
35
|
parameters ::= parameter ( "," parameter )* ;
|
|
40
36
|
|
|
37
|
+
bindings ::= binding ( "," binding )* ;
|
|
38
|
+
|
|
39
|
+
values ::= value ( "," value )* ;
|
|
40
|
+
|
|
41
41
|
terms ::= term ( "," term )* ;
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
namedBinding ::= [type] [name] ( "as" [name] )? ;
|
|
46
46
|
|
|
47
|
-
parameter
|
|
48
|
-
|
|
49
|
-
|
|
47
|
+
parameter ::= [type] [name] ;
|
|
48
|
+
|
|
49
|
+
binding ::= [type] [name]
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
| ε
|
|
52
|
+
|
|
53
|
+
;
|
|
52
54
|
|
|
53
55
|
|
|
54
56
|
|
|
55
|
-
procedureCall ::= reference<NO_WHITESPACE>"("
|
|
57
|
+
procedureCall ::= reference<NO_WHITESPACE>"(" values? ")" ;
|
|
56
58
|
|
|
57
59
|
returnBlock.. ::= "{" ( step | nonsense )* returnStatement "}" ;
|
|
58
60
|
|
|
@@ -70,6 +72,10 @@ const bnf = `
|
|
|
70
72
|
|
|
71
73
|
|
|
72
74
|
|
|
75
|
+
returnStatement ::= "return" value ";" ;
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
|
|
73
79
|
comparisonTerm ::= term ( "==" | "!=" ) term ;
|
|
74
80
|
|
|
75
81
|
bracketedTerm ::= "(" term ")" ;
|
|
@@ -118,6 +124,14 @@ const bnf = `
|
|
|
118
124
|
|
|
119
125
|
|
|
120
126
|
|
|
127
|
+
value ::= primitive
|
|
128
|
+
|
|
129
|
+
| variable
|
|
130
|
+
|
|
131
|
+
;
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
|
|
121
135
|
primitive ::= [string-literal]
|
|
122
136
|
|
|
123
137
|
| [boolean]
|