occam-furtle 1.0.21 → 1.0.23
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/constants.js +5 -1
- package/lib/context/file.js +80 -0
- package/lib/dom/declaration/variables.js +3 -11
- package/lib/dom/error.js +1 -10
- package/lib/dom/query/node.js +2 -2
- package/lib/example.js +8 -13
- package/lib/index.js +2 -1
- package/lib/utilities/node.js +21 -0
- package/lib/utilities/string.js +78 -0
- package/package.json +2 -2
- package/src/constants.js +1 -0
- package/src/context/file.js +49 -0
- package/src/dom/declaration/variables.js +2 -17
- package/src/dom/error.js +0 -10
- package/src/dom/query/node.js +1 -1
- package/src/example.js +13 -26
- package/src/index.js +1 -0
- package/src/utilities/node.js +16 -0
- package/src/utilities/string.js +85 -0
package/lib/constants.js
CHANGED
|
@@ -9,6 +9,9 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
+
EMPTY_STRING: function() {
|
|
13
|
+
return EMPTY_STRING;
|
|
14
|
+
},
|
|
12
15
|
EQUAL_TO: function() {
|
|
13
16
|
return EQUAL_TO;
|
|
14
17
|
},
|
|
@@ -18,5 +21,6 @@ _export(exports, {
|
|
|
18
21
|
});
|
|
19
22
|
var FUNCTION = "function";
|
|
20
23
|
var EQUAL_TO = "==";
|
|
24
|
+
var EMPTY_STRING = "";
|
|
21
25
|
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBGVU5DVElPTiA9IFwiZnVuY3Rpb25cIjtcbmV4cG9ydCBjb25zdCBFUVVBTF9UTyA9IFwiPT1cIjtcbmV4cG9ydCBjb25zdCBFTVBUWV9TVFJJTkcgPSBcIlwiO1xuIl0sIm5hbWVzIjpbIkVNUFRZX1NUUklORyIsIkVRVUFMX1RPIiwiRlVOQ1RJT04iXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQUlhQSxZQUFZO2VBQVpBOztJQURBQyxRQUFRO2VBQVJBOztJQURBQyxRQUFRO2VBQVJBOzs7QUFBTixJQUFNQSxXQUFXO0FBQ2pCLElBQU1ELFdBQVc7QUFDakIsSUFBTUQsZUFBZSJ9
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return FileContext;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _necessary = require("necessary");
|
|
12
|
+
var _occamgrammars = require("occam-grammars");
|
|
13
|
+
var _string = require("../utilities/string");
|
|
14
|
+
function _class_call_check(instance, Constructor) {
|
|
15
|
+
if (!(instance instanceof Constructor)) {
|
|
16
|
+
throw new TypeError("Cannot call a class as a function");
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
function _defineProperties(target, props) {
|
|
20
|
+
for(var i = 0; i < props.length; i++){
|
|
21
|
+
var descriptor = props[i];
|
|
22
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
23
|
+
descriptor.configurable = true;
|
|
24
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
25
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
29
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
30
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
31
|
+
return Constructor;
|
|
32
|
+
}
|
|
33
|
+
var readFile = _necessary.fileSystemUtilities.readFile, furtleLexerFromNothing = _occamgrammars.lexersUtilities.furtleLexerFromNothing, furtleParserFromNothing = _occamgrammars.parsersUtilities.furtleParserFromNothing;
|
|
34
|
+
var furtleLexer = furtleLexerFromNothing(), furtleParser = furtleParserFromNothing();
|
|
35
|
+
var FileContext = /*#__PURE__*/ function() {
|
|
36
|
+
function FileContext(node, tokens, filePath) {
|
|
37
|
+
_class_call_check(this, FileContext);
|
|
38
|
+
this.node = node;
|
|
39
|
+
this.tokens = tokens;
|
|
40
|
+
this.filePath = filePath;
|
|
41
|
+
}
|
|
42
|
+
_create_class(FileContext, [
|
|
43
|
+
{
|
|
44
|
+
key: "getNode",
|
|
45
|
+
value: function getNode() {
|
|
46
|
+
return this.node;
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
key: "getTokens",
|
|
51
|
+
value: function getTokens() {
|
|
52
|
+
return this.tokens;
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
key: "getFilePath",
|
|
57
|
+
value: function getFilePath() {
|
|
58
|
+
return this.filePath;
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
key: "nodeAsString",
|
|
63
|
+
value: function nodeAsString(node) {
|
|
64
|
+
var string = (0, _string.nodeAsString)(node, this.tokens);
|
|
65
|
+
return string;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
], [
|
|
69
|
+
{
|
|
70
|
+
key: "fromFilePath",
|
|
71
|
+
value: function fromFilePath(filePath) {
|
|
72
|
+
var fileContent = readFile(filePath), content = fileContent, tokens = furtleLexer.tokenise(content), node = furtleParser.parse(tokens), fileContext = new FileContext(node, tokens, filePath);
|
|
73
|
+
return fileContext;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
]);
|
|
77
|
+
return FileContext;
|
|
78
|
+
}();
|
|
79
|
+
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L2ZpbGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGZpbGVTeXN0ZW1VdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5pbXBvcnQgeyBsZXhlcnNVdGlsaXRpZXMsIHBhcnNlcnNVdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tZ3JhbW1hcnNcIjtcblxuaW1wb3J0IHsgbm9kZUFzU3RyaW5nIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcblxuY29uc3QgeyByZWFkRmlsZSB9ID0gZmlsZVN5c3RlbVV0aWxpdGllcyxcbiAgICAgIHsgZnVydGxlTGV4ZXJGcm9tTm90aGluZyB9ID0gbGV4ZXJzVXRpbGl0aWVzLFxuICAgICAgeyBmdXJ0bGVQYXJzZXJGcm9tTm90aGluZyB9ID0gcGFyc2Vyc1V0aWxpdGllcztcblxuY29uc3QgZnVydGxlTGV4ZXIgPSBmdXJ0bGVMZXhlckZyb21Ob3RoaW5nKCksXG4gICAgICBmdXJ0bGVQYXJzZXIgPSBmdXJ0bGVQYXJzZXJGcm9tTm90aGluZygpO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGaWxlQ29udGV4dCB7XG4gIGNvbnN0cnVjdG9yKG5vZGUsIHRva2VucywgZmlsZVBhdGgpIHtcbiAgICB0aGlzLm5vZGUgPSBub2RlO1xuICAgIHRoaXMudG9rZW5zID0gdG9rZW5zO1xuICAgIHRoaXMuZmlsZVBhdGggPSBmaWxlUGF0aDtcbiAgfVxuXG4gIGdldE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZTtcbiAgfVxuXG4gIGdldFRva2VucygpIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbnM7XG4gIH1cblxuICBnZXRGaWxlUGF0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5maWxlUGF0aDtcbiAgfVxuXG4gIG5vZGVBc1N0cmluZyhub2RlKSB7XG4gICAgY29uc3Qgc3RyaW5nID0gbm9kZUFzU3RyaW5nKG5vZGUsIHRoaXMudG9rZW5zKTtcblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICBzdGF0aWMgZnJvbUZpbGVQYXRoKGZpbGVQYXRoKSB7XG4gICAgY29uc3QgZmlsZUNvbnRlbnQgPSByZWFkRmlsZShmaWxlUGF0aCksXG4gICAgICAgICAgY29udGVudCA9IGZpbGVDb250ZW50LCAgLy8vXG4gICAgICAgICAgdG9rZW5zID0gZnVydGxlTGV4ZXIudG9rZW5pc2UoY29udGVudCksXG4gICAgICAgICAgbm9kZSA9IGZ1cnRsZVBhcnNlci5wYXJzZSh0b2tlbnMpLFxuICAgICAgICAgIGZpbGVDb250ZXh0ID0gbmV3IEZpbGVDb250ZXh0KG5vZGUsIHRva2VucywgZmlsZVBhdGgpO1xuXG4gICAgcmV0dXJuIGZpbGVDb250ZXh0O1xuICB9XG59XG4iXSwibmFtZXMiOlsiRmlsZUNvbnRleHQiLCJyZWFkRmlsZSIsImZpbGVTeXN0ZW1VdGlsaXRpZXMiLCJmdXJ0bGVMZXhlckZyb21Ob3RoaW5nIiwibGV4ZXJzVXRpbGl0aWVzIiwiZnVydGxlUGFyc2VyRnJvbU5vdGhpbmciLCJwYXJzZXJzVXRpbGl0aWVzIiwiZnVydGxlTGV4ZXIiLCJmdXJ0bGVQYXJzZXIiLCJub2RlIiwidG9rZW5zIiwiZmlsZVBhdGgiLCJnZXROb2RlIiwiZ2V0VG9rZW5zIiwiZ2V0RmlsZVBhdGgiLCJub2RlQXNTdHJpbmciLCJzdHJpbmciLCJmcm9tRmlsZVBhdGgiLCJmaWxlQ29udGVudCIsImNvbnRlbnQiLCJ0b2tlbmlzZSIsInBhcnNlIiwiZmlsZUNvbnRleHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBY3FCQTs7O3lCQVplOzZCQUNjO3NCQUVyQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFN0IsSUFBTSxBQUFFQyxXQUFhQyw4QkFBbUIsQ0FBaENELFVBQ0YsQUFBRUUseUJBQTJCQyw4QkFBZSxDQUExQ0Qsd0JBQ0YsQUFBRUUsMEJBQTRCQywrQkFBZ0IsQ0FBNUNEO0FBRVIsSUFBTUUsY0FBY0osMEJBQ2RLLGVBQWVIO0FBRU4sSUFBQSxBQUFNTCw0QkFBTjthQUFNQSxZQUNQUyxJQUFJLEVBQUVDLE1BQU0sRUFBRUMsUUFBUTtnQ0FEZlg7UUFFakIsSUFBSSxDQUFDUyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxRQUFRLEdBQUdBOztrQkFKQ1g7O1lBT25CWSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILElBQUk7WUFDbEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILE1BQU07WUFDcEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILFFBQVE7WUFDdEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsYUFBYU4sSUFBSTtnQkFDZixJQUFNTyxTQUFTRCxJQUFBQSxvQkFBWSxFQUFDTixNQUFNLElBQUksQ0FBQ0MsTUFBTTtnQkFFN0MsT0FBT007WUFDVDs7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxhQUFhTixRQUFRO2dCQUMxQixJQUFNTyxjQUFjakIsU0FBU1UsV0FDdkJRLFVBQVVELGFBQ1ZSLFNBQVNILFlBQVlhLFFBQVEsQ0FBQ0QsVUFDOUJWLE9BQU9ELGFBQWFhLEtBQUssQ0FBQ1gsU0FDMUJZLGNBQWMsSUE5Qkh0QixZQThCbUJTLE1BQU1DLFFBQVFDO2dCQUVsRCxPQUFPVztZQUNUOzs7V0FqQ21CdEIifQ==
|
|
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "default", {
|
|
|
10
10
|
});
|
|
11
11
|
var _dom = /*#__PURE__*/ _interop_require_wildcard(require("../../dom"));
|
|
12
12
|
var _query = require("../../utilities/query");
|
|
13
|
+
var _node = require("../../utilities/node");
|
|
13
14
|
function _class_call_check(instance, Constructor) {
|
|
14
15
|
if (!(instance instanceof Constructor)) {
|
|
15
16
|
throw new TypeError("Cannot call a class as a function");
|
|
@@ -134,19 +135,10 @@ function typeFromVariablesDeclarationNode(variablesDeclarationNode) {
|
|
|
134
135
|
}
|
|
135
136
|
function variablesFromTypeAndVariablesDeclarationNode(type, variablesDeclarationNode) {
|
|
136
137
|
var variableNodes = variableNodesQuery(variablesDeclarationNode), assignmentNodes = assignmentNodesQuery(variablesDeclarationNode), variables = variableNodes.map(function(variableNode) {
|
|
137
|
-
var Variable = _dom.default.Variable, assignmentNode =
|
|
138
|
+
var Variable = _dom.default.Variable, assignmentNode = (0, _node.findSiblingNode)(assignmentNodes, variableNode, variablesDeclarationNode), variable = Variable.fromTypeVariableNodeAndAssignmentNode(type, variableNode, assignmentNode);
|
|
138
139
|
return variable;
|
|
139
140
|
});
|
|
140
141
|
return variables;
|
|
141
142
|
}
|
|
142
|
-
function assignmentNodeFromAssignmentNodesVariableNodeAndVariablesDeclarationNode(assignmentNodes, variableNode, variablesDeclarationNode) {
|
|
143
|
-
var nonTerminalNode = variablesDeclarationNode, childNodes = nonTerminalNode.getChildNodes(), variableNodeIndex = childNodes.indexOf(variableNode), assignmentNodeIndex = variableNodeIndex + 1, assignmentNode = assignmentNodes.find(function(assigmentNode) {
|
|
144
|
-
var index = childNodes.indexOf(assigmentNode);
|
|
145
|
-
if (index === assignmentNodeIndex) {
|
|
146
|
-
return true;
|
|
147
|
-
}
|
|
148
|
-
}) || null;
|
|
149
|
-
return assignmentNode;
|
|
150
|
-
}
|
|
151
143
|
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vZGVjbGFyYXRpb24vdmFyaWFibGVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgZG9tIGZyb20gXCIuLi8uLi9kb21cIjtcblxuaW1wb3J0IHsgZG9tQXNzaWduZWQgfSBmcm9tIFwiLi4vLi4vZG9tXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQge2ZpbmRTaWJsaW5nTm9kZX0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9ub2RlXCI7XG5cbmNvbnN0IHZhcmlhYmxlTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvdmFyaWFibGVzRGVjbGFyYXRpb24vdmFyaWFibGVcIiksXG4gICAgICBhc3NpZ25tZW50Tm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvdmFyaWFibGVzRGVjbGFyYXRpb24vYXNzaWdubWVudFwiKSxcbiAgICAgIHR5cGVUZXJtaW5hbE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi92YXJpYWJsZXNEZWNsYXJhdGlvbi9AdHlwZVwiKSxcbiAgICAgIHZhcmlhYmxlc0RlY2xhcmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3N0ZXAvdmFyaWFibGVzRGVjbGFyYXRpb25cIik7XG5cbmV4cG9ydCBkZWZhdWx0IGRvbUFzc2lnbmVkKGNsYXNzIFZhcmlhYmxlc0RlY2xhcmF0aW9uIHtcbiAgY29uc3RydWN0b3IodmFyaWFibGVzKSB7XG4gICAgdGhpcy52YXJpYWJsZXMgPSB2YXJpYWJsZXM7XG4gIH1cblxuICBnZXRWYXJpYWJsZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGVzO1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIGNvbnN0IHZhcmlhYmxlc1N0cmluZyA9IHZhcmlhYmxlc1N0cmluZ0Zyb21WYXJpYWJsZXModGhpcy52YXJpYWJsZXMpLFxuICAgICAgICAgIHN0cmluZyA9IHZhcmlhYmxlc1N0cmluZzsgLy8vXG5cbiAgICByZXR1cm4gc3RyaW5nO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlZhcmlhYmxlc0RlY2xhcmF0aW9uXCI7XG5cbiAgc3RhdGljIGZyb21TdGVwTm9kZShzdGVwTm9kZSwgY29udGV4dCkge1xuICAgIGxldCB2YXJpYWJsZXNEZWNsYXJhdGlvbiA9IG51bGw7XG5cbiAgICBjb25zdCB2YXJpYWJsZXNEZWNsYXJhdGlvbk5vZGUgPSB2YXJpYWJsZXNEZWNsYXJhdGlvbk5vZGVRdWVyeShzdGVwTm9kZSk7XG5cbiAgICBpZiAodmFyaWFibGVzRGVjbGFyYXRpb25Ob2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB0eXBlID0gdHlwZUZyb21WYXJpYWJsZXNEZWNsYXJhdGlvbk5vZGUodmFyaWFibGVzRGVjbGFyYXRpb25Ob2RlKSxcbiAgICAgICAgICAgIHZhcmlhYmxlcyA9IHZhcmlhYmxlc0Zyb21UeXBlQW5kVmFyaWFibGVzRGVjbGFyYXRpb25Ob2RlKHR5cGUsIHZhcmlhYmxlc0RlY2xhcmF0aW9uTm9kZSk7XG5cbiAgICAgIHZhcmlhYmxlc0RlY2xhcmF0aW9uID0gbmV3IFZhcmlhYmxlc0RlY2xhcmF0aW9uKHZhcmlhYmxlcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhcmlhYmxlc0RlY2xhcmF0aW9uO1xuICB9XG59KTtcblxuZnVuY3Rpb24gdmFyaWFibGVzU3RyaW5nRnJvbVZhcmlhYmxlcyh2YXJpYWJsZXMpIHtcbiAgY29uc3QgdmFyaWFibGVzU3RyaW5nID0gdmFyaWFibGVzLnJlZHVjZSgodmFyaWFibGVzU3RyaW5nLCB2YXJpYWJsZSkgPT4ge1xuICAgIGNvbnN0IHZhcmlhYmxlU3RyaW5nID0gdmFyaWFibGUuZ2V0U3RyaW5nKCk7XG5cbiAgICB2YXJpYWJsZXNTdHJpbmcgPSAodmFyaWFibGVzU3RyaW5nID09PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZVN0cmluZyA6ICAvLy9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7dmFyaWFibGVzU3RyaW5nfSwgJHt2YXJpYWJsZVN0cmluZ31gO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlc1N0cmluZztcbiAgfSwgbnVsbCk7XG5cbiAgcmV0dXJuIHZhcmlhYmxlc1N0cmluZztcbn1cblxuZnVuY3Rpb24gdHlwZUZyb21WYXJpYWJsZXNEZWNsYXJhdGlvbk5vZGUodmFyaWFibGVzRGVjbGFyYXRpb25Ob2RlKSB7XG4gIGNvbnN0IHR5cGVUZXJtaW5hbE5vZGUgPSB0eXBlVGVybWluYWxOb2RlUXVlcnkodmFyaWFibGVzRGVjbGFyYXRpb25Ob2RlKSxcbiAgICAgICAgdHlwZVRlcm1pbmFsTm9kZUNvbnRlbnQgPSB0eXBlVGVybWluYWxOb2RlLmdldENvbnRlbnQoKSxcbiAgICAgICAgdHlwZSA9IHR5cGVUZXJtaW5hbE5vZGVDb250ZW50OyAvLy9cblxuICByZXR1cm4gdHlwZTtcbn1cblxuZnVuY3Rpb24gdmFyaWFibGVzRnJvbVR5cGVBbmRWYXJpYWJsZXNEZWNsYXJhdGlvbk5vZGUodHlwZSwgdmFyaWFibGVzRGVjbGFyYXRpb25Ob2RlKSB7XG4gIGNvbnN0IHZhcmlhYmxlTm9kZXMgPSB2YXJpYWJsZU5vZGVzUXVlcnkodmFyaWFibGVzRGVjbGFyYXRpb25Ob2RlKSxcbiAgICAgICAgYXNzaWdubWVudE5vZGVzID0gYXNzaWdubWVudE5vZGVzUXVlcnkodmFyaWFibGVzRGVjbGFyYXRpb25Ob2RlKSxcbiAgICAgICAgdmFyaWFibGVzID0gdmFyaWFibGVOb2Rlcy5tYXAoKHZhcmlhYmxlTm9kZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHsgVmFyaWFibGUgfSA9IGRvbSxcbiAgICAgICAgICAgICAgICBhc3NpZ25tZW50Tm9kZSA9IGZpbmRTaWJsaW5nTm9kZShhc3NpZ25tZW50Tm9kZXMsIHZhcmlhYmxlTm9kZSwgdmFyaWFibGVzRGVjbGFyYXRpb25Ob2RlKSxcbiAgICAgICAgICAgICAgICB2YXJpYWJsZSA9IFZhcmlhYmxlLmZyb21UeXBlVmFyaWFibGVOb2RlQW5kQXNzaWdubWVudE5vZGUodHlwZSwgdmFyaWFibGVOb2RlLCBhc3NpZ25tZW50Tm9kZSk7XG5cbiAgICAgICAgICByZXR1cm4gdmFyaWFibGU7XG4gICAgICAgIH0pO1xuXG4gIHJldHVybiB2YXJpYWJsZXM7XG59XG4iXSwibmFtZXMiOlsidmFyaWFibGVOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsImFzc2lnbm1lbnROb2Rlc1F1ZXJ5IiwidHlwZVRlcm1pbmFsTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidmFyaWFibGVzRGVjbGFyYXRpb25Ob2RlUXVlcnkiLCJkb21Bc3NpZ25lZCIsIlZhcmlhYmxlc0RlY2xhcmF0aW9uIiwidmFyaWFibGVzIiwiZ2V0VmFyaWFibGVzIiwiZ2V0U3RyaW5nIiwidmFyaWFibGVzU3RyaW5nIiwidmFyaWFibGVzU3RyaW5nRnJvbVZhcmlhYmxlcyIsInN0cmluZyIsImZyb21TdGVwTm9kZSIsInN0ZXBOb2RlIiwiY29udGV4dCIsInZhcmlhYmxlc0RlY2xhcmF0aW9uIiwidmFyaWFibGVzRGVjbGFyYXRpb25Ob2RlIiwidHlwZSIsInR5cGVGcm9tVmFyaWFibGVzRGVjbGFyYXRpb25Ob2RlIiwidmFyaWFibGVzRnJvbVR5cGVBbmRWYXJpYWJsZXNEZWNsYXJhdGlvbk5vZGUiLCJuYW1lIiwicmVkdWNlIiwidmFyaWFibGUiLCJ2YXJpYWJsZVN0cmluZyIsInR5cGVUZXJtaW5hbE5vZGUiLCJ0eXBlVGVybWluYWxOb2RlQ29udGVudCIsImdldENvbnRlbnQiLCJ2YXJpYWJsZU5vZGVzIiwiYXNzaWdubWVudE5vZGVzIiwibWFwIiwidmFyaWFibGVOb2RlIiwiVmFyaWFibGUiLCJkb20iLCJhc3NpZ25tZW50Tm9kZSIsImZpbmRTaWJsaW5nTm9kZSIsImZyb21UeXBlVmFyaWFibGVOb2RlQW5kQXNzaWdubWVudE5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWFBOzs7ZUFBQTs7OzJEQVhnQjtxQkFHc0I7b0JBQ1I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU5QixJQUFNQSxxQkFBcUJDLElBQUFBLGlCQUFVLEVBQUMsbUNBQ2hDQyx1QkFBdUJELElBQUFBLGlCQUFVLEVBQUMscUNBQ2xDRSx3QkFBd0JDLElBQUFBLGdCQUFTLEVBQUMsZ0NBQ2xDQyxnQ0FBZ0NELElBQUFBLGdCQUFTLEVBQUM7SUFFaEQsV0FBZUUsSUFBQUEsZ0JBQVcseUNBQUM7YUFBTUMscUJBQ25CQyxTQUFTO2dDQURVRDtRQUU3QixJQUFJLENBQUNDLFNBQVMsR0FBR0E7Ozs7WUFHbkJDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0QsU0FBUztZQUN2Qjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxrQkFBa0JDLDZCQUE2QixJQUFJLENBQUNKLFNBQVMsR0FDN0RLLFNBQVNGLGlCQUFpQixHQUFHO2dCQUVuQyxPQUFPRTtZQUNUOzs7O1lBSU9DLEtBQUFBO21CQUFQLFNBQU9BLGFBQWFDLFFBQVEsRUFBRUMsT0FBTztnQkFDbkMsSUFBSUMsdUJBQXVCO2dCQUUzQixJQUFNQywyQkFBMkJiLDhCQUE4QlU7Z0JBRS9ELElBQUlHLDZCQUE2QixNQUFNO29CQUNyQyxJQUFNQyxPQUFPQyxpQ0FBaUNGLDJCQUN4Q1YsWUFBWWEsNkNBQTZDRixNQUFNRDtvQkFFckVELHVCQUF1QixJQUFJVixxQkFBcUJDO2dCQUNsRDtnQkFFQSxPQUFPUztZQUNUOzs7O0tBZkEsd0NBQU9LLFFBQU87QUFrQmhCLFNBQVNWLDZCQUE2QkosU0FBUztJQUM3QyxJQUFNRyxrQkFBa0JILFVBQVVlLE1BQU0sQ0FBQyxTQUFDWixpQkFBaUJhO1FBQ3pELElBQU1DLGlCQUFpQkQsU0FBU2QsU0FBUztRQUV6Q0Msa0JBQWtCLEFBQUNBLG9CQUFvQixPQUNuQmMsaUJBQ0UsQUFBQyxHQUFzQkEsT0FBcEJkLGlCQUFnQixNQUFtQixPQUFmYztRQUU3QyxPQUFPZDtJQUNULEdBQUc7SUFFSCxPQUFPQTtBQUNUO0FBRUEsU0FBU1MsaUNBQWlDRix3QkFBd0I7SUFDaEUsSUFBTVEsbUJBQW1CdkIsc0JBQXNCZSwyQkFDekNTLDBCQUEwQkQsaUJBQWlCRSxVQUFVLElBQ3JEVCxPQUFPUSx5QkFBeUIsR0FBRztJQUV6QyxPQUFPUjtBQUNUO0FBRUEsU0FBU0UsNkNBQTZDRixJQUFJLEVBQUVELHdCQUF3QjtJQUNsRixJQUFNVyxnQkFBZ0I3QixtQkFBbUJrQiwyQkFDbkNZLGtCQUFrQjVCLHFCQUFxQmdCLDJCQUN2Q1YsWUFBWXFCLGNBQWNFLEdBQUcsQ0FBQyxTQUFDQztRQUM3QixJQUFNLEFBQUVDLFdBQWFDLFlBQUcsQ0FBaEJELFVBQ0ZFLGlCQUFpQkMsSUFBQUEscUJBQWUsRUFBQ04saUJBQWlCRSxjQUFjZCwyQkFDaEVNLFdBQVdTLFNBQVNJLHFDQUFxQyxDQUFDbEIsTUFBTWEsY0FBY0c7UUFFcEYsT0FBT1g7SUFDVDtJQUVOLE9BQU9oQjtBQUNUIn0=
|
package/lib/dom/error.js
CHANGED
|
@@ -60,15 +60,6 @@ var _default = (0, _dom.domAssigned)((_Error = /*#__PURE__*/ function() {
|
|
|
60
60
|
value: function getString() {
|
|
61
61
|
return this.string;
|
|
62
62
|
}
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
key: "verify",
|
|
66
|
-
value: function verify() {
|
|
67
|
-
var verified = false;
|
|
68
|
-
var errorString = this.string; ///
|
|
69
|
-
this.fileContext.debug("The '".concat(errorString, "' error cannot be verified."));
|
|
70
|
-
return verified;
|
|
71
|
-
}
|
|
72
63
|
}
|
|
73
64
|
], [
|
|
74
65
|
{
|
|
@@ -82,4 +73,4 @@ var _default = (0, _dom.domAssigned)((_Error = /*#__PURE__*/ function() {
|
|
|
82
73
|
return Error;
|
|
83
74
|
}(), _define_property(_Error, "name", "Error"), _Error));
|
|
84
75
|
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vZXJyb3IuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGRvbUFzc2lnbmVkIH0gZnJvbSBcIi4uL2RvbVwiO1xuXG5leHBvcnQgZGVmYXVsdCBkb21Bc3NpZ25lZChjbGFzcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKGZpbGVDb250ZXh0LCBzdHJpbmcpIHtcbiAgICB0aGlzLmZpbGVDb250ZXh0ID0gZmlsZUNvbnRleHQ7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gIH1cblxuICBnZXRGaWxlQ29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5maWxlQ29udGV4dDtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmc7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiRXJyb3JcIjtcblxuICBzdGF0aWMgZnJvbUVycm9yTm9kZShlcnJvck5vZGUsIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3Qgbm9kZSA9IGVycm9yTm9kZSwgLy8vXG4gICAgICAgICAgc3RyaW5nID0gZmlsZUNvbnRleHQubm9kZUFzU3RyaW5nKG5vZGUpLFxuICAgICAgICAgIGVycm9yID0gbmV3IEVycm9yKGZpbGVDb250ZXh0LCBzdHJpbmcpO1xuXG4gICAgcmV0dXJuIGVycm9yO1xuICB9XG59KTtcbiJdLCJuYW1lcyI6WyJkb21Bc3NpZ25lZCIsIkVycm9yIiwiZmlsZUNvbnRleHQiLCJzdHJpbmciLCJnZXRGaWxlQ29udGV4dCIsImdldFN0cmluZyIsImZyb21FcnJvck5vZGUiLCJlcnJvck5vZGUiLCJub2RlIiwibm9kZUFzU3RyaW5nIiwiZXJyb3IiLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFJQTs7O2VBQUE7OzttQkFGNEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFFNUIsV0FBZUEsSUFBQUEsZ0JBQVcsMEJBQUM7YUFBTUMsTUFDbkJDLFdBQVcsRUFBRUMsTUFBTTtnQ0FEQUY7UUFFN0IsSUFBSSxDQUFDQyxXQUFXLEdBQUdBO1FBQ25CLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTs7OztZQUdoQkMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixXQUFXO1lBQ3pCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixNQUFNO1lBQ3BCOzs7O1lBSU9HLEtBQUFBO21CQUFQLFNBQU9BLGNBQWNDLFNBQVMsRUFBRUwsV0FBVztnQkFDekMsSUFBTU0sT0FBT0QsV0FDUEosU0FBU0QsWUFBWU8sWUFBWSxDQUFDRCxPQUNsQ0UsUUFBUSxJQUFJVCxNQUFNQyxhQUFhQztnQkFFckMsT0FBT087WUFDVDs7OztLQVJBLHlCQUFPQyxRQUFPIn0=
|
package/lib/dom/query/node.js
CHANGED
|
@@ -85,7 +85,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
85
85
|
return newObj;
|
|
86
86
|
}
|
|
87
87
|
var _NodeQuery;
|
|
88
|
-
var nodeQueryNodeQuery = (0, _query.nodeQuery)("/assignment/nodeQuery"), expressionNodeQuery = (0, _query.nodeQuery)("/
|
|
88
|
+
var nodeQueryNodeQuery = (0, _query.nodeQuery)("/assignment/nodeQuery"), expressionNodeQuery = (0, _query.nodeQuery)("/nodeQuery/expression");
|
|
89
89
|
var _default = (0, _dom.domAssigned)((_NodeQuery = /*#__PURE__*/ function() {
|
|
90
90
|
function NodeQuery() {
|
|
91
91
|
_class_call_check(this, NodeQuery);
|
|
@@ -127,4 +127,4 @@ var _default = (0, _dom.domAssigned)((_NodeQuery = /*#__PURE__*/ function() {
|
|
|
127
127
|
return NodeQuery;
|
|
128
128
|
}(), _define_property(_NodeQuery, "name", "NodeQuery"), _NodeQuery));
|
|
129
129
|
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vcXVlcnkvbm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgUXVlcnksIEV4cHJlc3Npb24gfSBmcm9tIFwib2NjYW0tcXVlcnlcIjtcblxuaW1wb3J0IGRvbSBmcm9tIFwiLi4vLi4vZG9tXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IGRvbUFzc2lnbmVkIH0gZnJvbSBcIi4uLy4uL2RvbVwiO1xuXG5jb25zdCBub2RlUXVlcnlOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvYXNzaWdubWVudC9ub2RlUXVlcnlcIiksXG4gICAgICBleHByZXNzaW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL25vZGVRdWVyeS9leHByZXNzaW9uXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBkb21Bc3NpZ25lZChjbGFzcyBOb2RlUXVlcnkge1xuICBnZXRTdHJpbmcodmFyaWFibGUsIHF1ZXJ5KSB7XG4gICAgdGhpcy52YXJpYWJsZSA9IHZhcmlhYmxlO1xuICAgIHRoaXMucXVlcnkgPSBxdWVyeTtcbiAgfVxuXG4gIGdldFZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0UXVlcnkoKSB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnk7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiTm9kZVF1ZXJ5XCI7XG5cbiAgc3RhdGljIGZyb21Bc3NpZ25tZW50Tm9kZShhc3NpZ21lbnROb2RlLCBjb250ZXh0KSB7XG4gICAgbGV0IG5vZGVRdWVyeSA9IG51bGw7XG5cbiAgICBjb25zdCBub2RlUXVlcnlOb2RlID0gbm9kZVF1ZXJ5Tm9kZVF1ZXJ5KGFzc2lnbWVudE5vZGUpO1xuXG4gICAgaWYgKG5vZGVRdWVyeU5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHsgVmFyaWFibGUgfSA9IGRvbSxcbiAgICAgICAgICAgIGV4cHJlc3Npb25Ob2RlID0gZXhwcmVzc2lvbk5vZGVRdWVyeShub2RlUXVlcnlOb2RlKSxcbiAgICAgICAgICAgIGV4cHJlc3Npb24gPSBFeHByZXNzaW9uLmZyb21FeHByZXNzaW9uTm9kZShleHByZXNzaW9uTm9kZSksXG4gICAgICAgICAgICB2YXJpYWJsZSA9IFZhcmlhYmxlLmZyb21Ob2RlUXVlcnlOb2RlKG5vZGVRdWVyeU5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgcXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihleHByZXNzaW9uKTtcblxuICAgICAgbm9kZVF1ZXJ5ID0gbmV3IE5vZGVRdWVyeSh2YXJpYWJsZSwgcXVlcnkpO1xuICAgIH1cblxuICAgIHJldHVybiBub2RlUXVlcnk7XG4gIH1cbn0pO1xuIl0sIm5hbWVzIjpbIm5vZGVRdWVyeU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsImV4cHJlc3Npb25Ob2RlUXVlcnkiLCJkb21Bc3NpZ25lZCIsIk5vZGVRdWVyeSIsImdldFN0cmluZyIsInZhcmlhYmxlIiwicXVlcnkiLCJnZXRWYXJpYWJsZSIsImdldFF1ZXJ5IiwiZnJvbUFzc2lnbm1lbnROb2RlIiwiYXNzaWdtZW50Tm9kZSIsImNvbnRleHQiLCJub2RlUXVlcnlOb2RlIiwiVmFyaWFibGUiLCJkb20iLCJleHByZXNzaW9uTm9kZSIsImV4cHJlc3Npb24iLCJFeHByZXNzaW9uIiwiZnJvbUV4cHJlc3Npb25Ob2RlIiwiZnJvbU5vZGVRdWVyeU5vZGUiLCJRdWVyeSIsImZyb21FeHByZXNzaW9uIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBWUE7OztlQUFBOzs7MEJBVmtDOzJEQUVsQjtxQkFFVTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRzFCLElBQU1BLHFCQUFxQkMsSUFBQUEsZ0JBQVMsRUFBQywwQkFDL0JDLHNCQUFzQkQsSUFBQUEsZ0JBQVMsRUFBQztJQUV0QyxXQUFlRSxJQUFBQSxnQkFBVyw4QkFBQzthQUFNQztnQ0FBQUE7Ozs7WUFDL0JDLEtBQUFBO21CQUFBQSxTQUFBQSxVQUFVQyxRQUFRLEVBQUVDLEtBQUs7Z0JBQ3ZCLElBQUksQ0FBQ0QsUUFBUSxHQUFHQTtnQkFDaEIsSUFBSSxDQUFDQyxLQUFLLEdBQUdBO1lBQ2Y7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNGLFFBQVE7WUFDdEI7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNGLEtBQUs7WUFDbkI7Ozs7WUFJT0csS0FBQUE7bUJBQVAsU0FBT0EsbUJBQW1CQyxhQUFhLEVBQUVDLE9BQU87Z0JBQzlDLElBQUlYLGNBQVk7Z0JBRWhCLElBQU1ZLGdCQUFnQmIsbUJBQW1CVztnQkFFekMsSUFBSUUsa0JBQWtCLE1BQU07b0JBQzFCLElBQU0sQUFBRUMsV0FBYUMsWUFBRyxDQUFoQkQsVUFDRkUsaUJBQWlCZCxvQkFBb0JXLGdCQUNyQ0ksYUFBYUMsc0JBQVUsQ0FBQ0Msa0JBQWtCLENBQUNILGlCQUMzQ1YsV0FBV1EsU0FBU00saUJBQWlCLENBQUNQLGVBQWVELFVBQ3JETCxRQUFRYyxpQkFBSyxDQUFDQyxjQUFjLENBQUNMO29CQUVuQ2hCLGNBQVksSUFBSUcsVUFBVUUsVUFBVUM7Z0JBQ3RDO2dCQUVBLE9BQU9OO1lBQ1Q7Ozs7S0FsQkEsNkJBQU9zQixRQUFPIn0=
|
package/lib/example.js
CHANGED
|
@@ -4,28 +4,23 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
require("./index");
|
|
6
6
|
var _dom = /*#__PURE__*/ _interop_require_default(require("./dom"));
|
|
7
|
-
var
|
|
8
|
-
var _occamgrammars = require("occam-grammars");
|
|
7
|
+
var _file = /*#__PURE__*/ _interop_require_default(require("./context/file"));
|
|
9
8
|
var _query = require("./utilities/query");
|
|
10
9
|
function _interop_require_default(obj) {
|
|
11
10
|
return obj && obj.__esModule ? obj : {
|
|
12
11
|
default: obj
|
|
13
12
|
};
|
|
14
13
|
}
|
|
15
|
-
var readFile = _necessary.fileSystemUtilities.readFile, furtleLexerFromNothing = _occamgrammars.lexersUtilities.furtleLexerFromNothing, furtleParserFromNothing = _occamgrammars.parsersUtilities.furtleParserFromNothing;
|
|
16
|
-
var furtleLexer = furtleLexerFromNothing(), furtleParser = furtleParserFromNothing();
|
|
17
14
|
var errorNodesQuery = (0, _query.nodesQuery)("/document/error"), procedureDeclarationNodesQuery = (0, _query.nodesQuery)("/document/procedureDeclaration");
|
|
18
15
|
var Error = _dom.default.Error, ProcedureDeclaration = _dom.default.ProcedureDeclaration;
|
|
19
|
-
var filePath = "first-order-logic/Procedures/Free and bound variables.ftl",
|
|
20
|
-
var errorNodes = errorNodesQuery(node),
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
var procedureDeclarationNodes = procedureDeclarationNodesQuery(node);
|
|
16
|
+
var filePath = "first-order-logic/Procedures/Free and bound variables.ftl", fileContext = _file.default.fromFilePath(filePath);
|
|
17
|
+
var node = fileContext.getNode(), errorNodes = errorNodesQuery(node), procedureDeclarationNodes = procedureDeclarationNodesQuery(node);
|
|
18
|
+
errorNodes.forEach(function(errorNode) {
|
|
19
|
+
var error = Error.fromErrorNode(errorNode, fileContext), errorString = error.getString();
|
|
20
|
+
console.log(errorString);
|
|
21
|
+
});
|
|
27
22
|
procedureDeclarationNodes.forEach(function(procedureDeclarationNode) {
|
|
28
23
|
ProcedureDeclaration.fromProcedureDeclarationNode(procedureDeclarationNode, fileContext);
|
|
29
24
|
});
|
|
30
25
|
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9leGFtcGxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgXCIuL2luZGV4XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4vZG9tXCI7XG5pbXBvcnQgRmlsZUNvbnRleHQgZnJvbSBcIi4vY29udGV4dC9maWxlXCI7XG5cbmltcG9ydCB7IG5vZGVzUXVlcnkgfSBmcm9tIFwiLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgZXJyb3JOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9kb2N1bWVudC9lcnJvclwiKSxcbiAgICAgIHByb2NlZHVyZURlY2xhcmF0aW9uTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvZG9jdW1lbnQvcHJvY2VkdXJlRGVjbGFyYXRpb25cIik7XG5cbmNvbnN0IHsgRXJyb3IsIFByb2NlZHVyZURlY2xhcmF0aW9uIH0gPSBkb207XG5cbmNvbnN0IGZpbGVQYXRoID0gXCJmaXJzdC1vcmRlci1sb2dpYy9Qcm9jZWR1cmVzL0ZyZWUgYW5kIGJvdW5kIHZhcmlhYmxlcy5mdGxcIixcbiAgICAgIGZpbGVDb250ZXh0ID0gRmlsZUNvbnRleHQuZnJvbUZpbGVQYXRoKGZpbGVQYXRoKTtcblxuY29uc3Qgbm9kZSA9IGZpbGVDb250ZXh0LmdldE5vZGUoKSxcbiAgICAgIGVycm9yTm9kZXMgPSBlcnJvck5vZGVzUXVlcnkobm9kZSksXG4gICAgICBwcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGVzID0gcHJvY2VkdXJlRGVjbGFyYXRpb25Ob2Rlc1F1ZXJ5KG5vZGUpO1xuXG5lcnJvck5vZGVzLmZvckVhY2goKGVycm9yTm9kZSkgPT4ge1xuICBjb25zdCBlcnJvciA9IEVycm9yLmZyb21FcnJvck5vZGUoZXJyb3JOb2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgIGVycm9yU3RyaW5nID0gZXJyb3IuZ2V0U3RyaW5nKCk7XG5cbiAgY29uc29sZS5sb2coZXJyb3JTdHJpbmcpO1xufSk7XG5cbnByb2NlZHVyZURlY2xhcmF0aW9uTm9kZXMuZm9yRWFjaCgocHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlKSA9PiB7XG4gIFByb2NlZHVyZURlY2xhcmF0aW9uLmZyb21Qcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGUocHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCk7XG59KTtcbiJdLCJuYW1lcyI6WyJlcnJvck5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwicHJvY2VkdXJlRGVjbGFyYXRpb25Ob2Rlc1F1ZXJ5IiwiRXJyb3IiLCJkb20iLCJQcm9jZWR1cmVEZWNsYXJhdGlvbiIsImZpbGVQYXRoIiwiZmlsZUNvbnRleHQiLCJGaWxlQ29udGV4dCIsImZyb21GaWxlUGF0aCIsIm5vZGUiLCJnZXROb2RlIiwiZXJyb3JOb2RlcyIsInByb2NlZHVyZURlY2xhcmF0aW9uTm9kZXMiLCJmb3JFYWNoIiwiZXJyb3JOb2RlIiwiZXJyb3IiLCJmcm9tRXJyb3JOb2RlIiwiZXJyb3JTdHJpbmciLCJnZXRTdHJpbmciLCJjb25zb2xlIiwibG9nIiwicHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlIiwiZnJvbVByb2NlZHVyZURlY2xhcmF0aW9uTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7UUFFTzswREFFUzsyREFDUTtxQkFFRzs7Ozs7O0FBRTNCLElBQU1BLGtCQUFrQkMsSUFBQUEsaUJBQVUsRUFBQyxvQkFDN0JDLGlDQUFpQ0QsSUFBQUEsaUJBQVUsRUFBQztBQUVsRCxJQUFRRSxRQUFnQ0MsWUFBRyxDQUFuQ0QsT0FBT0UsdUJBQXlCRCxZQUFHLENBQTVCQztBQUVmLElBQU1DLFdBQVcsNkRBQ1hDLGNBQWNDLGFBQVcsQ0FBQ0MsWUFBWSxDQUFDSDtBQUU3QyxJQUFNSSxPQUFPSCxZQUFZSSxPQUFPLElBQzFCQyxhQUFhWixnQkFBZ0JVLE9BQzdCRyw0QkFBNEJYLCtCQUErQlE7QUFFakVFLFdBQVdFLE9BQU8sQ0FBQyxTQUFDQztJQUNsQixJQUFNQyxRQUFRYixNQUFNYyxhQUFhLENBQUNGLFdBQVdSLGNBQ3ZDVyxjQUFjRixNQUFNRyxTQUFTO0lBRW5DQyxRQUFRQyxHQUFHLENBQUNIO0FBQ2Q7QUFFQUwsMEJBQTBCQyxPQUFPLENBQUMsU0FBQ1E7SUFDakNqQixxQkFBcUJrQiw0QkFBNEIsQ0FBQ0QsMEJBQTBCZjtBQUM5RSJ9
|
package/lib/index.js
CHANGED
|
@@ -6,6 +6,7 @@ var _step = /*#__PURE__*/ _interop_require_default(require("./dom/step"));
|
|
|
6
6
|
var _label = /*#__PURE__*/ _interop_require_default(require("./dom/label"));
|
|
7
7
|
var _value = /*#__PURE__*/ _interop_require_default(require("./dom/value"));
|
|
8
8
|
var _block = /*#__PURE__*/ _interop_require_default(require("./dom/block"));
|
|
9
|
+
var _error = /*#__PURE__*/ _interop_require_default(require("./dom/error"));
|
|
9
10
|
var _variable = /*#__PURE__*/ _interop_require_default(require("./dom/variable"));
|
|
10
11
|
var _condition = /*#__PURE__*/ _interop_require_default(require("./dom/condition"));
|
|
11
12
|
var _parameter = /*#__PURE__*/ _interop_require_default(require("./dom/parameter"));
|
|
@@ -34,4 +35,4 @@ function _interop_require_default(obj) {
|
|
|
34
35
|
};
|
|
35
36
|
}
|
|
36
37
|
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFN0ZXAgZnJvbSBcIi4vZG9tL3N0ZXBcIjtcbmltcG9ydCBMYWJlbCBmcm9tIFwiLi9kb20vbGFiZWxcIjtcbmltcG9ydCBWYWx1ZSBmcm9tIFwiLi9kb20vdmFsdWVcIjtcbmltcG9ydCBCbG9jayBmcm9tIFwiLi9kb20vYmxvY2tcIjtcbmltcG9ydCBFcnJvciBmcm9tIFwiLi9kb20vZXJyb3JcIjtcbmltcG9ydCBWYXJpYWJsZSBmcm9tIFwiLi9kb20vdmFyaWFibGVcIjtcbmltcG9ydCBDb25kaXRpb24gZnJvbSBcIi4vZG9tL2NvbmRpdGlvblwiO1xuaW1wb3J0IFBhcmFtZXRlciBmcm9tIFwiLi9kb20vcGFyYW1ldGVyXCI7XG5pbXBvcnQgUmVmZXJlbmNlIGZyb20gXCIuL2RvbS9yZWZlcmVuY2VcIjtcbmltcG9ydCBQcm9jZWR1cmUgZnJvbSBcIi4vZG9tL3Byb2NlZHVyZVwiO1xuaW1wb3J0IE5vZGVRdWVyeSBmcm9tIFwiLi9kb20vcXVlcnkvbm9kZVwiO1xuaW1wb3J0IE5vZGVzUXVlcnkgZnJvbSBcIi4vZG9tL3F1ZXJ5L25vZGVzXCI7XG5pbXBvcnQgQ29tcGFyaXNvbiBmcm9tIFwiLi9kb20vY29tcGFyaXNvblwiO1xuaW1wb3J0IEFzc2lnbm1lbnQgZnJvbSBcIi4vZG9tL2Fzc2lnbm1lbnRcIjtcbmltcG9ydCBSZXR1cm5CbG9jayBmcm9tIFwiLi9kb20vcmV0dXJuQmxvY2tcIjtcbmltcG9ydCBGb3JFYWNoTG9vcCBmcm9tIFwiLi9kb20vZm9yRWFjaExvb3BcIjtcbmltcG9ydCBQcm9jZWR1cmVDYWxsIGZyb20gXCIuL2RvbS9wcm9jZWR1cmVDYWxsXCI7XG5pbXBvcnQgQXJyYXlBc3NpZ21lbnQgZnJvbSBcIi4vZG9tL2Fzc2lnbm1lbnQvYXJyYXlcIjtcbmltcG9ydCBSZXR1cm5TdGF0ZW1lbnQgZnJvbSBcIi4vZG9tL3JldHVyblN0YXRlbWVudFwiO1xuaW1wb3J0IE9iamVjdEFzc2lnbm1lbnQgZnJvbSBcIi4vZG9tL2Fzc2lnbm1lbnQvb2JqZWN0XCI7XG5pbXBvcnQgQ29uZGl0aW9uYWxCbG9jayBmcm9tIFwiLi9kb20vY29uZGl0aW9uYWxCbG9ja1wiO1xuaW1wb3J0IEJpdHdpc2VDb25kaXRpb24gZnJvbSBcIi4vZG9tL2JpdHdpc2VDb25kaXRpb25cIjtcbmltcG9ydCBCcmFja2V0ZWRDb25kaXRpb24gZnJvbSBcIi4vZG9tL2JyYWNrZXRlZENvbmRpdGlvblwiO1xuaW1wb3J0IEFub255bW91c1Byb2NlZHVyZSBmcm9tIFwiLi9kb20vYW5vbnltb3VzUHJvY2VkdXJlXCI7XG5pbXBvcnQgVmFyaWFibGVzQXNzaWdubWVudCBmcm9tIFwiLi9kb20vYXNzaWdubWVudC92YXJpYWJsZXNcIjtcbmltcG9ydCBQcm9jZWR1cmVEZWNsYXJhdGlvbiBmcm9tIFwiLi9kb20vZGVjbGFyYXRpb24vcHJvY2VkdXJlXCI7XG5pbXBvcnQgVmFyaWFibGVzRGVjbGFyYXRpb24gZnJvbSBcIi4vZG9tL2RlY2xhcmF0aW9uL3ZhcmlhYmxlc1wiO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OzJEQUVpQjs0REFDQzs0REFDQTs0REFDQTs0REFDQTsrREFDRztnRUFDQztnRUFDQTtnRUFDQTtnRUFDQTsyREFDQTs0REFDQztpRUFDQTtpRUFDQTtrRUFDQztrRUFDQTtvRUFDRTs0REFDQztzRUFDQzs2REFDQzt1RUFDQTt1RUFDQTt5RUFDRTt5RUFDQTtnRUFDQztpRUFDQztpRUFDQSJ9
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "findSiblingNode", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return findSiblingNode;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
function findSiblingNode(siblingNodes, childNode, parentNode) {
|
|
12
|
+
var childNodes = parentNode.getChildNodes(), childNodeIndex = childNodes.indexOf(childNode), siblingNodeIndex = childNodeIndex + 1, siblingNode = siblingNodes.find(function(siblingNode) {
|
|
13
|
+
var index = childNodes.indexOf(siblingNode);
|
|
14
|
+
if (index === siblingNodeIndex) {
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
}) || null;
|
|
18
|
+
return siblingNode;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGZpbmRTaWJsaW5nTm9kZShzaWJsaW5nTm9kZXMsIGNoaWxkTm9kZSwgcGFyZW50Tm9kZSkge1xuICBjb25zdCBjaGlsZE5vZGVzID0gcGFyZW50Tm9kZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgIGNoaWxkTm9kZUluZGV4ID0gY2hpbGROb2Rlcy5pbmRleE9mKGNoaWxkTm9kZSksXG4gICAgICAgIHNpYmxpbmdOb2RlSW5kZXggPSBjaGlsZE5vZGVJbmRleCArIDEsXG4gICAgICAgIHNpYmxpbmdOb2RlID0gc2libGluZ05vZGVzLmZpbmQoKHNpYmxpbmdOb2RlKSA9PiB7XG4gICAgICAgICAgY29uc3QgaW5kZXggPSBjaGlsZE5vZGVzLmluZGV4T2Yoc2libGluZ05vZGUpO1xuXG4gICAgICAgICAgaWYgKGluZGV4ID09PSBzaWJsaW5nTm9kZUluZGV4KSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pIHx8IG51bGw7XG5cbiAgcmV0dXJuIHNpYmxpbmdOb2RlO1xufVxuIl0sIm5hbWVzIjpbImZpbmRTaWJsaW5nTm9kZSIsInNpYmxpbmdOb2RlcyIsImNoaWxkTm9kZSIsInBhcmVudE5vZGUiLCJjaGlsZE5vZGVzIiwiZ2V0Q2hpbGROb2RlcyIsImNoaWxkTm9kZUluZGV4IiwiaW5kZXhPZiIsInNpYmxpbmdOb2RlSW5kZXgiLCJzaWJsaW5nTm9kZSIsImZpbmQiLCJpbmRleCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBRWdCQTs7O2VBQUFBOzs7QUFBVCxTQUFTQSxnQkFBZ0JDLFlBQVksRUFBRUMsU0FBUyxFQUFFQyxVQUFVO0lBQ2pFLElBQU1DLGFBQWFELFdBQVdFLGFBQWEsSUFDckNDLGlCQUFpQkYsV0FBV0csT0FBTyxDQUFDTCxZQUNwQ00sbUJBQW1CRixpQkFBaUIsR0FDcENHLGNBQWNSLGFBQWFTLElBQUksQ0FBQyxTQUFDRDtRQUMvQixJQUFNRSxRQUFRUCxXQUFXRyxPQUFPLENBQUNFO1FBRWpDLElBQUlFLFVBQVVILGtCQUFrQjtZQUM5QixPQUFPO1FBQ1Q7SUFDRixNQUFNO0lBRVosT0FBT0M7QUFDVCJ9
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
nodeAsString: function() {
|
|
13
|
+
return nodeAsString;
|
|
14
|
+
},
|
|
15
|
+
nodeAsTokens: function() {
|
|
16
|
+
return nodeAsTokens;
|
|
17
|
+
},
|
|
18
|
+
nodesAsString: function() {
|
|
19
|
+
return nodesAsString;
|
|
20
|
+
},
|
|
21
|
+
tokensAsString: function() {
|
|
22
|
+
return tokensAsString;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
var _constants = require("../constants");
|
|
26
|
+
function nodeAsString(node, tokens) {
|
|
27
|
+
var string;
|
|
28
|
+
tokens = nodeAsTokens(node, tokens); ///
|
|
29
|
+
string = tokensAsString(tokens);
|
|
30
|
+
string = trimString(string); ///
|
|
31
|
+
return string;
|
|
32
|
+
}
|
|
33
|
+
function nodesAsString(nodes, tokens) {
|
|
34
|
+
var string = nodes.reduce(function(string, node) {
|
|
35
|
+
var nodeString = nodeAsString(node, tokens);
|
|
36
|
+
string = string === _constants.EMPTY_STRING ? nodeString : "".concat(string, ",").concat(nodeString);
|
|
37
|
+
return string;
|
|
38
|
+
}, _constants.EMPTY_STRING);
|
|
39
|
+
return string;
|
|
40
|
+
}
|
|
41
|
+
function tokensAsString(tokens) {
|
|
42
|
+
var string = tokens.reduce(function(string, token) {
|
|
43
|
+
var content = token.getContent();
|
|
44
|
+
string = "".concat(string).concat(content);
|
|
45
|
+
return string;
|
|
46
|
+
}, _constants.EMPTY_STRING);
|
|
47
|
+
return string;
|
|
48
|
+
}
|
|
49
|
+
function nodeAsTokens(node, tokens) {
|
|
50
|
+
var nodeTerminalNode = node.isTerminalNode();
|
|
51
|
+
if (nodeTerminalNode) {
|
|
52
|
+
z;
|
|
53
|
+
var terminalNode = node; ///
|
|
54
|
+
tokens = terminalNodeAsTokens(terminalNode, tokens);
|
|
55
|
+
} else {
|
|
56
|
+
var nonTerminalNode = node; ///
|
|
57
|
+
tokens = nonTerminalNodeAsTokens(nonTerminalNode, tokens);
|
|
58
|
+
}
|
|
59
|
+
return tokens;
|
|
60
|
+
}
|
|
61
|
+
function trimString(string) {
|
|
62
|
+
string = string.replace(/\s+$/, _constants.EMPTY_STRING); ///
|
|
63
|
+
return string;
|
|
64
|
+
}
|
|
65
|
+
function terminalNodeAsTokens(terminalNode, tokens) {
|
|
66
|
+
var significantToken = terminalNode.getSignificantToken(), token = significantToken; ///
|
|
67
|
+
tokens = [
|
|
68
|
+
token
|
|
69
|
+
];
|
|
70
|
+
return tokens;
|
|
71
|
+
}
|
|
72
|
+
function nonTerminalNodeAsTokens(nonTerminalNode, tokens) {
|
|
73
|
+
var lastSignificantTokenIndex = nonTerminalNode.getLastSignificantTokenIndex(tokens), firstSignificantTokenIndex = nonTerminalNode.getFirstSignificantTokenIndex(tokens), start = firstSignificantTokenIndex, end = lastSignificantTokenIndex + 1;
|
|
74
|
+
tokens = tokens.slice(start, end); ///
|
|
75
|
+
return tokens;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc3RyaW5nLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBub2RlQXNTdHJpbmcobm9kZSwgdG9rZW5zKSB7XG4gIGxldCBzdHJpbmc7XG5cbiAgdG9rZW5zID0gbm9kZUFzVG9rZW5zKG5vZGUsIHRva2Vucyk7ICAvLy9cblxuICBzdHJpbmcgPSB0b2tlbnNBc1N0cmluZyh0b2tlbnMpO1xuXG4gIHN0cmluZyA9IHRyaW1TdHJpbmcoc3RyaW5nKTsgIC8vL1xuXG4gIHJldHVybiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub2Rlc0FzU3RyaW5nKG5vZGVzLCB0b2tlbnMpIHtcbiAgY29uc3Qgc3RyaW5nID0gbm9kZXMucmVkdWNlKChzdHJpbmcsIG5vZGUpID0+IHtcbiAgICBjb25zdCBub2RlU3RyaW5nID0gbm9kZUFzU3RyaW5nKG5vZGUsIHRva2Vucyk7XG5cbiAgICBzdHJpbmcgPSAoc3RyaW5nID09PSBFTVBUWV9TVFJJTkcpID9cbiAgICAgICAgICAgICAgIG5vZGVTdHJpbmcgOlxuICAgICAgICAgICAgICAgIGAke3N0cmluZ30sJHtub2RlU3RyaW5nfWA7XG5cbiAgICByZXR1cm4gc3RyaW5nO1xuICB9LCBFTVBUWV9TVFJJTkcpO1xuXG4gIHJldHVybiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b2tlbnNBc1N0cmluZyh0b2tlbnMpIHtcbiAgY29uc3Qgc3RyaW5nID0gdG9rZW5zLnJlZHVjZSgoc3RyaW5nLCB0b2tlbikgPT4ge1xuICAgIGNvbnN0IGNvbnRlbnQgPSB0b2tlbi5nZXRDb250ZW50KCk7XG5cbiAgICBzdHJpbmcgPSBgJHtzdHJpbmd9JHtjb250ZW50fWA7XG5cbiAgICByZXR1cm4gc3RyaW5nO1xuICB9LCBFTVBUWV9TVFJJTkcpO1xuXG4gIHJldHVybiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub2RlQXNUb2tlbnMobm9kZSwgdG9rZW5zKSB7XG4gIGNvbnN0IG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgaWYgKG5vZGVUZXJtaW5hbE5vZGUpIHt6XG4gICAgY29uc3QgdGVybWluYWxOb2RlID0gbm9kZTsgIC8vL1xuXG4gICAgdG9rZW5zID0gdGVybWluYWxOb2RlQXNUb2tlbnModGVybWluYWxOb2RlLCB0b2tlbnMpO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vZGU7IC8vL1xuXG4gICAgdG9rZW5zID0gbm9uVGVybWluYWxOb2RlQXNUb2tlbnMobm9uVGVybWluYWxOb2RlLCB0b2tlbnMpO1xuICB9XG5cbiAgcmV0dXJuIHRva2Vucztcbn1cblxuZnVuY3Rpb24gdHJpbVN0cmluZyhzdHJpbmcpIHtcbiAgc3RyaW5nID0gc3RyaW5nLnJlcGxhY2UoL1xccyskLywgRU1QVFlfU1RSSU5HKTsgIC8vL1xuXG4gIHJldHVybiBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIHRlcm1pbmFsTm9kZUFzVG9rZW5zKHRlcm1pbmFsTm9kZSwgdG9rZW5zKSB7XG4gIGNvbnN0IHNpZ25pZmljYW50VG9rZW4gPSB0ZXJtaW5hbE5vZGUuZ2V0U2lnbmlmaWNhbnRUb2tlbigpLFxuICAgICAgICB0b2tlbiA9IHNpZ25pZmljYW50VG9rZW47IC8vL1xuXG4gIHRva2VucyA9IFsgIC8vL1xuICAgIHRva2VuXG4gIF07XG5cbiAgcmV0dXJuIHRva2Vucztcbn1cblxuZnVuY3Rpb24gbm9uVGVybWluYWxOb2RlQXNUb2tlbnMobm9uVGVybWluYWxOb2RlLCB0b2tlbnMpIHtcbiAgY29uc3QgbGFzdFNpZ25pZmljYW50VG9rZW5JbmRleCA9IG5vblRlcm1pbmFsTm9kZS5nZXRMYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4KHRva2VucyksXG4gICAgICAgIGZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gbm9uVGVybWluYWxOb2RlLmdldEZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4KHRva2VucyksXG4gICAgICAgIHN0YXJ0ID0gZmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXgsIC8vL1xuICAgICAgICBlbmQgPSBsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ICsgMTtcblxuICB0b2tlbnMgPSB0b2tlbnMuc2xpY2Uoc3RhcnQsIGVuZCk7ICAvLy9cblxuICByZXR1cm4gdG9rZW5zO1xufVxuIl0sIm5hbWVzIjpbIm5vZGVBc1N0cmluZyIsIm5vZGVBc1Rva2VucyIsIm5vZGVzQXNTdHJpbmciLCJ0b2tlbnNBc1N0cmluZyIsIm5vZGUiLCJ0b2tlbnMiLCJzdHJpbmciLCJ0cmltU3RyaW5nIiwibm9kZXMiLCJyZWR1Y2UiLCJub2RlU3RyaW5nIiwiRU1QVFlfU1RSSU5HIiwidG9rZW4iLCJjb250ZW50IiwiZ2V0Q29udGVudCIsIm5vZGVUZXJtaW5hbE5vZGUiLCJpc1Rlcm1pbmFsTm9kZSIsInoiLCJ0ZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGVBc1Rva2VucyIsIm5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZUFzVG9rZW5zIiwicmVwbGFjZSIsInNpZ25pZmljYW50VG9rZW4iLCJnZXRTaWduaWZpY2FudFRva2VuIiwibGFzdFNpZ25pZmljYW50VG9rZW5JbmRleCIsImdldExhc3RTaWduaWZpY2FudFRva2VuSW5kZXgiLCJmaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCIsImdldEZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4Iiwic3RhcnQiLCJlbmQiLCJzbGljZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBSWdCQSxZQUFZO2VBQVpBOztJQXNDQUMsWUFBWTtlQUFaQTs7SUExQkFDLGFBQWE7ZUFBYkE7O0lBY0FDLGNBQWM7ZUFBZEE7Ozt5QkE1QmE7QUFFdEIsU0FBU0gsYUFBYUksSUFBSSxFQUFFQyxNQUFNO0lBQ3ZDLElBQUlDO0lBRUpELFNBQVNKLGFBQWFHLE1BQU1DLFNBQVUsR0FBRztJQUV6Q0MsU0FBU0gsZUFBZUU7SUFFeEJDLFNBQVNDLFdBQVdELFNBQVUsR0FBRztJQUVqQyxPQUFPQTtBQUNUO0FBRU8sU0FBU0osY0FBY00sS0FBSyxFQUFFSCxNQUFNO0lBQ3pDLElBQU1DLFNBQVNFLE1BQU1DLE1BQU0sQ0FBQyxTQUFDSCxRQUFRRjtRQUNuQyxJQUFNTSxhQUFhVixhQUFhSSxNQUFNQztRQUV0Q0MsU0FBUyxBQUFDQSxXQUFXSyx1QkFBWSxHQUN0QkQsYUFDQyxBQUFDLEdBQVlBLE9BQVZKLFFBQU8sS0FBYyxPQUFYSTtRQUV6QixPQUFPSjtJQUNULEdBQUdLLHVCQUFZO0lBRWYsT0FBT0w7QUFDVDtBQUVPLFNBQVNILGVBQWVFLE1BQU07SUFDbkMsSUFBTUMsU0FBU0QsT0FBT0ksTUFBTSxDQUFDLFNBQUNILFFBQVFNO1FBQ3BDLElBQU1DLFVBQVVELE1BQU1FLFVBQVU7UUFFaENSLFNBQVMsQUFBQyxHQUFXTyxPQUFUUCxRQUFpQixPQUFSTztRQUVyQixPQUFPUDtJQUNULEdBQUdLLHVCQUFZO0lBRWYsT0FBT0w7QUFDVDtBQUVPLFNBQVNMLGFBQWFHLElBQUksRUFBRUMsTUFBTTtJQUN2QyxJQUFNVSxtQkFBbUJYLEtBQUtZLGNBQWM7SUFFNUMsSUFBSUQsa0JBQWtCO1FBQUNFO1FBQ3JCLElBQU1DLGVBQWVkLE1BQU8sR0FBRztRQUUvQkMsU0FBU2MscUJBQXFCRCxjQUFjYjtJQUM5QyxPQUFPO1FBQ0wsSUFBTWUsa0JBQWtCaEIsTUFBTSxHQUFHO1FBRWpDQyxTQUFTZ0Isd0JBQXdCRCxpQkFBaUJmO0lBQ3BEO0lBRUEsT0FBT0E7QUFDVDtBQUVBLFNBQVNFLFdBQVdELE1BQU07SUFDeEJBLFNBQVNBLE9BQU9nQixPQUFPLENBQUMsUUFBUVgsdUJBQVksR0FBSSxHQUFHO0lBRW5ELE9BQU9MO0FBQ1Q7QUFFQSxTQUFTYSxxQkFBcUJELFlBQVksRUFBRWIsTUFBTTtJQUNoRCxJQUFNa0IsbUJBQW1CTCxhQUFhTSxtQkFBbUIsSUFDbkRaLFFBQVFXLGtCQUFrQixHQUFHO0lBRW5DbEIsU0FBUztRQUNQTztLQUNEO0lBRUQsT0FBT1A7QUFDVDtBQUVBLFNBQVNnQix3QkFBd0JELGVBQWUsRUFBRWYsTUFBTTtJQUN0RCxJQUFNb0IsNEJBQTRCTCxnQkFBZ0JNLDRCQUE0QixDQUFDckIsU0FDekVzQiw2QkFBNkJQLGdCQUFnQlEsNkJBQTZCLENBQUN2QixTQUMzRXdCLFFBQVFGLDRCQUNSRyxNQUFNTCw0QkFBNEI7SUFFeENwQixTQUFTQSxPQUFPMEIsS0FBSyxDQUFDRixPQUFPQyxNQUFPLEdBQUc7SUFFdkMsT0FBT3pCO0FBQ1QifQ==
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "occam-furtle",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.23",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-furtle",
|
|
7
7
|
"description": "Occam's Furtle language.",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"necessary": "^14.2.1",
|
|
14
|
-
"occam-grammars": "^1.3.
|
|
14
|
+
"occam-grammars": "^1.3.41",
|
|
15
15
|
"occam-query": "^4.1.10"
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
package/src/constants.js
CHANGED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { fileSystemUtilities } from "necessary";
|
|
4
|
+
import { lexersUtilities, parsersUtilities } from "occam-grammars";
|
|
5
|
+
|
|
6
|
+
import { nodeAsString } from "../utilities/string";
|
|
7
|
+
|
|
8
|
+
const { readFile } = fileSystemUtilities,
|
|
9
|
+
{ furtleLexerFromNothing } = lexersUtilities,
|
|
10
|
+
{ furtleParserFromNothing } = parsersUtilities;
|
|
11
|
+
|
|
12
|
+
const furtleLexer = furtleLexerFromNothing(),
|
|
13
|
+
furtleParser = furtleParserFromNothing();
|
|
14
|
+
|
|
15
|
+
export default class FileContext {
|
|
16
|
+
constructor(node, tokens, filePath) {
|
|
17
|
+
this.node = node;
|
|
18
|
+
this.tokens = tokens;
|
|
19
|
+
this.filePath = filePath;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
getNode() {
|
|
23
|
+
return this.node;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
getTokens() {
|
|
27
|
+
return this.tokens;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
getFilePath() {
|
|
31
|
+
return this.filePath;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
nodeAsString(node) {
|
|
35
|
+
const string = nodeAsString(node, this.tokens);
|
|
36
|
+
|
|
37
|
+
return string;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
static fromFilePath(filePath) {
|
|
41
|
+
const fileContent = readFile(filePath),
|
|
42
|
+
content = fileContent, ///
|
|
43
|
+
tokens = furtleLexer.tokenise(content),
|
|
44
|
+
node = furtleParser.parse(tokens),
|
|
45
|
+
fileContext = new FileContext(node, tokens, filePath);
|
|
46
|
+
|
|
47
|
+
return fileContext;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -4,6 +4,7 @@ import dom from "../../dom";
|
|
|
4
4
|
|
|
5
5
|
import { domAssigned } from "../../dom";
|
|
6
6
|
import { nodeQuery, nodesQuery } from "../../utilities/query";
|
|
7
|
+
import {findSiblingNode} from "../../utilities/node";
|
|
7
8
|
|
|
8
9
|
const variableNodesQuery = nodesQuery("/variablesDeclaration/variable"),
|
|
9
10
|
assignmentNodesQuery = nodesQuery("/variablesDeclaration/assignment"),
|
|
@@ -71,7 +72,7 @@ function variablesFromTypeAndVariablesDeclarationNode(type, variablesDeclaration
|
|
|
71
72
|
assignmentNodes = assignmentNodesQuery(variablesDeclarationNode),
|
|
72
73
|
variables = variableNodes.map((variableNode) => {
|
|
73
74
|
const { Variable } = dom,
|
|
74
|
-
assignmentNode =
|
|
75
|
+
assignmentNode = findSiblingNode(assignmentNodes, variableNode, variablesDeclarationNode),
|
|
75
76
|
variable = Variable.fromTypeVariableNodeAndAssignmentNode(type, variableNode, assignmentNode);
|
|
76
77
|
|
|
77
78
|
return variable;
|
|
@@ -79,19 +80,3 @@ function variablesFromTypeAndVariablesDeclarationNode(type, variablesDeclaration
|
|
|
79
80
|
|
|
80
81
|
return variables;
|
|
81
82
|
}
|
|
82
|
-
|
|
83
|
-
function assignmentNodeFromAssignmentNodesVariableNodeAndVariablesDeclarationNode(assignmentNodes, variableNode, variablesDeclarationNode) {
|
|
84
|
-
const nonTerminalNode = variablesDeclarationNode, ///
|
|
85
|
-
childNodes = nonTerminalNode.getChildNodes(),
|
|
86
|
-
variableNodeIndex = childNodes.indexOf(variableNode),
|
|
87
|
-
assignmentNodeIndex = variableNodeIndex + 1,
|
|
88
|
-
assignmentNode = assignmentNodes.find((assigmentNode) => {
|
|
89
|
-
const index = childNodes.indexOf(assigmentNode);
|
|
90
|
-
|
|
91
|
-
if (index === assignmentNodeIndex) {
|
|
92
|
-
return true;
|
|
93
|
-
}
|
|
94
|
-
}) || null;
|
|
95
|
-
|
|
96
|
-
return assignmentNode;
|
|
97
|
-
}
|
package/src/dom/error.js
CHANGED
|
@@ -16,16 +16,6 @@ export default domAssigned(class Error {
|
|
|
16
16
|
return this.string;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
verify() {
|
|
20
|
-
let verified = false;
|
|
21
|
-
|
|
22
|
-
const errorString = this.string; ///
|
|
23
|
-
|
|
24
|
-
this.fileContext.debug(`The '${errorString}' error cannot be verified.`);
|
|
25
|
-
|
|
26
|
-
return verified;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
19
|
static name = "Error";
|
|
30
20
|
|
|
31
21
|
static fromErrorNode(errorNode, fileContext) {
|
package/src/dom/query/node.js
CHANGED
|
@@ -8,7 +8,7 @@ import { nodeQuery } from "../../utilities/query";
|
|
|
8
8
|
import { domAssigned } from "../../dom";
|
|
9
9
|
|
|
10
10
|
const nodeQueryNodeQuery = nodeQuery("/assignment/nodeQuery"),
|
|
11
|
-
expressionNodeQuery = nodeQuery("/
|
|
11
|
+
expressionNodeQuery = nodeQuery("/nodeQuery/expression");
|
|
12
12
|
|
|
13
13
|
export default domAssigned(class NodeQuery {
|
|
14
14
|
getString(variable, query) {
|
package/src/example.js
CHANGED
|
@@ -3,41 +3,28 @@
|
|
|
3
3
|
import "./index";
|
|
4
4
|
|
|
5
5
|
import dom from "./dom";
|
|
6
|
-
|
|
7
|
-
import { fileSystemUtilities } from "necessary";
|
|
8
|
-
import { lexersUtilities, parsersUtilities } from "occam-grammars";
|
|
6
|
+
import FileContext from "./context/file";
|
|
9
7
|
|
|
10
8
|
import { nodesQuery } from "./utilities/query";
|
|
11
9
|
|
|
12
|
-
const { readFile } = fileSystemUtilities,
|
|
13
|
-
{ furtleLexerFromNothing } = lexersUtilities,
|
|
14
|
-
{ furtleParserFromNothing } = parsersUtilities;
|
|
15
|
-
|
|
16
|
-
const furtleLexer = furtleLexerFromNothing(),
|
|
17
|
-
furtleParser = furtleParserFromNothing();
|
|
18
|
-
|
|
19
10
|
const errorNodesQuery = nodesQuery("/document/error"),
|
|
20
11
|
procedureDeclarationNodesQuery = nodesQuery("/document/procedureDeclaration");
|
|
21
12
|
|
|
22
13
|
const { Error, ProcedureDeclaration } = dom;
|
|
23
14
|
|
|
24
15
|
const filePath = "first-order-logic/Procedures/Free and bound variables.ftl",
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
const procedureDeclarationNodes = procedureDeclarationNodesQuery(node);
|
|
16
|
+
fileContext = FileContext.fromFilePath(filePath);
|
|
17
|
+
|
|
18
|
+
const node = fileContext.getNode(),
|
|
19
|
+
errorNodes = errorNodesQuery(node),
|
|
20
|
+
procedureDeclarationNodes = procedureDeclarationNodesQuery(node);
|
|
21
|
+
|
|
22
|
+
errorNodes.forEach((errorNode) => {
|
|
23
|
+
const error = Error.fromErrorNode(errorNode, fileContext),
|
|
24
|
+
errorString = error.getString();
|
|
25
|
+
|
|
26
|
+
console.log(errorString);
|
|
27
|
+
});
|
|
41
28
|
|
|
42
29
|
procedureDeclarationNodes.forEach((procedureDeclarationNode) => {
|
|
43
30
|
ProcedureDeclaration.fromProcedureDeclarationNode(procedureDeclarationNode, fileContext);
|
package/src/index.js
CHANGED
|
@@ -4,6 +4,7 @@ import Step from "./dom/step";
|
|
|
4
4
|
import Label from "./dom/label";
|
|
5
5
|
import Value from "./dom/value";
|
|
6
6
|
import Block from "./dom/block";
|
|
7
|
+
import Error from "./dom/error";
|
|
7
8
|
import Variable from "./dom/variable";
|
|
8
9
|
import Condition from "./dom/condition";
|
|
9
10
|
import Parameter from "./dom/parameter";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export function findSiblingNode(siblingNodes, childNode, parentNode) {
|
|
4
|
+
const childNodes = parentNode.getChildNodes(),
|
|
5
|
+
childNodeIndex = childNodes.indexOf(childNode),
|
|
6
|
+
siblingNodeIndex = childNodeIndex + 1,
|
|
7
|
+
siblingNode = siblingNodes.find((siblingNode) => {
|
|
8
|
+
const index = childNodes.indexOf(siblingNode);
|
|
9
|
+
|
|
10
|
+
if (index === siblingNodeIndex) {
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
}) || null;
|
|
14
|
+
|
|
15
|
+
return siblingNode;
|
|
16
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { EMPTY_STRING } from "../constants";
|
|
4
|
+
|
|
5
|
+
export function nodeAsString(node, tokens) {
|
|
6
|
+
let string;
|
|
7
|
+
|
|
8
|
+
tokens = nodeAsTokens(node, tokens); ///
|
|
9
|
+
|
|
10
|
+
string = tokensAsString(tokens);
|
|
11
|
+
|
|
12
|
+
string = trimString(string); ///
|
|
13
|
+
|
|
14
|
+
return string;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export function nodesAsString(nodes, tokens) {
|
|
18
|
+
const string = nodes.reduce((string, node) => {
|
|
19
|
+
const nodeString = nodeAsString(node, tokens);
|
|
20
|
+
|
|
21
|
+
string = (string === EMPTY_STRING) ?
|
|
22
|
+
nodeString :
|
|
23
|
+
`${string},${nodeString}`;
|
|
24
|
+
|
|
25
|
+
return string;
|
|
26
|
+
}, EMPTY_STRING);
|
|
27
|
+
|
|
28
|
+
return string;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export function tokensAsString(tokens) {
|
|
32
|
+
const string = tokens.reduce((string, token) => {
|
|
33
|
+
const content = token.getContent();
|
|
34
|
+
|
|
35
|
+
string = `${string}${content}`;
|
|
36
|
+
|
|
37
|
+
return string;
|
|
38
|
+
}, EMPTY_STRING);
|
|
39
|
+
|
|
40
|
+
return string;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export function nodeAsTokens(node, tokens) {
|
|
44
|
+
const nodeTerminalNode = node.isTerminalNode();
|
|
45
|
+
|
|
46
|
+
if (nodeTerminalNode) {z
|
|
47
|
+
const terminalNode = node; ///
|
|
48
|
+
|
|
49
|
+
tokens = terminalNodeAsTokens(terminalNode, tokens);
|
|
50
|
+
} else {
|
|
51
|
+
const nonTerminalNode = node; ///
|
|
52
|
+
|
|
53
|
+
tokens = nonTerminalNodeAsTokens(nonTerminalNode, tokens);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return tokens;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
function trimString(string) {
|
|
60
|
+
string = string.replace(/\s+$/, EMPTY_STRING); ///
|
|
61
|
+
|
|
62
|
+
return string;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function terminalNodeAsTokens(terminalNode, tokens) {
|
|
66
|
+
const significantToken = terminalNode.getSignificantToken(),
|
|
67
|
+
token = significantToken; ///
|
|
68
|
+
|
|
69
|
+
tokens = [ ///
|
|
70
|
+
token
|
|
71
|
+
];
|
|
72
|
+
|
|
73
|
+
return tokens;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
function nonTerminalNodeAsTokens(nonTerminalNode, tokens) {
|
|
77
|
+
const lastSignificantTokenIndex = nonTerminalNode.getLastSignificantTokenIndex(tokens),
|
|
78
|
+
firstSignificantTokenIndex = nonTerminalNode.getFirstSignificantTokenIndex(tokens),
|
|
79
|
+
start = firstSignificantTokenIndex, ///
|
|
80
|
+
end = lastSignificantTokenIndex + 1;
|
|
81
|
+
|
|
82
|
+
tokens = tokens.slice(start, end); ///
|
|
83
|
+
|
|
84
|
+
return tokens;
|
|
85
|
+
}
|