occam-verify-cli 0.0.927 → 0.0.929

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.
@@ -1,229 +0,0 @@
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 _default;
9
- }
10
- });
11
- var _nodes = /*#__PURE__*/ _interop_require_default(require("../../verifier/nodes"));
12
- var _variableAgainstTerm = /*#__PURE__*/ _interop_require_default(require("../../verify/variableAgainstTerm"));
13
- var _metavariableAgainstStatement = /*#__PURE__*/ _interop_require_default(require("../../verify/metavariableAgainstStatement"));
14
- var _query = require("../../utilities/query");
15
- var _verifier = require("../../utilities/verifier");
16
- function _assert_this_initialized(self) {
17
- if (self === void 0) {
18
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
19
- }
20
- return self;
21
- }
22
- function _call_super(_this, derived, args) {
23
- derived = _get_prototype_of(derived);
24
- return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
25
- }
26
- function _class_call_check(instance, Constructor) {
27
- if (!(instance instanceof Constructor)) {
28
- throw new TypeError("Cannot call a class as a function");
29
- }
30
- }
31
- function _defineProperties(target, props) {
32
- for(var i = 0; i < props.length; i++){
33
- var descriptor = props[i];
34
- descriptor.enumerable = descriptor.enumerable || false;
35
- descriptor.configurable = true;
36
- if ("value" in descriptor) descriptor.writable = true;
37
- Object.defineProperty(target, descriptor.key, descriptor);
38
- }
39
- }
40
- function _create_class(Constructor, protoProps, staticProps) {
41
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
42
- if (staticProps) _defineProperties(Constructor, staticProps);
43
- return Constructor;
44
- }
45
- function _get(target, property, receiver) {
46
- if (typeof Reflect !== "undefined" && Reflect.get) {
47
- _get = Reflect.get;
48
- } else {
49
- _get = function get(target, property, receiver) {
50
- var base = _super_prop_base(target, property);
51
- if (!base) return;
52
- var desc = Object.getOwnPropertyDescriptor(base, property);
53
- if (desc.get) {
54
- return desc.get.call(receiver || target);
55
- }
56
- return desc.value;
57
- };
58
- }
59
- return _get(target, property, receiver || target);
60
- }
61
- function _get_prototype_of(o) {
62
- _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
63
- return o.__proto__ || Object.getPrototypeOf(o);
64
- };
65
- return _get_prototype_of(o);
66
- }
67
- function _inherits(subClass, superClass) {
68
- if (typeof superClass !== "function" && superClass !== null) {
69
- throw new TypeError("Super expression must either be null or a function");
70
- }
71
- subClass.prototype = Object.create(superClass && superClass.prototype, {
72
- constructor: {
73
- value: subClass,
74
- writable: true,
75
- configurable: true
76
- }
77
- });
78
- if (superClass) _set_prototype_of(subClass, superClass);
79
- }
80
- function _interop_require_default(obj) {
81
- return obj && obj.__esModule ? obj : {
82
- default: obj
83
- };
84
- }
85
- function _possible_constructor_return(self, call) {
86
- if (call && (_type_of(call) === "object" || typeof call === "function")) {
87
- return call;
88
- }
89
- return _assert_this_initialized(self);
90
- }
91
- function _set_prototype_of(o, p) {
92
- _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
93
- o.__proto__ = p;
94
- return o;
95
- };
96
- return _set_prototype_of(o, p);
97
- }
98
- function _super_prop_base(object, property) {
99
- while(!Object.prototype.hasOwnProperty.call(object, property)){
100
- object = _get_prototype_of(object);
101
- if (object === null) break;
102
- }
103
- return object;
104
- }
105
- function _type_of(obj) {
106
- "@swc/helpers - typeof";
107
- return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
108
- }
109
- function _is_native_reflect_construct() {
110
- try {
111
- var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
112
- } catch (_) {}
113
- return (_is_native_reflect_construct = function() {
114
- return !!result;
115
- })();
116
- }
117
- var termNodeQuery = (0, _query.nodeQuery)("/term!"), statementNodeQuery = (0, _query.nodeQuery)("/statement!"), nonTerminalNodeQuery = (0, _query.nodeQuery)("/*"), termVariableNodeQuery = (0, _query.nodeQuery)("/term/variable!"), metaArgumentStatementNodeQuery = (0, _query.nodeQuery)("/metaArgument/statement!"), statementMetavariableNodeQuery = (0, _query.nodeQuery)("/statement/metavariable!"), statementSubstitutionNodeQuery = (0, _query.nodeQuery)("/statement/substitution");
118
- var IntrinsicLevelAgainstMetaLevelNodesVerifier = /*#__PURE__*/ function(NodesVerifier) {
119
- _inherits(IntrinsicLevelAgainstMetaLevelNodesVerifier, NodesVerifier);
120
- function IntrinsicLevelAgainstMetaLevelNodesVerifier() {
121
- _class_call_check(this, IntrinsicLevelAgainstMetaLevelNodesVerifier);
122
- return _call_super(this, IntrinsicLevelAgainstMetaLevelNodesVerifier, arguments);
123
- }
124
- _create_class(IntrinsicLevelAgainstMetaLevelNodesVerifier, [
125
- {
126
- key: "verifyNonTerminalNode",
127
- value: function verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, verifyAhead) {
128
- var _this = this;
129
- var nonTerminalNodeVerified;
130
- var nodeQueryMaps = [
131
- {
132
- nodeQueryA: statementMetavariableNodeQuery,
133
- nodeQueryB: metaArgumentStatementNodeQuery,
134
- verifyNodes: function(nodeA, nodeB, substitutions, localContextA, localContextB, verifyAhead) {
135
- var nonTerminalNodeVerified;
136
- var metaArgumentStatementNodeB = nodeB, statementMetavariableNodeA = nodeA, statementSubstitutionNodeA = statementSubstitutionNodeQuery(nonTerminalNodeA), statementMetavariableNodeVerifiedAgainstMetaArgumentStatementNode = _this.verifyStatementMetavariableNodeAgainstMetaArgumentStatementNode(statementMetavariableNodeA, metaArgumentStatementNodeB, statementSubstitutionNodeA, substitutions, localContextA, localContextB, verifyAhead);
137
- nonTerminalNodeVerified = statementMetavariableNodeVerifiedAgainstMetaArgumentStatementNode; ///
138
- return nonTerminalNodeVerified;
139
- }
140
- },
141
- {
142
- nodeQueryA: statementMetavariableNodeQuery,
143
- nodeQueryB: statementNodeQuery,
144
- verifyNodes: function(nodeA, nodeB, substitutions, localContextA, localContextB, verifyAhead) {
145
- var nonTerminalNodeVerified;
146
- var statementNodeB = nodeB, statementMetavariableNodeA = nodeA, statementSubstitutionNodeA = statementSubstitutionNodeQuery(nonTerminalNodeA), statementMetavariableNodeVerifiedAgainstStatementNode = _this.verifyStatementMetavariableNodeAgainstStatementNode(statementMetavariableNodeA, statementNodeB, statementSubstitutionNodeA, substitutions, localContextA, localContextB, verifyAhead);
147
- nonTerminalNodeVerified = statementMetavariableNodeVerifiedAgainstStatementNode; ///
148
- return nonTerminalNodeVerified;
149
- }
150
- },
151
- {
152
- nodeQueryA: statementNodeQuery,
153
- nodeQueryB: statementNodeQuery,
154
- verifyNodes: function(nodeA, nodeB, substitutions, localContextA, localContextB, verifyAhead) {
155
- var nonTerminalNodeVerified;
156
- var statementNodeB = nodeB, statementNodeA = nodeA, statementNodeVerifiedAgainstStatementNode = _this.verifyStatementNodeAgainstStatementNode(statementNodeA, statementNodeB, substitutions, localContextA, localContextB, verifyAhead);
157
- nonTerminalNodeVerified = statementNodeVerifiedAgainstStatementNode; ///
158
- return nonTerminalNodeVerified;
159
- }
160
- },
161
- {
162
- nodeQueryA: termVariableNodeQuery,
163
- nodeQueryB: termNodeQuery,
164
- verifyNodes: function(nodeA, nodeB, substitutions, localContextA, localContextB, verifyAhead) {
165
- var nonTerminalNodeVerified;
166
- var termNodeB = nodeB, termVariableNodeA = nodeA, termVariableNodeVerifiedAgainstTermNode = _this.verifyTermVariableNodeAgainstTermNode(termVariableNodeA, termNodeB, substitutions, localContextA, localContextB, verifyAhead);
167
- nonTerminalNodeVerified = termVariableNodeVerifiedAgainstTermNode; ///
168
- return nonTerminalNodeVerified;
169
- }
170
- },
171
- {
172
- nodeQueryA: nonTerminalNodeQuery,
173
- nodeQueryB: nonTerminalNodeQuery,
174
- verifyNodes: function(nodeA, nodeB, substitutions, localContextA, localContextB, verifyAhead) {
175
- var nonTerminalNodeVerified;
176
- var _$nonTerminalNodeA = nodeA, _$nonTerminalNodeB = nodeB; ///
177
- nonTerminalNodeVerified = _get(_get_prototype_of(IntrinsicLevelAgainstMetaLevelNodesVerifier.prototype), "verifyNonTerminalNode", _this).call(_this, _$nonTerminalNodeA, _$nonTerminalNodeB, substitutions, localContextA, localContextB, verifyAhead);
178
- return nonTerminalNodeVerified;
179
- }
180
- }
181
- ];
182
- var nodesVerified = (0, _verifier.verifyNodes)(nodeQueryMaps, nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, verifyAhead);
183
- nonTerminalNodeVerified = nodesVerified; ///
184
- return nonTerminalNodeVerified;
185
- }
186
- },
187
- {
188
- key: "verifyStatementMetavariableNodeAgainstMetaArgumentStatementNode",
189
- value: function verifyStatementMetavariableNodeAgainstMetaArgumentStatementNode(statementMetavariableNodeA, metaArgumentStatementNodeB, statementSubstitutionNodeA, substitutions, localContextA, localContextB, verifyAhead) {
190
- var statementMetavariableNodeVerifiedAgainstMetaArgumentStatementNode;
191
- var statementNodeB = metaArgumentStatementNodeB, substitutionNode = statementSubstitutionNodeA, metavariableNodeA = statementMetavariableNodeA, metavariableVerifiedAgainstStatement = (0, _metavariableAgainstStatement.default)(metavariableNodeA, statementNodeB, substitutionNode, substitutions, localContextA, localContextB, verifyAhead);
192
- statementMetavariableNodeVerifiedAgainstMetaArgumentStatementNode = metavariableVerifiedAgainstStatement; ///
193
- return statementMetavariableNodeVerifiedAgainstMetaArgumentStatementNode;
194
- }
195
- },
196
- {
197
- key: "verifyStatementMetavariableNodeAgainstStatementNode",
198
- value: function verifyStatementMetavariableNodeAgainstStatementNode(statementMetavariableNodeA, statementNodeB, statementSubstitutionNodeA, substitutions, localContextA, localContextB, verifyAhead) {
199
- var statementMetavariableNodeVerifiedAgainstStatementNode;
200
- var substitutionNode = statementSubstitutionNodeA, metavariableNodeA = statementMetavariableNodeA, metavariableVerifiedAgainstStatement = (0, _metavariableAgainstStatement.default)(metavariableNodeA, statementNodeB, substitutionNode, substitutions, localContextA, localContextB, verifyAhead);
201
- statementMetavariableNodeVerifiedAgainstStatementNode = metavariableVerifiedAgainstStatement; ///
202
- return statementMetavariableNodeVerifiedAgainstStatementNode;
203
- }
204
- },
205
- {
206
- key: "verifyStatementNodeAgainstStatementNode",
207
- value: function verifyStatementNodeAgainstStatementNode(statementNodeA, statementNodeB, substitutions, localContextA, localContextB, verifyAhead) {
208
- var statementNodeVerifiedAgainstStatementNode;
209
- var nonTerminalNodeA = statementNodeA, nonTerminalNodeB = statementNodeB, nonTerminalNodeAChildNodes = nonTerminalNodeA.getChildNodes(), nonTerminalNodeBChildNodes = nonTerminalNodeB.getChildNodes(), childNodesA = nonTerminalNodeAChildNodes, childNodesB = nonTerminalNodeBChildNodes, childNodesVerified = this.verifyChildNodes(childNodesA, childNodesB, substitutions, localContextA, localContextB, verifyAhead);
210
- statementNodeVerifiedAgainstStatementNode = childNodesVerified; ///
211
- return statementNodeVerifiedAgainstStatementNode;
212
- }
213
- },
214
- {
215
- key: "verifyTermVariableNodeAgainstTermNode",
216
- value: function verifyTermVariableNodeAgainstTermNode(termVariableNodeA, termNodeB, substitutions, localContextA, localContextB, verifyAhead) {
217
- var termVariableNodeVerifiedAgainstTermNode;
218
- var variableNodeA = termVariableNodeA, termVerifiedAgainstVariable = (0, _variableAgainstTerm.default)(variableNodeA, termNodeB, substitutions, localContextA, localContextB, verifyAhead);
219
- termVariableNodeVerifiedAgainstTermNode = termVerifiedAgainstVariable; ///
220
- return termVariableNodeVerifiedAgainstTermNode;
221
- }
222
- }
223
- ]);
224
- return IntrinsicLevelAgainstMetaLevelNodesVerifier;
225
- }(_nodes.default);
226
- var intrinsicLevelAgainstMetaLevelNodesVerifier = new IntrinsicLevelAgainstMetaLevelNodesVerifier();
227
- var _default = intrinsicLevelAgainstMetaLevelNodesVerifier;
228
-
229
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZmllci9ub2Rlcy9pbnRyaW5zaWNMZXZlbEFnYWluc3RNZXRhTGV2ZWwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBOb2Rlc1ZlcmlmaWVyIGZyb20gXCIuLi8uLi92ZXJpZmllci9ub2Rlc1wiO1xuaW1wb3J0IHZlcmlmeVZhcmlhYmxlQWdhaW5zdFRlcm0gZnJvbSBcIi4uLy4uL3ZlcmlmeS92YXJpYWJsZUFnYWluc3RUZXJtXCI7XG5pbXBvcnQgdmVyaWZ5TWV0YXZhcmlhYmxlQWdhaW5zdFN0YXRlbWVudCBmcm9tIFwiLi4vLi4vdmVyaWZ5L21ldGF2YXJpYWJsZUFnYWluc3RTdGF0ZW1lbnRcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgdmVyaWZ5Tm9kZXMgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3ZlcmlmaWVyXCI7XG5cbmNvbnN0IHRlcm1Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdGVybSFcIiksXG4gICAgICBzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3RhdGVtZW50IVwiKSxcbiAgICAgIG5vblRlcm1pbmFsTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiLypcIiksXG4gICAgICB0ZXJtVmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdGVybS92YXJpYWJsZSFcIiksXG4gICAgICBtZXRhQXJndW1lbnRTdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YUFyZ3VtZW50L3N0YXRlbWVudCFcIiksXG4gICAgICBzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3RhdGVtZW50L21ldGF2YXJpYWJsZSFcIiksXG4gICAgICBzdGF0ZW1lbnRTdWJzdGl0dXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3RhdGVtZW50L3N1YnN0aXR1dGlvblwiKTtcblxuY2xhc3MgSW50cmluc2ljTGV2ZWxBZ2FpbnN0TWV0YUxldmVsTm9kZXNWZXJpZmllciBleHRlbmRzIE5vZGVzVmVyaWZpZXIge1xuICB2ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpIHtcbiAgICBsZXQgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7XG5cbiAgICBjb25zdCBub2RlUXVlcnlNYXBzID0gW1xuICAgICAge1xuICAgICAgICBub2RlUXVlcnlBOiBzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlUXVlcnksXG4gICAgICAgIG5vZGVRdWVyeUI6IG1ldGFBcmd1bWVudFN0YXRlbWVudE5vZGVRdWVyeSxcbiAgICAgICAgdmVyaWZ5Tm9kZXM6IChub2RlQSwgbm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKSA9PiB7XG4gICAgICAgICAgbGV0IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkO1xuXG4gICAgICAgICAgY29uc3QgbWV0YUFyZ3VtZW50U3RhdGVtZW50Tm9kZUIgPSBub2RlQiwgIC8vL1xuICAgICAgICAgICAgICAgIHN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVBID0gbm9kZUEsIC8vL1xuICAgICAgICAgICAgICAgIHN0YXRlbWVudFN1YnN0aXR1dGlvbk5vZGVBID0gc3RhdGVtZW50U3Vic3RpdHV0aW9uTm9kZVF1ZXJ5KG5vblRlcm1pbmFsTm9kZUEpLFxuICAgICAgICAgICAgICAgIHN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZEFnYWluc3RNZXRhQXJndW1lbnRTdGF0ZW1lbnROb2RlID1cblxuICAgICAgICAgICAgICAgICAgdGhpcy52ZXJpZnlTdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlQWdhaW5zdE1ldGFBcmd1bWVudFN0YXRlbWVudE5vZGUoc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZUEsIG1ldGFBcmd1bWVudFN0YXRlbWVudE5vZGVCLCBzdGF0ZW1lbnRTdWJzdGl0dXRpb25Ob2RlQSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlVmVyaWZpZWRBZ2FpbnN0TWV0YUFyZ3VtZW50U3RhdGVtZW50Tm9kZTsgIC8vL1xuXG4gICAgICAgICAgcmV0dXJuIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBub2RlUXVlcnlBOiBzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlUXVlcnksXG4gICAgICAgIG5vZGVRdWVyeUI6IHN0YXRlbWVudE5vZGVRdWVyeSxcbiAgICAgICAgdmVyaWZ5Tm9kZXM6IChub2RlQSwgbm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKSA9PiB7XG4gICAgICAgICAgbGV0IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkO1xuXG4gICAgICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZUIgPSBub2RlQiwgIC8vL1xuICAgICAgICAgICAgICAgIHN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVBID0gbm9kZUEsIC8vL1xuICAgICAgICAgICAgICAgIHN0YXRlbWVudFN1YnN0aXR1dGlvbk5vZGVBID0gc3RhdGVtZW50U3Vic3RpdHV0aW9uTm9kZVF1ZXJ5KG5vblRlcm1pbmFsTm9kZUEpLFxuICAgICAgICAgICAgICAgIHN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZEFnYWluc3RTdGF0ZW1lbnROb2RlID1cblxuICAgICAgICAgICAgICAgICAgdGhpcy52ZXJpZnlTdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlQWdhaW5zdFN0YXRlbWVudE5vZGUoc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZUEsIHN0YXRlbWVudE5vZGVCLCBzdGF0ZW1lbnRTdWJzdGl0dXRpb25Ob2RlQSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlVmVyaWZpZWRBZ2FpbnN0U3RhdGVtZW50Tm9kZTsgIC8vL1xuXG4gICAgICAgICAgcmV0dXJuIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBub2RlUXVlcnlBOiBzdGF0ZW1lbnROb2RlUXVlcnksXG4gICAgICAgIG5vZGVRdWVyeUI6IHN0YXRlbWVudE5vZGVRdWVyeSxcbiAgICAgICAgdmVyaWZ5Tm9kZXM6IChub2RlQSwgbm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKSA9PiB7XG4gICAgICAgICAgbGV0IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkO1xuXG4gICAgICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZUIgPSBub2RlQiwgIC8vL1xuICAgICAgICAgICAgICAgIHN0YXRlbWVudE5vZGVBID0gbm9kZUEsIC8vL1xuICAgICAgICAgICAgICAgIHN0YXRlbWVudE5vZGVWZXJpZmllZEFnYWluc3RTdGF0ZW1lbnROb2RlID1cblxuICAgICAgICAgICAgICAgICAgdGhpcy52ZXJpZnlTdGF0ZW1lbnROb2RlQWdhaW5zdFN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZUEsIHN0YXRlbWVudE5vZGVCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCk7XG5cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IHN0YXRlbWVudE5vZGVWZXJpZmllZEFnYWluc3RTdGF0ZW1lbnROb2RlOyAgLy8vXG5cbiAgICAgICAgICByZXR1cm4gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5vZGVRdWVyeUE6IHRlcm1WYXJpYWJsZU5vZGVRdWVyeSxcbiAgICAgICAgbm9kZVF1ZXJ5QjogdGVybU5vZGVRdWVyeSxcbiAgICAgICAgdmVyaWZ5Tm9kZXM6IChub2RlQSwgbm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKSA9PiB7XG4gICAgICAgICAgbGV0IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkO1xuXG4gICAgICAgICAgY29uc3QgdGVybU5vZGVCID0gbm9kZUIsICAvLy9cbiAgICAgICAgICAgICAgICB0ZXJtVmFyaWFibGVOb2RlQSA9IG5vZGVBLCAgLy8vXG4gICAgICAgICAgICAgICAgdGVybVZhcmlhYmxlTm9kZVZlcmlmaWVkQWdhaW5zdFRlcm1Ob2RlID1cblxuICAgICAgICAgICAgICAgICAgdGhpcy52ZXJpZnlUZXJtVmFyaWFibGVOb2RlQWdhaW5zdFRlcm1Ob2RlKHRlcm1WYXJpYWJsZU5vZGVBLCB0ZXJtTm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKTtcblxuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gdGVybVZhcmlhYmxlTm9kZVZlcmlmaWVkQWdhaW5zdFRlcm1Ob2RlOyAgLy8vXG5cbiAgICAgICAgICByZXR1cm4gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5vZGVRdWVyeUE6IG5vblRlcm1pbmFsTm9kZVF1ZXJ5LFxuICAgICAgICBub2RlUXVlcnlCOiBub25UZXJtaW5hbE5vZGVRdWVyeSxcbiAgICAgICAgdmVyaWZ5Tm9kZXM6IChub2RlQSwgbm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKSA9PiB7XG4gICAgICAgICAgbGV0IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkO1xuXG4gICAgICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQSA9IG5vZGVBLCAvLy9cbiAgICAgICAgICAgICAgICBub25UZXJtaW5hbE5vZGVCID0gbm9kZUI7IC8vL1xuXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPVxuXG4gICAgICAgICAgICBzdXBlci52ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICAgICAgcmV0dXJuIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgXTtcblxuICAgIGNvbnN0IG5vZGVzVmVyaWZpZWQgPSB2ZXJpZnlOb2Rlcyhub2RlUXVlcnlNYXBzLCBub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCk7XG5cbiAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IG5vZGVzVmVyaWZpZWQ7ICAvLy9cblxuICAgIHJldHVybiBub25UZXJtaW5hbE5vZGVWZXJpZmllZDtcbiAgfVxuXG4gIHZlcmlmeVN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVBZ2FpbnN0TWV0YUFyZ3VtZW50U3RhdGVtZW50Tm9kZShzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlQSwgbWV0YUFyZ3VtZW50U3RhdGVtZW50Tm9kZUIsIHN0YXRlbWVudFN1YnN0aXR1dGlvbk5vZGVBLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCLCB2ZXJpZnlBaGVhZCkge1xuICAgIGxldCBzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlVmVyaWZpZWRBZ2FpbnN0TWV0YUFyZ3VtZW50U3RhdGVtZW50Tm9kZTtcblxuICAgIGNvbnN0IHN0YXRlbWVudE5vZGVCID0gbWV0YUFyZ3VtZW50U3RhdGVtZW50Tm9kZUIsIC8vL1xuICAgICAgICAgIHN1YnN0aXR1dGlvbk5vZGUgPSBzdGF0ZW1lbnRTdWJzdGl0dXRpb25Ob2RlQSwgIC8vL1xuICAgICAgICAgIG1ldGF2YXJpYWJsZU5vZGVBID0gc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZUEsICAvLy9cbiAgICAgICAgICBtZXRhdmFyaWFibGVWZXJpZmllZEFnYWluc3RTdGF0ZW1lbnQgPSB2ZXJpZnlNZXRhdmFyaWFibGVBZ2FpbnN0U3RhdGVtZW50KG1ldGF2YXJpYWJsZU5vZGVBLCBzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9uTm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpXG5cbiAgICBzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlVmVyaWZpZWRBZ2FpbnN0TWV0YUFyZ3VtZW50U3RhdGVtZW50Tm9kZSA9IG1ldGF2YXJpYWJsZVZlcmlmaWVkQWdhaW5zdFN0YXRlbWVudDsgLy8vXG5cbiAgICByZXR1cm4gc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkQWdhaW5zdE1ldGFBcmd1bWVudFN0YXRlbWVudE5vZGU7XG4gIH1cblxuICB2ZXJpZnlTdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlQWdhaW5zdFN0YXRlbWVudE5vZGUoc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZUEsIHN0YXRlbWVudE5vZGVCLCBzdGF0ZW1lbnRTdWJzdGl0dXRpb25Ob2RlQSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpIHtcbiAgICBsZXQgc3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkQWdhaW5zdFN0YXRlbWVudE5vZGU7XG5cbiAgICBjb25zdCBzdWJzdGl0dXRpb25Ob2RlID0gc3RhdGVtZW50U3Vic3RpdHV0aW9uTm9kZUEsICAvLy9cbiAgICAgICAgICBtZXRhdmFyaWFibGVOb2RlQSA9IHN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVBLCAgLy8vXG4gICAgICAgICAgbWV0YXZhcmlhYmxlVmVyaWZpZWRBZ2FpbnN0U3RhdGVtZW50ID0gdmVyaWZ5TWV0YXZhcmlhYmxlQWdhaW5zdFN0YXRlbWVudChtZXRhdmFyaWFibGVOb2RlQSwgc3RhdGVtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbk5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKTtcblxuICAgIHN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZEFnYWluc3RTdGF0ZW1lbnROb2RlID0gbWV0YXZhcmlhYmxlVmVyaWZpZWRBZ2FpbnN0U3RhdGVtZW50OyAvLy9cblxuICAgIHJldHVybiBzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlVmVyaWZpZWRBZ2FpbnN0U3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIHZlcmlmeVN0YXRlbWVudE5vZGVBZ2FpbnN0U3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlQSwgc3RhdGVtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKSB7XG4gICAgbGV0IHN0YXRlbWVudE5vZGVWZXJpZmllZEFnYWluc3RTdGF0ZW1lbnROb2RlO1xuXG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQSA9IHN0YXRlbWVudE5vZGVBLCAgLy8vXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlQiA9IHN0YXRlbWVudE5vZGVCLCAgLy8vXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGVBLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVCQ2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZUIuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIGNoaWxkTm9kZXNBID0gbm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgIGNoaWxkTm9kZXNCID0gbm9uVGVybWluYWxOb2RlQkNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgIGNoaWxkTm9kZXNWZXJpZmllZCA9IHRoaXMudmVyaWZ5Q2hpbGROb2RlcyhjaGlsZE5vZGVzQSwgY2hpbGROb2Rlc0IsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsIHZlcmlmeUFoZWFkKTtcblxuICAgIHN0YXRlbWVudE5vZGVWZXJpZmllZEFnYWluc3RTdGF0ZW1lbnROb2RlID0gY2hpbGROb2Rlc1ZlcmlmaWVkOyAvLy9cblxuICAgIHJldHVybiBzdGF0ZW1lbnROb2RlVmVyaWZpZWRBZ2FpbnN0U3RhdGVtZW50Tm9kZTtcbiAgfVxuXG4gIHZlcmlmeVRlcm1WYXJpYWJsZU5vZGVBZ2FpbnN0VGVybU5vZGUodGVybVZhcmlhYmxlTm9kZUEsIHRlcm1Ob2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpIHtcbiAgICBsZXQgdGVybVZhcmlhYmxlTm9kZVZlcmlmaWVkQWdhaW5zdFRlcm1Ob2RlO1xuXG4gICAgY29uc3QgdmFyaWFibGVOb2RlQSA9IHRlcm1WYXJpYWJsZU5vZGVBLCAvLy9cbiAgICAgICAgICB0ZXJtVmVyaWZpZWRBZ2FpbnN0VmFyaWFibGUgPSB2ZXJpZnlWYXJpYWJsZUFnYWluc3RUZXJtKHZhcmlhYmxlTm9kZUEsIHRlcm1Ob2RlQiwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0QSwgbG9jYWxDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgdGVybVZhcmlhYmxlTm9kZVZlcmlmaWVkQWdhaW5zdFRlcm1Ob2RlID0gdGVybVZlcmlmaWVkQWdhaW5zdFZhcmlhYmxlOyAgLy8vXG5cbiAgICByZXR1cm4gdGVybVZhcmlhYmxlTm9kZVZlcmlmaWVkQWdhaW5zdFRlcm1Ob2RlO1xuICB9XG59XG5cbmNvbnN0IGludHJpbnNpY0xldmVsQWdhaW5zdE1ldGFMZXZlbE5vZGVzVmVyaWZpZXIgPSBuZXcgSW50cmluc2ljTGV2ZWxBZ2FpbnN0TWV0YUxldmVsTm9kZXNWZXJpZmllcigpO1xuXG5leHBvcnQgZGVmYXVsdCBpbnRyaW5zaWNMZXZlbEFnYWluc3RNZXRhTGV2ZWxOb2Rlc1ZlcmlmaWVyO1xuIl0sIm5hbWVzIjpbInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJzdGF0ZW1lbnROb2RlUXVlcnkiLCJub25UZXJtaW5hbE5vZGVRdWVyeSIsInRlcm1WYXJpYWJsZU5vZGVRdWVyeSIsIm1ldGFBcmd1bWVudFN0YXRlbWVudE5vZGVRdWVyeSIsInN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVRdWVyeSIsInN0YXRlbWVudFN1YnN0aXR1dGlvbk5vZGVRdWVyeSIsIkludHJpbnNpY0xldmVsQWdhaW5zdE1ldGFMZXZlbE5vZGVzVmVyaWZpZXIiLCJ2ZXJpZnlOb25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGVBIiwibm9uVGVybWluYWxOb2RlQiIsInN1YnN0aXR1dGlvbnMiLCJsb2NhbENvbnRleHRBIiwibG9jYWxDb250ZXh0QiIsInZlcmlmeUFoZWFkIiwibm9uVGVybWluYWxOb2RlVmVyaWZpZWQiLCJub2RlUXVlcnlNYXBzIiwibm9kZVF1ZXJ5QSIsIm5vZGVRdWVyeUIiLCJ2ZXJpZnlOb2RlcyIsIm5vZGVBIiwibm9kZUIiLCJtZXRhQXJndW1lbnRTdGF0ZW1lbnROb2RlQiIsInN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVBIiwic3RhdGVtZW50U3Vic3RpdHV0aW9uTm9kZUEiLCJzdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlVmVyaWZpZWRBZ2FpbnN0TWV0YUFyZ3VtZW50U3RhdGVtZW50Tm9kZSIsInZlcmlmeVN0YXRlbWVudE1ldGF2YXJpYWJsZU5vZGVBZ2FpbnN0TWV0YUFyZ3VtZW50U3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudE5vZGVCIiwic3RhdGVtZW50TWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkQWdhaW5zdFN0YXRlbWVudE5vZGUiLCJ2ZXJpZnlTdGF0ZW1lbnRNZXRhdmFyaWFibGVOb2RlQWdhaW5zdFN0YXRlbWVudE5vZGUiLCJzdGF0ZW1lbnROb2RlQSIsInN0YXRlbWVudE5vZGVWZXJpZmllZEFnYWluc3RTdGF0ZW1lbnROb2RlIiwidmVyaWZ5U3RhdGVtZW50Tm9kZUFnYWluc3RTdGF0ZW1lbnROb2RlIiwidGVybU5vZGVCIiwidGVybVZhcmlhYmxlTm9kZUEiLCJ0ZXJtVmFyaWFibGVOb2RlVmVyaWZpZWRBZ2FpbnN0VGVybU5vZGUiLCJ2ZXJpZnlUZXJtVmFyaWFibGVOb2RlQWdhaW5zdFRlcm1Ob2RlIiwibm9kZXNWZXJpZmllZCIsInN1YnN0aXR1dGlvbk5vZGUiLCJtZXRhdmFyaWFibGVOb2RlQSIsIm1ldGF2YXJpYWJsZVZlcmlmaWVkQWdhaW5zdFN0YXRlbWVudCIsInZlcmlmeU1ldGF2YXJpYWJsZUFnYWluc3RTdGF0ZW1lbnQiLCJub25UZXJtaW5hbE5vZGVBQ2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJub25UZXJtaW5hbE5vZGVCQ2hpbGROb2RlcyIsImNoaWxkTm9kZXNBIiwiY2hpbGROb2Rlc0IiLCJjaGlsZE5vZGVzVmVyaWZpZWQiLCJ2ZXJpZnlDaGlsZE5vZGVzIiwidmFyaWFibGVOb2RlQSIsInRlcm1WZXJpZmllZEFnYWluc3RWYXJpYWJsZSIsInZlcmlmeVZhcmlhYmxlQWdhaW5zdFRlcm0iLCJOb2Rlc1ZlcmlmaWVyIiwiaW50cmluc2ljTGV2ZWxBZ2FpbnN0TWV0YUxldmVsTm9kZXNWZXJpZmllciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBNEtBOzs7ZUFB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
@@ -1,74 +0,0 @@
1
- "use strict";
2
-
3
- import NodesVerifier from "../../verifier/nodes";
4
- import verifyVariableAgainstTerm from "../../verify/variableAgainstTerm";
5
-
6
- import { nodeQuery } from "../../utilities/query";
7
- import { verifyNodes } from "../../utilities/verifier";
8
-
9
- const termNodeQuery = nodeQuery("/term!"),
10
- nonTerminalNodeQuery = nodeQuery("/*"),
11
- termVariableNodeQuery = nodeQuery("/term/variable!");
12
-
13
- class IntrinsicLevelNodesVerifier extends NodesVerifier {
14
- verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, verifyAhead) {
15
- let nonTerminalNodeVerified;
16
-
17
- const nodeQueryMaps = [
18
- {
19
- nodeQueryA: termVariableNodeQuery,
20
- nodeQueryB: termNodeQuery,
21
- verifyNodes: (nodeA, nodeB, substitutions, localContextA, localContextB, verifyAhead) => {
22
- let nonTerminalNodeVerified;
23
-
24
- const termNodeB = nodeB, ///
25
- termVariableNodeA = nodeA, ///
26
- termVariableNodeVerifiedAgainstTermNode =
27
-
28
- this.verifyTermVariableNodeAgainstTermNode(termVariableNodeA, termNodeB, substitutions, localContextA, localContextB, verifyAhead);
29
-
30
- nonTerminalNodeVerified = termVariableNodeVerifiedAgainstTermNode; ///
31
-
32
- return nonTerminalNodeVerified;
33
- }
34
- },
35
- {
36
- nodeQueryA: nonTerminalNodeQuery,
37
- nodeQueryB: nonTerminalNodeQuery,
38
- verifyNodes: (nodeA, nodeB, substitutions, localContextA, localContextB, verifyAhead) => {
39
- let nonTerminalNodeVerified;
40
-
41
- const nonTerminalNodeA = nodeA, ///
42
- nonTerminalNodeB = nodeB; ///
43
-
44
- nonTerminalNodeVerified =
45
-
46
- super.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, verifyAhead);
47
-
48
- return nonTerminalNodeVerified;
49
- }
50
- }
51
- ];
52
-
53
- const nodesVerified = verifyNodes(nodeQueryMaps, nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, verifyAhead);
54
-
55
- nonTerminalNodeVerified = nodesVerified; ///
56
-
57
- return nonTerminalNodeVerified;
58
- }
59
-
60
- verifyTermVariableNodeAgainstTermNode(termVariableNodeA, termNodeB, substitutions, localContextA, localContextB, verifyAhead) {
61
- let termVariableNodeVerifiedAgainstTermNode;
62
-
63
- const variableNodeA = termVariableNodeA, ///
64
- termVerifiedAgainstVariable = verifyVariableAgainstTerm(variableNodeA, termNodeB, substitutions, localContextA, localContextB, verifyAhead);
65
-
66
- termVariableNodeVerifiedAgainstTermNode = termVerifiedAgainstVariable; ///
67
-
68
- return termVariableNodeVerifiedAgainstTermNode;
69
- }
70
- }
71
-
72
- const intrinsicLevelNodesVerifier = new IntrinsicLevelNodesVerifier();
73
-
74
- export default intrinsicLevelNodesVerifier;
@@ -1,173 +0,0 @@
1
- "use strict";
2
-
3
- import NodesVerifier from "../../verifier/nodes";
4
- import verifyVariableAgainstTerm from "../../verify/variableAgainstTerm";
5
- import verifyMetavariableAgainstStatement from "../../verify/metavariableAgainstStatement";
6
-
7
- import { nodeQuery } from "../../utilities/query";
8
- import { verifyNodes } from "../../utilities/verifier";
9
-
10
- const termNodeQuery = nodeQuery("/term!"),
11
- statementNodeQuery = nodeQuery("/statement!"),
12
- nonTerminalNodeQuery = nodeQuery("/*"),
13
- termVariableNodeQuery = nodeQuery("/term/variable!"),
14
- metaArgumentStatementNodeQuery = nodeQuery("/metaArgument/statement!"),
15
- statementMetavariableNodeQuery = nodeQuery("/statement/metavariable!"),
16
- statementSubstitutionNodeQuery = nodeQuery("/statement/substitution");
17
-
18
- class IntrinsicLevelAgainstMetaLevelNodesVerifier extends NodesVerifier {
19
- verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, verifyAhead) {
20
- let nonTerminalNodeVerified;
21
-
22
- const nodeQueryMaps = [
23
- {
24
- nodeQueryA: statementMetavariableNodeQuery,
25
- nodeQueryB: metaArgumentStatementNodeQuery,
26
- verifyNodes: (nodeA, nodeB, substitutions, localContextA, localContextB, verifyAhead) => {
27
- let nonTerminalNodeVerified;
28
-
29
- const metaArgumentStatementNodeB = nodeB, ///
30
- statementMetavariableNodeA = nodeA, ///
31
- statementSubstitutionNodeA = statementSubstitutionNodeQuery(nonTerminalNodeA),
32
- statementMetavariableNodeVerifiedAgainstMetaArgumentStatementNode =
33
-
34
- this.verifyStatementMetavariableNodeAgainstMetaArgumentStatementNode(statementMetavariableNodeA, metaArgumentStatementNodeB, statementSubstitutionNodeA, substitutions, localContextA, localContextB, verifyAhead);
35
-
36
- nonTerminalNodeVerified = statementMetavariableNodeVerifiedAgainstMetaArgumentStatementNode; ///
37
-
38
- return nonTerminalNodeVerified;
39
- }
40
- },
41
- {
42
- nodeQueryA: statementMetavariableNodeQuery,
43
- nodeQueryB: statementNodeQuery,
44
- verifyNodes: (nodeA, nodeB, substitutions, localContextA, localContextB, verifyAhead) => {
45
- let nonTerminalNodeVerified;
46
-
47
- const statementNodeB = nodeB, ///
48
- statementMetavariableNodeA = nodeA, ///
49
- statementSubstitutionNodeA = statementSubstitutionNodeQuery(nonTerminalNodeA),
50
- statementMetavariableNodeVerifiedAgainstStatementNode =
51
-
52
- this.verifyStatementMetavariableNodeAgainstStatementNode(statementMetavariableNodeA, statementNodeB, statementSubstitutionNodeA, substitutions, localContextA, localContextB, verifyAhead);
53
-
54
- nonTerminalNodeVerified = statementMetavariableNodeVerifiedAgainstStatementNode; ///
55
-
56
- return nonTerminalNodeVerified;
57
- }
58
- },
59
- {
60
- nodeQueryA: statementNodeQuery,
61
- nodeQueryB: statementNodeQuery,
62
- verifyNodes: (nodeA, nodeB, substitutions, localContextA, localContextB, verifyAhead) => {
63
- let nonTerminalNodeVerified;
64
-
65
- const statementNodeB = nodeB, ///
66
- statementNodeA = nodeA, ///
67
- statementNodeVerifiedAgainstStatementNode =
68
-
69
- this.verifyStatementNodeAgainstStatementNode(statementNodeA, statementNodeB, substitutions, localContextA, localContextB, verifyAhead);
70
-
71
- nonTerminalNodeVerified = statementNodeVerifiedAgainstStatementNode; ///
72
-
73
- return nonTerminalNodeVerified;
74
- }
75
- },
76
- {
77
- nodeQueryA: termVariableNodeQuery,
78
- nodeQueryB: termNodeQuery,
79
- verifyNodes: (nodeA, nodeB, substitutions, localContextA, localContextB, verifyAhead) => {
80
- let nonTerminalNodeVerified;
81
-
82
- const termNodeB = nodeB, ///
83
- termVariableNodeA = nodeA, ///
84
- termVariableNodeVerifiedAgainstTermNode =
85
-
86
- this.verifyTermVariableNodeAgainstTermNode(termVariableNodeA, termNodeB, substitutions, localContextA, localContextB, verifyAhead);
87
-
88
- nonTerminalNodeVerified = termVariableNodeVerifiedAgainstTermNode; ///
89
-
90
- return nonTerminalNodeVerified;
91
- }
92
- },
93
- {
94
- nodeQueryA: nonTerminalNodeQuery,
95
- nodeQueryB: nonTerminalNodeQuery,
96
- verifyNodes: (nodeA, nodeB, substitutions, localContextA, localContextB, verifyAhead) => {
97
- let nonTerminalNodeVerified;
98
-
99
- const nonTerminalNodeA = nodeA, ///
100
- nonTerminalNodeB = nodeB; ///
101
-
102
- nonTerminalNodeVerified =
103
-
104
- super.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, verifyAhead);
105
-
106
- return nonTerminalNodeVerified;
107
- }
108
- }
109
- ];
110
-
111
- const nodesVerified = verifyNodes(nodeQueryMaps, nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, verifyAhead);
112
-
113
- nonTerminalNodeVerified = nodesVerified; ///
114
-
115
- return nonTerminalNodeVerified;
116
- }
117
-
118
- verifyStatementMetavariableNodeAgainstMetaArgumentStatementNode(statementMetavariableNodeA, metaArgumentStatementNodeB, statementSubstitutionNodeA, substitutions, localContextA, localContextB, verifyAhead) {
119
- let statementMetavariableNodeVerifiedAgainstMetaArgumentStatementNode;
120
-
121
- const statementNodeB = metaArgumentStatementNodeB, ///
122
- substitutionNode = statementSubstitutionNodeA, ///
123
- metavariableNodeA = statementMetavariableNodeA, ///
124
- metavariableVerifiedAgainstStatement = verifyMetavariableAgainstStatement(metavariableNodeA, statementNodeB, substitutionNode, substitutions, localContextA, localContextB, verifyAhead)
125
-
126
- statementMetavariableNodeVerifiedAgainstMetaArgumentStatementNode = metavariableVerifiedAgainstStatement; ///
127
-
128
- return statementMetavariableNodeVerifiedAgainstMetaArgumentStatementNode;
129
- }
130
-
131
- verifyStatementMetavariableNodeAgainstStatementNode(statementMetavariableNodeA, statementNodeB, statementSubstitutionNodeA, substitutions, localContextA, localContextB, verifyAhead) {
132
- let statementMetavariableNodeVerifiedAgainstStatementNode;
133
-
134
- const substitutionNode = statementSubstitutionNodeA, ///
135
- metavariableNodeA = statementMetavariableNodeA, ///
136
- metavariableVerifiedAgainstStatement = verifyMetavariableAgainstStatement(metavariableNodeA, statementNodeB, substitutionNode, substitutions, localContextA, localContextB, verifyAhead);
137
-
138
- statementMetavariableNodeVerifiedAgainstStatementNode = metavariableVerifiedAgainstStatement; ///
139
-
140
- return statementMetavariableNodeVerifiedAgainstStatementNode;
141
- }
142
-
143
- verifyStatementNodeAgainstStatementNode(statementNodeA, statementNodeB, substitutions, localContextA, localContextB, verifyAhead) {
144
- let statementNodeVerifiedAgainstStatementNode;
145
-
146
- const nonTerminalNodeA = statementNodeA, ///
147
- nonTerminalNodeB = statementNodeB, ///
148
- nonTerminalNodeAChildNodes = nonTerminalNodeA.getChildNodes(),
149
- nonTerminalNodeBChildNodes = nonTerminalNodeB.getChildNodes(),
150
- childNodesA = nonTerminalNodeAChildNodes, ///
151
- childNodesB = nonTerminalNodeBChildNodes, ///
152
- childNodesVerified = this.verifyChildNodes(childNodesA, childNodesB, substitutions, localContextA, localContextB, verifyAhead);
153
-
154
- statementNodeVerifiedAgainstStatementNode = childNodesVerified; ///
155
-
156
- return statementNodeVerifiedAgainstStatementNode;
157
- }
158
-
159
- verifyTermVariableNodeAgainstTermNode(termVariableNodeA, termNodeB, substitutions, localContextA, localContextB, verifyAhead) {
160
- let termVariableNodeVerifiedAgainstTermNode;
161
-
162
- const variableNodeA = termVariableNodeA, ///
163
- termVerifiedAgainstVariable = verifyVariableAgainstTerm(variableNodeA, termNodeB, substitutions, localContextA, localContextB, verifyAhead);
164
-
165
- termVariableNodeVerifiedAgainstTermNode = termVerifiedAgainstVariable; ///
166
-
167
- return termVariableNodeVerifiedAgainstTermNode;
168
- }
169
- }
170
-
171
- const intrinsicLevelAgainstMetaLevelNodesVerifier = new IntrinsicLevelAgainstMetaLevelNodesVerifier();
172
-
173
- export default intrinsicLevelAgainstMetaLevelNodesVerifier;