occam-grammars 1.3.628 → 1.3.629
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 +21 -9
- package/lib/furtle/entries.js +2 -2
- package/package.json +1 -1
- package/src/furtle/bnf.js +20 -8
- package/src/furtle/entries.js +1 -1
package/lib/furtle/bnf.js
CHANGED
|
@@ -72,10 +72,6 @@ const bnf = `
|
|
|
72
72
|
|
|
73
73
|
returnBlock.. ::= "{" ( statement | nonsense )* returnStatement "}" ;
|
|
74
74
|
|
|
75
|
-
nodesQuery ::= "nodesQuery"<NO_WHITESPACE>"(" variable "," [string-literal] ")" ;
|
|
76
|
-
|
|
77
|
-
nodeQuery ::= "nodeQuery"<NO_WHITESPACE>"(" variable "," [string-literal] ")" ;
|
|
78
|
-
|
|
79
75
|
ternary ::= "if" "(" term ")" expression "else" expression ;
|
|
80
76
|
|
|
81
77
|
reduce ::= "reduce"<NO_WHITESPACE>"(" variable "," anonymousProcedure "," value ")" ;
|
|
@@ -86,12 +82,22 @@ const bnf = `
|
|
|
86
82
|
|
|
87
83
|
|
|
88
84
|
|
|
85
|
+
nodesQuery ::= "nodesQuery"<NO_WHITESPACE>"(" variable "," [string-literal] ")" ;
|
|
86
|
+
|
|
87
|
+
nodeQuery ::= "nodeQuery"<NO_WHITESPACE>"(" variable "," [string-literal] ")" ;
|
|
88
|
+
|
|
89
89
|
lengthOf ::= "lengthOf"<NO_WHITESPACE>"(" variable ")" ;
|
|
90
90
|
|
|
91
91
|
toInteger ::= "toInteger"<NO_WHITESPACE>"(" variable ")" ;
|
|
92
92
|
|
|
93
93
|
tryInteger ::= "tryInteger"<NO_WHITESPACE>"(" variable ")" ;
|
|
94
94
|
|
|
95
|
+
startsWith ::= "startsWith"<NO_WHITESPACE>"(" variable "," [string-literal] ")" ;
|
|
96
|
+
|
|
97
|
+
endsWith ::= "endsWith"<NO_WHITESPACE>"(" variable "," [string-literal] ")" ;
|
|
98
|
+
|
|
99
|
+
contains ::= "contains"<NO_WHITESPACE>"(" variable "," [string-literal] ")" ;
|
|
100
|
+
|
|
95
101
|
|
|
96
102
|
|
|
97
103
|
returnStatement ::= "return" value ";" ;
|
|
@@ -112,10 +118,6 @@ const bnf = `
|
|
|
112
118
|
|
|
113
119
|
| returnBlock
|
|
114
120
|
|
|
115
|
-
| nodesQuery
|
|
116
|
-
|
|
117
|
-
| nodeQuery
|
|
118
|
-
|
|
119
121
|
| ternary
|
|
120
122
|
|
|
121
123
|
| reduce
|
|
@@ -124,12 +126,22 @@ const bnf = `
|
|
|
124
126
|
|
|
125
127
|
| some
|
|
126
128
|
|
|
129
|
+
| nodesQuery
|
|
130
|
+
|
|
131
|
+
| nodeQuery
|
|
132
|
+
|
|
127
133
|
| lengthOf
|
|
128
134
|
|
|
129
135
|
| toInteger
|
|
130
136
|
|
|
131
137
|
| tryInteger
|
|
132
138
|
|
|
139
|
+
| startsWith
|
|
140
|
+
|
|
141
|
+
| endsWith
|
|
142
|
+
|
|
143
|
+
| contains
|
|
144
|
+
|
|
133
145
|
| term
|
|
134
146
|
|
|
135
147
|
;
|
|
@@ -203,4 +215,4 @@ const bnf = `
|
|
|
203
215
|
`;
|
|
204
216
|
const _default = bnf;
|
|
205
217
|
|
|
206
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mdXJ0bGUvYm5mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5jb25zdCBibmYgPSBgXG5cbiAgICBkb2N1bWVudCAgICAgICAgICAgICAgICA6Oj0gICggaW1wb3J0U3RhdGVtZW50IHwgcHJvY2VkdXJlIHwgZXJyb3IgKSsgO1xuICAgIFxuICAgIFxuICAgIFxuICAgIHByb2NlZHVyZSAgICAgICAgICAgICAgIDo6PSAgXCJleHBvcnRcIj8gdHlwZSBsYWJlbDxOT19XSElURVNQQUNFPlwiKFwiIHBhcmFtZXRlcnM/IFwiKVwiIHJldHVybkJsb2NrIDtcbiAgICBcbiAgICBpbXBvcnRTdGF0ZW1lbnQgICAgICAgICA6Oj0gIFwiaW1wb3J0XCIgaW1wb3J0QmluZGluZ3MgXCJmcm9tXCIgW3N0cmluZy1saXRlcmFsXSBcIjtcIiA7XG4gICAgXG4gICAgYW5vbnltb3VzUHJvY2VkdXJlICAgICAgOjo9ICB0eXBlIFwiKFwiIHBhcmFtZXRlcnM/IFwiKVwiIHJldHVybkJsb2NrIDtcbiAgICBcbiAgICBzdGF0ZW1lbnQgICAgICAgICAgICAgICA6Oj0gIHZhcmlhYmxlQXNzaWdubWVudHNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgb2JqZWN0QXNzaWdubWVudFxuICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGFycmF5QXNzaWdubWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7ICBcbiAgICAgIFxuICAgICAgXG4gICAgXG4gICAgdmFyaWFibGVBc3NpZ25tZW50cyAgICAgOjo9ICB0eXBlIHZhcmlhYmxlQXNzaWdubWVudCAoIFwiLFwiIHZhcmlhYmxlQXNzaWdubWVudCApKiBcIjtcIiA7XG4gICAgXG4gICAgdmFyaWFibGVBc3NpZ25tZW50ICAgICAgOjo9ICB2YXJpYWJsZSBcIj1cIiBleHByZXNzaW9uIDtcbiAgICBcbiAgICBvYmplY3RBc3NpZ25tZW50ICAgICAgICA6Oj0gIFwie1wiIG5hbWVkQmluZGluZ3MgXCJ9XCIgXCI9XCIgdmFyaWFibGUgXCI7XCIgO1xuICAgIFxuICAgIGFycmF5QXNzaWdubWVudCAgICAgICAgIDo6PSAgXCJbXCIgYmluZGluZ3MgXCJdXCIgXCI9XCIgdmFyaWFibGUgXCI7XCIgO1xuICAgIFxuXG5cbiAgICBpbXBvcnRCaW5kaW5ncyAgICAgICAgICA6Oj0gIGltcG9ydEJpbmRpbmcgKCBcIixcIiBpbXBvcnRCaW5kaW5nICkqIDtcbiAgICBcbiAgICBuYW1lZEJpbmRpbmdzICAgICAgICAgICA6Oj0gIG5hbWVkQmluZGluZyAoIFwiLFwiIG5hbWVkQmluZGluZyApKiA7XG4gICAgXG4gICAgcGFyYW1ldGVycyAgICAgICAgICAgICAgOjo9ICBwYXJhbWV0ZXIgKCBcIixcIiBwYXJhbWV0ZXIgKSogO1xuICAgIFxuICAgIGJpbmRpbmdzICAgICAgICAgICAgICAgIDo6PSAgYmluZGluZyAoIFwiLFwiIGJpbmRpbmcgKSogO1xuICAgIFxuICAgIHZhbHVlcyAgICAgICAgICAgICAgICAgIDo6PSAgdmFsdWUgKCBcIixcIiB2YWx1ZSApKiA7XG4gICAgXG4gICAgdGVybXMgICAgICAgICAgICAgICAgICAgOjo9ICB0ZXJtICggXCIsXCIgdGVybSApKiA7XG4gICAgXG5cblxuICAgIGltcG9ydEJpbmRpbmcgICAgICAgICAgIDo6PSAgcmVmZXJlbmNlICggXCJhc1wiIGxhYmVsICk/IDsgICBcbiAgICBcbiAgICBuYW1lZEJpbmRpbmcgICAgICAgICAgICA6Oj0gIHR5cGUgW25hbWVdICggXCJhc1wiIFtuYW1lXSApPyA7ICAgXG4gICAgXG4gICAgcGFyYW1ldGVyICAgICAgICAgICAgICAgOjo9ICB0eXBlIFtuYW1lXSA7XG5cbiAgICBiaW5kaW5nICAgICAgICAgICAgICAgICA6Oj0gIHR5cGUgW25hbWVdXG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICDOtSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG4gICAgXG4gICAgcHJvY2VkdXJlQ2FsbCAgICAgICAgICAgOjo9ICByZWZlcmVuY2U8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YWx1ZXM/
|
|
218
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mdXJ0bGUvYm5mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5jb25zdCBibmYgPSBgXG5cbiAgICBkb2N1bWVudCAgICAgICAgICAgICAgICA6Oj0gICggaW1wb3J0U3RhdGVtZW50IHwgcHJvY2VkdXJlIHwgZXJyb3IgKSsgO1xuICAgIFxuICAgIFxuICAgIFxuICAgIHByb2NlZHVyZSAgICAgICAgICAgICAgIDo6PSAgXCJleHBvcnRcIj8gdHlwZSBsYWJlbDxOT19XSElURVNQQUNFPlwiKFwiIHBhcmFtZXRlcnM/IFwiKVwiIHJldHVybkJsb2NrIDtcbiAgICBcbiAgICBpbXBvcnRTdGF0ZW1lbnQgICAgICAgICA6Oj0gIFwiaW1wb3J0XCIgaW1wb3J0QmluZGluZ3MgXCJmcm9tXCIgW3N0cmluZy1saXRlcmFsXSBcIjtcIiA7XG4gICAgXG4gICAgYW5vbnltb3VzUHJvY2VkdXJlICAgICAgOjo9ICB0eXBlIFwiKFwiIHBhcmFtZXRlcnM/IFwiKVwiIHJldHVybkJsb2NrIDtcbiAgICBcbiAgICBzdGF0ZW1lbnQgICAgICAgICAgICAgICA6Oj0gIHZhcmlhYmxlQXNzaWdubWVudHNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgb2JqZWN0QXNzaWdubWVudFxuICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGFycmF5QXNzaWdubWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7ICBcbiAgICAgIFxuICAgICAgXG4gICAgXG4gICAgdmFyaWFibGVBc3NpZ25tZW50cyAgICAgOjo9ICB0eXBlIHZhcmlhYmxlQXNzaWdubWVudCAoIFwiLFwiIHZhcmlhYmxlQXNzaWdubWVudCApKiBcIjtcIiA7XG4gICAgXG4gICAgdmFyaWFibGVBc3NpZ25tZW50ICAgICAgOjo9ICB2YXJpYWJsZSBcIj1cIiBleHByZXNzaW9uIDtcbiAgICBcbiAgICBvYmplY3RBc3NpZ25tZW50ICAgICAgICA6Oj0gIFwie1wiIG5hbWVkQmluZGluZ3MgXCJ9XCIgXCI9XCIgdmFyaWFibGUgXCI7XCIgO1xuICAgIFxuICAgIGFycmF5QXNzaWdubWVudCAgICAgICAgIDo6PSAgXCJbXCIgYmluZGluZ3MgXCJdXCIgXCI9XCIgdmFyaWFibGUgXCI7XCIgO1xuICAgIFxuXG5cbiAgICBpbXBvcnRCaW5kaW5ncyAgICAgICAgICA6Oj0gIGltcG9ydEJpbmRpbmcgKCBcIixcIiBpbXBvcnRCaW5kaW5nICkqIDtcbiAgICBcbiAgICBuYW1lZEJpbmRpbmdzICAgICAgICAgICA6Oj0gIG5hbWVkQmluZGluZyAoIFwiLFwiIG5hbWVkQmluZGluZyApKiA7XG4gICAgXG4gICAgcGFyYW1ldGVycyAgICAgICAgICAgICAgOjo9ICBwYXJhbWV0ZXIgKCBcIixcIiBwYXJhbWV0ZXIgKSogO1xuICAgIFxuICAgIGJpbmRpbmdzICAgICAgICAgICAgICAgIDo6PSAgYmluZGluZyAoIFwiLFwiIGJpbmRpbmcgKSogO1xuICAgIFxuICAgIHZhbHVlcyAgICAgICAgICAgICAgICAgIDo6PSAgdmFsdWUgKCBcIixcIiB2YWx1ZSApKiA7XG4gICAgXG4gICAgdGVybXMgICAgICAgICAgICAgICAgICAgOjo9ICB0ZXJtICggXCIsXCIgdGVybSApKiA7XG4gICAgXG5cblxuICAgIGltcG9ydEJpbmRpbmcgICAgICAgICAgIDo6PSAgcmVmZXJlbmNlICggXCJhc1wiIGxhYmVsICk/IDsgICBcbiAgICBcbiAgICBuYW1lZEJpbmRpbmcgICAgICAgICAgICA6Oj0gIHR5cGUgW25hbWVdICggXCJhc1wiIFtuYW1lXSApPyA7ICAgXG4gICAgXG4gICAgcGFyYW1ldGVyICAgICAgICAgICAgICAgOjo9ICB0eXBlIFtuYW1lXSA7XG5cbiAgICBiaW5kaW5nICAgICAgICAgICAgICAgICA6Oj0gIHR5cGUgW25hbWVdXG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICDOtSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG4gICAgXG4gICAgcHJvY2VkdXJlQ2FsbCAgICAgICAgICAgOjo9ICByZWZlcmVuY2U8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YWx1ZXM/IFwiKVwiIDtcbiAgICBcbiAgICByZXR1cm5CbG9jay4uICAgICAgICAgICA6Oj0gIFwie1wiICggc3RhdGVtZW50IHwgbm9uc2Vuc2UgKSogcmV0dXJuU3RhdGVtZW50IFwifVwiIDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICB0ZXJuYXJ5ICAgICAgICAgICAgICAgICA6Oj0gIFwiaWZcIiBcIihcIiB0ZXJtIFwiKVwiIGV4cHJlc3Npb24gXCJlbHNlXCIgZXhwcmVzc2lvbiA7XG4gICAgXG4gICAgcmVkdWNlICAgICAgICAgICAgICAgICAgOjo9ICBcInJlZHVjZVwiPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFyaWFibGUgXCIsXCIgYW5vbnltb3VzUHJvY2VkdXJlIFwiLFwiIHZhbHVlIFwiKVwiIDtcbiAgICBcbiAgICBldmVyeSAgICAgICAgICAgICAgICAgICA6Oj0gIFwiZXZlcnlcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIGFub255bW91c1Byb2NlZHVyZSBcIilcIiA7XG4gICAgXG4gICAgc29tZSAgICAgICAgICAgICAgICAgICAgOjo9ICBcInNvbWVcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIGFub255bW91c1Byb2NlZHVyZSBcIilcIiA7XG4gICAgXG4gICAgXG4gICAgXG4gICAgbm9kZXNRdWVyeSAgICAgICAgICAgICAgOjo9ICBcIm5vZGVzUXVlcnlcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIFtzdHJpbmctbGl0ZXJhbF0gXCIpXCIgO1xuICAgIFxuICAgIG5vZGVRdWVyeSAgICAgICAgICAgICAgIDo6PSAgXCJub2RlUXVlcnlcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIFtzdHJpbmctbGl0ZXJhbF0gXCIpXCIgO1xuICAgIFxuICAgIGxlbmd0aE9mICAgICAgICAgICAgICAgIDo6PSAgXCJsZW5ndGhPZlwiPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFyaWFibGUgXCIpXCIgO1xuICAgIFxuICAgIHRvSW50ZWdlciAgICAgICAgICAgICAgIDo6PSAgXCJ0b0ludGVnZXJcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiKVwiIDtcbiAgICBcbiAgICB0cnlJbnRlZ2VyICAgICAgICAgICAgICA6Oj0gIFwidHJ5SW50ZWdlclwiPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFyaWFibGUgXCIpXCIgO1xuICAgIFxuICAgIHN0YXJ0c1dpdGggICAgICAgICAgICAgIDo6PSAgXCJzdGFydHNXaXRoXCI8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YXJpYWJsZSBcIixcIiBbc3RyaW5nLWxpdGVyYWxdIFwiKVwiIDtcbiAgICBcbiAgICBlbmRzV2l0aCAgICAgICAgICAgICAgICA6Oj0gIFwiZW5kc1dpdGhcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIFtzdHJpbmctbGl0ZXJhbF0gXCIpXCIgO1xuICAgIFxuICAgIGNvbnRhaW5zICAgICAgICAgICAgICAgIDo6PSAgXCJjb250YWluc1wiPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFyaWFibGUgXCIsXCIgW3N0cmluZy1saXRlcmFsXSBcIilcIiA7XG4gICAgXG4gICAgXG4gICAgXG4gICAgcmV0dXJuU3RhdGVtZW50ICAgICAgICAgOjo9ICBcInJldHVyblwiIHZhbHVlIFwiO1wiIDsgXG4gICAgXG4gICAgXG4gICAgXG4gICAgY29tcGFyaXNvblRlcm0gICAgICAgICAgOjo9ICB0ZXJtICggXCI9PVwiIHwgXCIhPVwiICkgdGVybSA7IFxuICAgIFxuICAgIGJyYWNrZXRlZFRlcm0gICAgICAgICAgIDo6PSAgXCIoXCIgdGVybSBcIilcIiA7IFxuICAgIFxuICAgIG5lZ2F0ZWRUZXJtICAgICAgICAgICAgIDo6PSAgXCIhXCI8Tk9fV0hJVEVTUEFDRT50ZXJtIDsgXG4gICAgXG4gICAgbG9naWNhbFRlcm0gICAgICAgICAgICAgOjo9ICB0ZXJtICggXCJ8fFwiIHwgXCImJlwiICkgdGVybSA7IFxuXG5cbiAgICBcbiAgICBleHByZXNzaW9uICAgICAgICAgICAgICA6Oj0gIHByb2NlZHVyZUNhbGxcbiAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICByZXR1cm5CbG9ja1xuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgdGVybmFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICByZWR1Y2VcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGV2ZXJ5XG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBzb21lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG5vZGVzUXVlcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbm9kZVF1ZXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGxlbmd0aE9mXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgdG9JbnRlZ2VyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgdHJ5SW50ZWdlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHN0YXJ0c1dpdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgZW5kc1dpdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgY29udGFpbnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgdGVybVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7XG4gICAgXG4gICAgXG4gICAgXG4gICAgdGVybSAgICAgICAgICAgICAgICAgICAgOjo9ICBjb21wYXJpc29uVGVybSBcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGJyYWNrZXRlZFRlcm0gXG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBsb2dpY2FsVGVybSBcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG5lZ2F0ZWRUZXJtIFxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgcHJpbWl0aXZlIFxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgdmFyaWFibGUgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG4gICAgXG4gICAgIHR5cGUgICAgICAgICAgICAgICAgICAgOjo9ICBcIkxpc3RcIjxOT19XSElURVNQQUNFPlwiPFwiICggXCJOb2RlXCIgfCBcIlN0cmluZ1wiIHwgXCJCb29sZWFuXCIgfCBcIkludGVnZXJcIiApIFwiPlwiXG4gICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgXCJOb2RlXCIgIFxuICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFwiU3RyaW5nXCIgXG4gICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgXCJCb29sZWFuXCIgICBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgXCJJbnRlZ2VyXCIgICBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG5cbiAgICBcbiAgICB2YWx1ZSAgICAgICAgICAgICAgICAgICA6Oj0gIHByaW1pdGl2ZSBcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHZhcmlhYmxlIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7XG5cblxuICAgIFxuICAgIHByaW1pdGl2ZSAgICAgICAgICAgICAgIDo6PSAgW3N0cmluZy1saXRlcmFsXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBbYm9vbGVhbl1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgW2ludGVnZXJdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFtudWxsXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbiAgICByZWZlcmVuY2UuICAgICAgICAgICAgICA6Oj0gIFtuYW1lXSA7XG4gICAgXG4gICAgdmFyaWFibGUgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuICAgIFxuICAgIGxhYmVsLiAgICAgICAgICAgICAgICAgIDo6PSAgW25hbWVdIDtcbiAgICBcbiAgICBcbiAgICBcbiAgICBub25zZW5zZS4gICAgICAgICAgICAgICA6Oj0gIFtzdHJpbmctbGl0ZXJhbF0gfCBbc2Vjb25kYXJ5LWtleXdvcmRdIHwgW2Z1bmN0aW9uLW5hbWVdIHwgW3R5cGVdIHwgW2Jvb2xlYW5dIHwgW2ludGVnZXJdIHwgW251bGxdIHwgW25hbWVdIHwgW3NwZWNpYWxdIHwgW3VuYXNzaWduZWRdIDtcblxuXG4gICAgXG4gICAgZXJyb3IuICAgICAgICAgICAgICAgICAgOjo9ICAuIDtcbiAgICBcbmA7XG5cbmV4cG9ydCBkZWZhdWx0IGJuZjtcbiJdLCJuYW1lcyI6WyJibmYiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWdOQTs7O2VBQUE7OztBQTlNQSxNQUFNQSxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTRNYixDQUFDO01BRUQsV0FBZUEifQ==
|
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)"
|
|
23
|
+
"function-name": "^(?:nodeQuery|nodesQuery|reduce|every|some|lengthOf|toInteger|tryInteger|startsWith|endsWith|contains)"
|
|
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/OmFzfGlmfGVsc2UpXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwiZnVuY3Rpb24tbmFtZVwiOiBcIl4oPzpub2RlUXVlcnl8bm9kZXNRdWVyeXxyZWR1Y2V8ZXZlcnl8c29tZXxsZW5ndGhPZnx0b0ludGVnZXJ8dHJ5SW50ZWdlcnxzdGFydHNXaXRofGVuZHNXaXRofGNvbnRhaW5zKVwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcInR5cGVcIjogXCJeKD86TGlzdHxOb2RlfFN0cmluZ3xCb29sZWFufEludGVnZXIpXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwiYm9vbGVhblwiOiBcIl4oPzp0cnVlfGZhbHNlKVwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcImludGVnZXJcIjogXCJeWytcXFxcLV0/XFxcXGQrXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwibnVsbFwiOiBcIl5udWxsXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwibmFtZVwiOiBgXiR7TEFUSU59KyR7REVDSU1BTH0qYCxcclxuICB9LFxyXG4gIHtcclxuICAgIFwic3BlY2lhbFwiOiBcIl4oPzo8fD58IT18PT18IXw9fCx8O3wmJnxcXFxcfFxcXFx8fFxcXFwofFxcXFwpfFxcXFxbfFxcXFxdKVwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcInVuYXNzaWduZWRcIjogXCJeW15cXFxcc10rXCJcclxuICB9XHJcbl07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBlbnRyaWVzO1xyXG4iXSwibmFtZXMiOlsiTEFUSU4iLCJERUNJTUFMIiwiZW50cmllcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBeUNBOzs7ZUFBQTs7O0FBdkNBLE1BQU1BLFFBQVEsdUJBQ1JDLFVBQVU7QUFFaEIsTUFBTUMsVUFBVTtJQUNkO1FBQ0UsV0FBVztJQUNiO0lBQ0E7UUFDRSxtQkFBbUI7SUFDckI7SUFDQTtRQUNFLHFCQUFxQjtJQUN2QjtJQUNBO1FBQ0UsaUJBQWlCO0lBQ25CO0lBQ0E7UUFDRSxRQUFRO0lBQ1Y7SUFDQTtRQUNFLFdBQVc7SUFDYjtJQUNBO1FBQ0UsV0FBVztJQUNiO0lBQ0E7UUFDRSxRQUFRO0lBQ1Y7SUFDQTtRQUNFLFFBQVEsQ0FBQyxDQUFDLEVBQUVGLE1BQU0sQ0FBQyxFQUFFQyxRQUFRLENBQUMsQ0FBQztJQUNqQztJQUNBO1FBQ0UsV0FBVztJQUNiO0lBQ0E7UUFDRSxjQUFjO0lBQ2hCO0NBQ0Q7TUFFRCxXQUFlQyJ9
|
package/package.json
CHANGED
package/src/furtle/bnf.js
CHANGED
|
@@ -64,10 +64,6 @@ const bnf = `
|
|
|
64
64
|
|
|
65
65
|
returnBlock.. ::= "{" ( statement | nonsense )* returnStatement "}" ;
|
|
66
66
|
|
|
67
|
-
nodesQuery ::= "nodesQuery"<NO_WHITESPACE>"(" variable "," [string-literal] ")" ;
|
|
68
|
-
|
|
69
|
-
nodeQuery ::= "nodeQuery"<NO_WHITESPACE>"(" variable "," [string-literal] ")" ;
|
|
70
|
-
|
|
71
67
|
ternary ::= "if" "(" term ")" expression "else" expression ;
|
|
72
68
|
|
|
73
69
|
reduce ::= "reduce"<NO_WHITESPACE>"(" variable "," anonymousProcedure "," value ")" ;
|
|
@@ -78,12 +74,22 @@ const bnf = `
|
|
|
78
74
|
|
|
79
75
|
|
|
80
76
|
|
|
77
|
+
nodesQuery ::= "nodesQuery"<NO_WHITESPACE>"(" variable "," [string-literal] ")" ;
|
|
78
|
+
|
|
79
|
+
nodeQuery ::= "nodeQuery"<NO_WHITESPACE>"(" variable "," [string-literal] ")" ;
|
|
80
|
+
|
|
81
81
|
lengthOf ::= "lengthOf"<NO_WHITESPACE>"(" variable ")" ;
|
|
82
82
|
|
|
83
83
|
toInteger ::= "toInteger"<NO_WHITESPACE>"(" variable ")" ;
|
|
84
84
|
|
|
85
85
|
tryInteger ::= "tryInteger"<NO_WHITESPACE>"(" variable ")" ;
|
|
86
86
|
|
|
87
|
+
startsWith ::= "startsWith"<NO_WHITESPACE>"(" variable "," [string-literal] ")" ;
|
|
88
|
+
|
|
89
|
+
endsWith ::= "endsWith"<NO_WHITESPACE>"(" variable "," [string-literal] ")" ;
|
|
90
|
+
|
|
91
|
+
contains ::= "contains"<NO_WHITESPACE>"(" variable "," [string-literal] ")" ;
|
|
92
|
+
|
|
87
93
|
|
|
88
94
|
|
|
89
95
|
returnStatement ::= "return" value ";" ;
|
|
@@ -104,10 +110,6 @@ const bnf = `
|
|
|
104
110
|
|
|
105
111
|
| returnBlock
|
|
106
112
|
|
|
107
|
-
| nodesQuery
|
|
108
|
-
|
|
109
|
-
| nodeQuery
|
|
110
|
-
|
|
111
113
|
| ternary
|
|
112
114
|
|
|
113
115
|
| reduce
|
|
@@ -116,12 +118,22 @@ const bnf = `
|
|
|
116
118
|
|
|
117
119
|
| some
|
|
118
120
|
|
|
121
|
+
| nodesQuery
|
|
122
|
+
|
|
123
|
+
| nodeQuery
|
|
124
|
+
|
|
119
125
|
| lengthOf
|
|
120
126
|
|
|
121
127
|
| toInteger
|
|
122
128
|
|
|
123
129
|
| tryInteger
|
|
124
130
|
|
|
131
|
+
| startsWith
|
|
132
|
+
|
|
133
|
+
| endsWith
|
|
134
|
+
|
|
135
|
+
| contains
|
|
136
|
+
|
|
125
137
|
| term
|
|
126
138
|
|
|
127
139
|
;
|
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)"
|
|
17
|
+
"function-name": "^(?:nodeQuery|nodesQuery|reduce|every|some|lengthOf|toInteger|tryInteger|startsWith|endsWith|contains)"
|
|
18
18
|
},
|
|
19
19
|
{
|
|
20
20
|
"type": "^(?:List|Node|String|Boolean|Integer)"
|