occam-grammars 1.3.688 → 1.3.690
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 +45 -31
- package/lib/furtle/entries.js +2 -2
- package/package.json +1 -1
- package/src/furtle/bnf.js +44 -30
- package/src/furtle/entries.js +1 -1
package/lib/furtle/bnf.js
CHANGED
|
@@ -40,34 +40,6 @@ const bnf = `
|
|
|
40
40
|
|
|
41
41
|
|
|
42
42
|
|
|
43
|
-
importBindings ::= importBinding ( "," importBinding )* ;
|
|
44
|
-
|
|
45
|
-
namedBindings ::= namedBinding ( "," namedBinding )* ;
|
|
46
|
-
|
|
47
|
-
parameters ::= parameter ( "," parameter )* ;
|
|
48
|
-
|
|
49
|
-
bindings ::= binding ( "," binding )* ;
|
|
50
|
-
|
|
51
|
-
values ::= value ( "," value )* ;
|
|
52
|
-
|
|
53
|
-
terms ::= term ( "," term )* ;
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
importBinding ::= reference ( "as" label )? ;
|
|
58
|
-
|
|
59
|
-
namedBinding ::= type [name] ( "as" [name] )? ;
|
|
60
|
-
|
|
61
|
-
parameter ::= type [name] ;
|
|
62
|
-
|
|
63
|
-
binding ::= type [name]
|
|
64
|
-
|
|
65
|
-
| ε
|
|
66
|
-
|
|
67
|
-
;
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
43
|
procedureCall ::= reference<NO_WHITESPACE>"(" values? ")" ;
|
|
72
44
|
|
|
73
45
|
returnBlock.. ::= "{" ( statement | nonsense )* returnStatement "}" ;
|
|
@@ -79,6 +51,10 @@ const bnf = `
|
|
|
79
51
|
every ::= "every"<NO_WHITESPACE>"(" variable "," anonymousProcedure ")" ;
|
|
80
52
|
|
|
81
53
|
some ::= "some"<NO_WHITESPACE>"(" variable "," anonymousProcedure ")" ;
|
|
54
|
+
|
|
55
|
+
all ::= "all"<NO_WHITESPACE>"(" variable "," referencesListLiteral ( "," values )? ")" ;
|
|
56
|
+
|
|
57
|
+
exists ::= "exists"<NO_WHITESPACE>"(" variable "," referencesListLiteral ( "," values )? ")" ;
|
|
82
58
|
|
|
83
59
|
|
|
84
60
|
|
|
@@ -104,6 +80,40 @@ const bnf = `
|
|
|
104
80
|
|
|
105
81
|
|
|
106
82
|
|
|
83
|
+
referencesListLiteral ::= "[" references? "]" ;
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
importBindings ::= importBinding ( "," importBinding )* ;
|
|
88
|
+
|
|
89
|
+
namedBindings ::= namedBinding ( "," namedBinding )* ;
|
|
90
|
+
|
|
91
|
+
parameters ::= parameter ( "," parameter )* ;
|
|
92
|
+
|
|
93
|
+
references ::= reference ( "," reference )* ;
|
|
94
|
+
|
|
95
|
+
bindings ::= binding ( "," binding )* ;
|
|
96
|
+
|
|
97
|
+
values ::= value ( "," value )* ;
|
|
98
|
+
|
|
99
|
+
terms ::= term ( "," term )* ;
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
importBinding ::= reference ( "as" label )? ;
|
|
104
|
+
|
|
105
|
+
namedBinding ::= type [name] ( "as" [name] )? ;
|
|
106
|
+
|
|
107
|
+
parameter ::= type [name] ;
|
|
108
|
+
|
|
109
|
+
binding ::= type [name]
|
|
110
|
+
|
|
111
|
+
| ε
|
|
112
|
+
|
|
113
|
+
;
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
|
|
107
117
|
comparisonTerm ::= term ( "==" | "!=" ) term ;
|
|
108
118
|
|
|
109
119
|
bracketedTerm ::= "(" term ")" ;
|
|
@@ -126,6 +136,10 @@ const bnf = `
|
|
|
126
136
|
|
|
127
137
|
| some
|
|
128
138
|
|
|
139
|
+
| all
|
|
140
|
+
|
|
141
|
+
| exists
|
|
142
|
+
|
|
129
143
|
| nodesQuery
|
|
130
144
|
|
|
131
145
|
| nodeQuery
|
|
@@ -164,7 +178,7 @@ const bnf = `
|
|
|
164
178
|
|
|
165
179
|
|
|
166
180
|
|
|
167
|
-
|
|
181
|
+
type ::= "List"<NO_WHITESPACE>"<" ( "Node" | "String" | "Boolean" | "Integer" ) ">"
|
|
168
182
|
|
|
169
183
|
| "Node"
|
|
170
184
|
|
|
@@ -200,7 +214,7 @@ const bnf = `
|
|
|
200
214
|
|
|
201
215
|
reference. ::= [name] ;
|
|
202
216
|
|
|
203
|
-
variable
|
|
217
|
+
variable. ::= [name] ;
|
|
204
218
|
|
|
205
219
|
label. ::= [name] ;
|
|
206
220
|
|
|
@@ -215,4 +229,4 @@ const bnf = `
|
|
|
215
229
|
`;
|
|
216
230
|
const _default = bnf;
|
|
217
231
|
|
|
218
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mdXJ0bGUvYm5mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5jb25zdCBibmYgPSBgXG5cbiAgICBkb2N1bWVudCAgICAgICAgICAgICAgICA6Oj0gICggaW1wb3J0U3RhdGVtZW50IHwgcHJvY2VkdXJlIHwgZXJyb3IgKSsgO1xuICAgIFxuICAgIFxuICAgIFxuICAgIHByb2NlZHVyZSAgICAgICAgICAgICAgIDo6PSAgXCJleHBvcnRcIj8gdHlwZSBsYWJlbDxOT19XSElURVNQQUNFPlwiKFwiIHBhcmFtZXRlcnM/IFwiKVwiIHJldHVybkJsb2NrIDtcbiAgICBcbiAgICBpbXBvcnRTdGF0ZW1lbnQgICAgICAgICA6Oj0gIFwiaW1wb3J0XCIgaW1wb3J0QmluZGluZ3MgXCJmcm9tXCIgW3N0cmluZy1saXRlcmFsXSBcIjtcIiA7XG4gICAgXG4gICAgYW5vbnltb3VzUHJvY2VkdXJlICAgICAgOjo9ICB0eXBlIFwiKFwiIHBhcmFtZXRlcnM/
|
|
232
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mdXJ0bGUvYm5mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5jb25zdCBibmYgPSBgXG5cbiAgICBkb2N1bWVudCAgICAgICAgICAgICAgICA6Oj0gICggaW1wb3J0U3RhdGVtZW50IHwgcHJvY2VkdXJlIHwgZXJyb3IgKSsgO1xuICAgIFxuICAgIFxuICAgIFxuICAgIHByb2NlZHVyZSAgICAgICAgICAgICAgIDo6PSAgXCJleHBvcnRcIj8gdHlwZSBsYWJlbDxOT19XSElURVNQQUNFPlwiKFwiIHBhcmFtZXRlcnM/IFwiKVwiIHJldHVybkJsb2NrIDtcbiAgICBcbiAgICBpbXBvcnRTdGF0ZW1lbnQgICAgICAgICA6Oj0gIFwiaW1wb3J0XCIgaW1wb3J0QmluZGluZ3MgXCJmcm9tXCIgW3N0cmluZy1saXRlcmFsXSBcIjtcIiA7XG4gICAgXG4gICAgYW5vbnltb3VzUHJvY2VkdXJlICAgICAgOjo9ICB0eXBlIFwiKFwiIHBhcmFtZXRlcnM/IFwiKVwiIHJldHVybkJsb2NrIDtcbiAgICBcbiAgICBzdGF0ZW1lbnQgICAgICAgICAgICAgICA6Oj0gIHZhcmlhYmxlQXNzaWdubWVudHNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgb2JqZWN0QXNzaWdubWVudFxuICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGxpc3RBc3NpZ25tZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgIFxuICAgICAgXG4gICAgICBcbiAgICBcbiAgICB2YXJpYWJsZUFzc2lnbm1lbnRzICAgICA6Oj0gIHR5cGUgdmFyaWFibGVBc3NpZ25tZW50ICggXCIsXCIgdmFyaWFibGVBc3NpZ25tZW50ICkqIFwiO1wiIDtcbiAgICBcbiAgICB2YXJpYWJsZUFzc2lnbm1lbnQgICAgICA6Oj0gIHZhcmlhYmxlIFwiPVwiIGV4cHJlc3Npb24gO1xuICAgIFxuICAgIG9iamVjdEFzc2lnbm1lbnQgICAgICAgIDo6PSAgXCJ7XCIgbmFtZWRCaW5kaW5ncyBcIn1cIiBcIj1cIiB2YXJpYWJsZSBcIjtcIiA7XG4gICAgXG4gICAgbGlzdEFzc2lnbm1lbnQgICAgICAgICA6Oj0gIFwiW1wiIGJpbmRpbmdzIFwiXVwiIFwiPVwiIHZhcmlhYmxlIFwiO1wiIDtcbiAgICBcblxuXG4gICAgcHJvY2VkdXJlQ2FsbCAgICAgICAgICAgOjo9ICByZWZlcmVuY2U8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YWx1ZXM/IFwiKVwiIDtcbiAgICBcbiAgICByZXR1cm5CbG9jay4uICAgICAgICAgICA6Oj0gIFwie1wiICggc3RhdGVtZW50IHwgbm9uc2Vuc2UgKSogcmV0dXJuU3RhdGVtZW50IFwifVwiIDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICB0ZXJuYXJ5ICAgICAgICAgICAgICAgICA6Oj0gIFwiaWZcIiBcIihcIiB0ZXJtIFwiKVwiIGV4cHJlc3Npb24gXCJlbHNlXCIgZXhwcmVzc2lvbiA7XG4gICAgXG4gICAgcmVkdWNlICAgICAgICAgICAgICAgICAgOjo9ICBcInJlZHVjZVwiPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFyaWFibGUgXCIsXCIgYW5vbnltb3VzUHJvY2VkdXJlIFwiLFwiIHZhbHVlIFwiKVwiIDtcbiAgICBcbiAgICBldmVyeSAgICAgICAgICAgICAgICAgICA6Oj0gIFwiZXZlcnlcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIGFub255bW91c1Byb2NlZHVyZSBcIilcIiA7XG4gICAgXG4gICAgc29tZSAgICAgICAgICAgICAgICAgICAgOjo9ICBcInNvbWVcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIGFub255bW91c1Byb2NlZHVyZSBcIilcIiA7XG5cbiAgICBhbGwgICAgICAgICAgICAgICAgICAgICA6Oj0gIFwiYWxsXCI8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YXJpYWJsZSBcIixcIiByZWZlcmVuY2VzTGlzdExpdGVyYWwgKCBcIixcIiB2YWx1ZXMgKT8gXCIpXCIgO1xuICAgIFxuICAgIGV4aXN0cyAgICAgICAgICAgICAgICAgIDo6PSAgXCJleGlzdHNcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIHJlZmVyZW5jZXNMaXN0TGl0ZXJhbCAoIFwiLFwiIHZhbHVlcyApPyBcIilcIiA7ICAgIFxuICAgIFxuICAgIFxuICAgIFxuICAgIG5vZGVzUXVlcnkgICAgICAgICAgICAgIDo6PSAgXCJub2Rlc1F1ZXJ5XCI8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YXJpYWJsZSBcIixcIiBbc3RyaW5nLWxpdGVyYWxdIFwiKVwiIDtcbiAgICBcbiAgICBub2RlUXVlcnkgICAgICAgICAgICAgICA6Oj0gIFwibm9kZVF1ZXJ5XCI8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YXJpYWJsZSBcIixcIiBbc3RyaW5nLWxpdGVyYWxdIFwiKVwiIDtcbiAgICBcbiAgICBsZW5ndGhPZiAgICAgICAgICAgICAgICA6Oj0gIFwibGVuZ3RoT2ZcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiKVwiIDtcbiAgICBcbiAgICB0b0ludGVnZXIgICAgICAgICAgICAgICA6Oj0gIFwidG9JbnRlZ2VyXCI8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YXJpYWJsZSBcIilcIiA7XG4gICAgXG4gICAgdHJ5SW50ZWdlciAgICAgICAgICAgICAgOjo9ICBcInRyeUludGVnZXJcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiKVwiIDtcbiAgICBcbiAgICBzdGFydHNXaXRoICAgICAgICAgICAgICA6Oj0gIFwic3RhcnRzV2l0aFwiPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFyaWFibGUgXCIsXCIgW3N0cmluZy1saXRlcmFsXSBcIilcIiA7XG4gICAgXG4gICAgZW5kc1dpdGggICAgICAgICAgICAgICAgOjo9ICBcImVuZHNXaXRoXCI8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YXJpYWJsZSBcIixcIiBbc3RyaW5nLWxpdGVyYWxdIFwiKVwiIDtcbiAgICBcbiAgICBjb250YWlucyAgICAgICAgICAgICAgICA6Oj0gIFwiY29udGFpbnNcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIFtzdHJpbmctbGl0ZXJhbF0gXCIpXCIgO1xuICAgIFxuICAgIFxuICAgIFxuICAgIHJldHVyblN0YXRlbWVudCAgICAgICAgIDo6PSAgXCJyZXR1cm5cIiB2YWx1ZSBcIjtcIiA7IFxuICAgIFxuICAgIFxuICAgIFxuICAgIHJlZmVyZW5jZXNMaXN0TGl0ZXJhbCAgIDo6PSAgXCJbXCIgcmVmZXJlbmNlcz8gXCJdXCIgO1xuICAgICBcbiAgICAgXG4gICAgIFxuICAgIGltcG9ydEJpbmRpbmdzICAgICAgICAgIDo6PSAgaW1wb3J0QmluZGluZyAoIFwiLFwiIGltcG9ydEJpbmRpbmcgKSogO1xuICAgIFxuICAgIG5hbWVkQmluZGluZ3MgICAgICAgICAgIDo6PSAgbmFtZWRCaW5kaW5nICggXCIsXCIgbmFtZWRCaW5kaW5nICkqIDtcbiAgICBcbiAgICBwYXJhbWV0ZXJzICAgICAgICAgICAgICA6Oj0gIHBhcmFtZXRlciAoIFwiLFwiIHBhcmFtZXRlciApKiA7XG4gICAgXG4gICAgcmVmZXJlbmNlcyAgICAgICAgICAgICAgOjo9ICByZWZlcmVuY2UgKCBcIixcIiByZWZlcmVuY2UgKSogO1xuICAgIFxuICAgIGJpbmRpbmdzICAgICAgICAgICAgICAgIDo6PSAgYmluZGluZyAoIFwiLFwiIGJpbmRpbmcgKSogO1xuICAgIFxuICAgIHZhbHVlcyAgICAgICAgICAgICAgICAgIDo6PSAgdmFsdWUgKCBcIixcIiB2YWx1ZSApKiA7XG4gICAgXG4gICAgdGVybXMgICAgICAgICAgICAgICAgICAgOjo9ICB0ZXJtICggXCIsXCIgdGVybSApKiA7XG4gICAgXG5cblxuICAgIGltcG9ydEJpbmRpbmcgICAgICAgICAgIDo6PSAgcmVmZXJlbmNlICggXCJhc1wiIGxhYmVsICk/IDsgICBcbiAgICBcbiAgICBuYW1lZEJpbmRpbmcgICAgICAgICAgICA6Oj0gIHR5cGUgW25hbWVdICggXCJhc1wiIFtuYW1lXSApPyA7ICAgXG4gICAgXG4gICAgcGFyYW1ldGVyICAgICAgICAgICAgICAgOjo9ICB0eXBlIFtuYW1lXSA7XG5cbiAgICBiaW5kaW5nICAgICAgICAgICAgICAgICA6Oj0gIHR5cGUgW25hbWVdXG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICDOtSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG4gICAgXG4gICAgY29tcGFyaXNvblRlcm0gICAgICAgICAgOjo9ICB0ZXJtICggXCI9PVwiIHwgXCIhPVwiICkgdGVybSA7IFxuICAgIFxuICAgIGJyYWNrZXRlZFRlcm0gICAgICAgICAgIDo6PSAgXCIoXCIgdGVybSBcIilcIiA7IFxuICAgIFxuICAgIG5lZ2F0ZWRUZXJtICAgICAgICAgICAgIDo6PSAgXCIhXCI8Tk9fV0hJVEVTUEFDRT50ZXJtIDsgXG4gICAgXG4gICAgbG9naWNhbFRlcm0gICAgICAgICAgICAgOjo9ICB0ZXJtICggXCJ8fFwiIHwgXCImJlwiICkgdGVybSA7IFxuXG5cbiAgICBcbiAgICBleHByZXNzaW9uICAgICAgICAgICAgICA6Oj0gIHByb2NlZHVyZUNhbGxcbiAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICByZXR1cm5CbG9ja1xuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgdGVybmFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICByZWR1Y2VcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGV2ZXJ5XG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBzb21lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGFsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBleGlzdHNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbm9kZXNRdWVyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBub2RlUXVlcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbGVuZ3RoT2ZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICB0b0ludGVnZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICB0cnlJbnRlZ2VyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgc3RhcnRzV2l0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBlbmRzV2l0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBjb250YWluc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICB0ZXJtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcbiAgICBcbiAgICBcbiAgICBcbiAgICB0ZXJtICAgICAgICAgICAgICAgICAgICA6Oj0gIGNvbXBhcmlzb25UZXJtIFxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgYnJhY2tldGVkVGVybSBcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGxvZ2ljYWxUZXJtIFxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbmVnYXRlZFRlcm0gXG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBwcmltaXRpdmUgXG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICB2YXJpYWJsZSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG5cbiAgICBcbiAgICB0eXBlICAgICAgICAgICAgICAgICAgICA6Oj0gIFwiTGlzdFwiPE5PX1dISVRFU1BBQ0U+XCI8XCIgKCBcIk5vZGVcIiB8IFwiU3RyaW5nXCIgfCBcIkJvb2xlYW5cIiB8IFwiSW50ZWdlclwiICkgXCI+XCJcbiAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBcIk5vZGVcIiAgXG4gICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgXCJTdHJpbmdcIiBcbiAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBcIkJvb2xlYW5cIiAgIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBcIkludGVnZXJcIiAgIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7XG5cblxuICAgIFxuICAgIHZhbHVlICAgICAgICAgICAgICAgICAgIDo6PSAgcHJpbWl0aXZlIFxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgdmFyaWFibGUgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG4gICAgXG4gICAgcHJpbWl0aXZlICAgICAgICAgICAgICAgOjo9ICBbc3RyaW5nLWxpdGVyYWxdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFtib29sZWFuXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBbaW50ZWdlcl1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgW251bGxdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG5cblxuICAgIHJlZmVyZW5jZS4gICAgICAgICAgICAgIDo6PSAgW25hbWVdIDtcbiAgICBcbiAgICB2YXJpYWJsZS4gICAgICAgICAgICAgICA6Oj0gIFtuYW1lXSA7XG4gICAgXG4gICAgbGFiZWwuICAgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuICAgIFxuICAgIFxuICAgIFxuICAgIG5vbnNlbnNlLiAgICAgICAgICAgICAgIDo6PSAgW3N0cmluZy1saXRlcmFsXSB8IFtzZWNvbmRhcnkta2V5d29yZF0gfCBbZnVuY3Rpb24tbmFtZV0gfCBbdHlwZV0gfCBbYm9vbGVhbl0gfCBbaW50ZWdlcl0gfCBbbnVsbF0gfCBbbmFtZV0gfCBbc3BlY2lhbF0gfCBbdW5hc3NpZ25lZF0gO1xuXG5cbiAgICBcbiAgICBlcnJvci4gICAgICAgICAgICAgICAgICA6Oj0gIC4gO1xuICAgIFxuYDtcblxuZXhwb3J0IGRlZmF1bHQgYm5mO1xuIl0sIm5hbWVzIjpbImJuZiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBOE5BOzs7ZUFBQTs7O0FBNU5BLE1BQU1BLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUEwTmIsQ0FBQztNQUVELFdBQWVBIn0=
|
package/lib/furtle/entries.js
CHANGED
|
@@ -20,7 +20,7 @@ const entries = [
|
|
|
20
20
|
"secondary-keyword": "^(?:as|if|else)"
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
|
-
"function-name": "^(?:nodeQuery|nodesQuery|reduce|every|some|lengthOf|toInteger|tryInteger|startsWith|endsWith|contains)"
|
|
23
|
+
"function-name": "^(?:nodeQuery|nodesQuery|reduce|every|some|lengthOf|toInteger|tryInteger|startsWith|endsWith|contains|all|exists)"
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
26
|
"type": "^(?:List|Node|String|Boolean|Integer)"
|
|
@@ -46,4 +46,4 @@ const entries = [
|
|
|
46
46
|
];
|
|
47
47
|
const _default = entries;
|
|
48
48
|
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mdXJ0bGUvZW50cmllcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmNvbnN0IExBVElOID0gXCJbXFxcXHB7U2NyaXB0PUxhdGlufV1cIixcclxuICAgICAgREVDSU1BTCA9IFwiWzAtOV1cIjtcclxuXHJcbmNvbnN0IGVudHJpZXMgPSBbXHJcbiAge1xyXG4gICAgXCJicmFja2V0XCI6IFwiXig/OlxcXFx7fFxcXFx9KVwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcInByaW1hcnkta2V5d29yZFwiOiBcIl4oPzpleHBvcnR8aW1wb3J0fGZyb218cmV0dXJuKVwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcInNlY29uZGFyeS1rZXl3b3JkXCI6IFwiXig/
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mdXJ0bGUvZW50cmllcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmNvbnN0IExBVElOID0gXCJbXFxcXHB7U2NyaXB0PUxhdGlufV1cIixcclxuICAgICAgREVDSU1BTCA9IFwiWzAtOV1cIjtcclxuXHJcbmNvbnN0IGVudHJpZXMgPSBbXHJcbiAge1xyXG4gICAgXCJicmFja2V0XCI6IFwiXig/OlxcXFx7fFxcXFx9KVwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcInByaW1hcnkta2V5d29yZFwiOiBcIl4oPzpleHBvcnR8aW1wb3J0fGZyb218cmV0dXJuKVwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcInNlY29uZGFyeS1rZXl3b3JkXCI6IFwiXig/OmFzfGlmfGVsc2UpXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwiZnVuY3Rpb24tbmFtZVwiOiBcIl4oPzpub2RlUXVlcnl8bm9kZXNRdWVyeXxyZWR1Y2V8ZXZlcnl8c29tZXxsZW5ndGhPZnx0b0ludGVnZXJ8dHJ5SW50ZWdlcnxzdGFydHNXaXRofGVuZHNXaXRofGNvbnRhaW5zfGFsbHxleGlzdHMpXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwidHlwZVwiOiBcIl4oPzpMaXN0fE5vZGV8U3RyaW5nfEJvb2xlYW58SW50ZWdlcilcIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJib29sZWFuXCI6IFwiXig/OnRydWV8ZmFsc2UpXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwiaW50ZWdlclwiOiBcIl5bK1xcXFwtXT9cXFxcZCtcIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJudWxsXCI6IFwiXm51bGxcIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJuYW1lXCI6IGBeJHtMQVRJTn0rJHtERUNJTUFMfSpgLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJzcGVjaWFsXCI6IFwiXig/Ojx8PnwhPXw9PXwhfD18LHw7fCYmfFxcXFx8XFxcXHx8XFxcXCh8XFxcXCl8XFxcXFt8XFxcXF0pXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwidW5hc3NpZ25lZFwiOiBcIl5bXlxcXFxzXStcIlxyXG4gIH1cclxuXTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGVudHJpZXM7XHJcbiJdLCJuYW1lcyI6WyJMQVRJTiIsIkRFQ0lNQUwiLCJlbnRyaWVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkF5Q0E7OztlQUFBOzs7QUF2Q0EsTUFBTUEsUUFBUSx1QkFDUkMsVUFBVTtBQUVoQixNQUFNQyxVQUFVO0lBQ2Q7UUFDRSxXQUFXO0lBQ2I7SUFDQTtRQUNFLG1CQUFtQjtJQUNyQjtJQUNBO1FBQ0UscUJBQXFCO0lBQ3ZCO0lBQ0E7UUFDRSxpQkFBaUI7SUFDbkI7SUFDQTtRQUNFLFFBQVE7SUFDVjtJQUNBO1FBQ0UsV0FBVztJQUNiO0lBQ0E7UUFDRSxXQUFXO0lBQ2I7SUFDQTtRQUNFLFFBQVE7SUFDVjtJQUNBO1FBQ0UsUUFBUSxDQUFDLENBQUMsRUFBRUYsTUFBTSxDQUFDLEVBQUVDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pDO0lBQ0E7UUFDRSxXQUFXO0lBQ2I7SUFDQTtRQUNFLGNBQWM7SUFDaEI7Q0FDRDtNQUVELFdBQWVDIn0=
|
package/package.json
CHANGED
package/src/furtle/bnf.js
CHANGED
|
@@ -32,34 +32,6 @@ const bnf = `
|
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
|
|
35
|
-
importBindings ::= importBinding ( "," importBinding )* ;
|
|
36
|
-
|
|
37
|
-
namedBindings ::= namedBinding ( "," namedBinding )* ;
|
|
38
|
-
|
|
39
|
-
parameters ::= parameter ( "," parameter )* ;
|
|
40
|
-
|
|
41
|
-
bindings ::= binding ( "," binding )* ;
|
|
42
|
-
|
|
43
|
-
values ::= value ( "," value )* ;
|
|
44
|
-
|
|
45
|
-
terms ::= term ( "," term )* ;
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
importBinding ::= reference ( "as" label )? ;
|
|
50
|
-
|
|
51
|
-
namedBinding ::= type [name] ( "as" [name] )? ;
|
|
52
|
-
|
|
53
|
-
parameter ::= type [name] ;
|
|
54
|
-
|
|
55
|
-
binding ::= type [name]
|
|
56
|
-
|
|
57
|
-
| ε
|
|
58
|
-
|
|
59
|
-
;
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
35
|
procedureCall ::= reference<NO_WHITESPACE>"(" values? ")" ;
|
|
64
36
|
|
|
65
37
|
returnBlock.. ::= "{" ( statement | nonsense )* returnStatement "}" ;
|
|
@@ -71,6 +43,10 @@ const bnf = `
|
|
|
71
43
|
every ::= "every"<NO_WHITESPACE>"(" variable "," anonymousProcedure ")" ;
|
|
72
44
|
|
|
73
45
|
some ::= "some"<NO_WHITESPACE>"(" variable "," anonymousProcedure ")" ;
|
|
46
|
+
|
|
47
|
+
all ::= "all"<NO_WHITESPACE>"(" variable "," referencesListLiteral ( "," values )? ")" ;
|
|
48
|
+
|
|
49
|
+
exists ::= "exists"<NO_WHITESPACE>"(" variable "," referencesListLiteral ( "," values )? ")" ;
|
|
74
50
|
|
|
75
51
|
|
|
76
52
|
|
|
@@ -96,6 +72,40 @@ const bnf = `
|
|
|
96
72
|
|
|
97
73
|
|
|
98
74
|
|
|
75
|
+
referencesListLiteral ::= "[" references? "]" ;
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
importBindings ::= importBinding ( "," importBinding )* ;
|
|
80
|
+
|
|
81
|
+
namedBindings ::= namedBinding ( "," namedBinding )* ;
|
|
82
|
+
|
|
83
|
+
parameters ::= parameter ( "," parameter )* ;
|
|
84
|
+
|
|
85
|
+
references ::= reference ( "," reference )* ;
|
|
86
|
+
|
|
87
|
+
bindings ::= binding ( "," binding )* ;
|
|
88
|
+
|
|
89
|
+
values ::= value ( "," value )* ;
|
|
90
|
+
|
|
91
|
+
terms ::= term ( "," term )* ;
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
importBinding ::= reference ( "as" label )? ;
|
|
96
|
+
|
|
97
|
+
namedBinding ::= type [name] ( "as" [name] )? ;
|
|
98
|
+
|
|
99
|
+
parameter ::= type [name] ;
|
|
100
|
+
|
|
101
|
+
binding ::= type [name]
|
|
102
|
+
|
|
103
|
+
| ε
|
|
104
|
+
|
|
105
|
+
;
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
|
|
99
109
|
comparisonTerm ::= term ( "==" | "!=" ) term ;
|
|
100
110
|
|
|
101
111
|
bracketedTerm ::= "(" term ")" ;
|
|
@@ -118,6 +128,10 @@ const bnf = `
|
|
|
118
128
|
|
|
119
129
|
| some
|
|
120
130
|
|
|
131
|
+
| all
|
|
132
|
+
|
|
133
|
+
| exists
|
|
134
|
+
|
|
121
135
|
| nodesQuery
|
|
122
136
|
|
|
123
137
|
| nodeQuery
|
|
@@ -156,7 +170,7 @@ const bnf = `
|
|
|
156
170
|
|
|
157
171
|
|
|
158
172
|
|
|
159
|
-
|
|
173
|
+
type ::= "List"<NO_WHITESPACE>"<" ( "Node" | "String" | "Boolean" | "Integer" ) ">"
|
|
160
174
|
|
|
161
175
|
| "Node"
|
|
162
176
|
|
|
@@ -192,7 +206,7 @@ const bnf = `
|
|
|
192
206
|
|
|
193
207
|
reference. ::= [name] ;
|
|
194
208
|
|
|
195
|
-
variable
|
|
209
|
+
variable. ::= [name] ;
|
|
196
210
|
|
|
197
211
|
label. ::= [name] ;
|
|
198
212
|
|
package/src/furtle/entries.js
CHANGED
|
@@ -14,7 +14,7 @@ const entries = [
|
|
|
14
14
|
"secondary-keyword": "^(?:as|if|else)"
|
|
15
15
|
},
|
|
16
16
|
{
|
|
17
|
-
"function-name": "^(?:nodeQuery|nodesQuery|reduce|every|some|lengthOf|toInteger|tryInteger|startsWith|endsWith|contains)"
|
|
17
|
+
"function-name": "^(?:nodeQuery|nodesQuery|reduce|every|some|lengthOf|toInteger|tryInteger|startsWith|endsWith|contains|all|exists)"
|
|
18
18
|
},
|
|
19
19
|
{
|
|
20
20
|
"type": "^(?:List|Node|String|Boolean|Integer)"
|