occam-verify-cli 1.0.414 → 1.0.416
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 +1 -5
- package/lib/context/file.js +5 -6
- package/lib/ontology/declaration/combinator.js +3 -3
- package/lib/ontology/declaration/constructor.js +3 -3
- package/lib/process/verify.js +293 -13
- package/package.json +10 -10
- package/src/constants.js +0 -1
- package/src/context/file.js +6 -6
- package/src/ontology/declaration/combinator.js +2 -3
- package/src/ontology/declaration/constructor.js +2 -2
- package/src/process/verify.js +393 -13
- package/lib/verifier/constructor.js +0 -230
- package/lib/verifier/topLevel.js +0 -242
- package/src/verifier/constructor.js +0 -96
- package/src/verifier/topLevel.js +0 -204
package/lib/verifier/topLevel.js
DELETED
|
@@ -1,242 +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 _ontology = /*#__PURE__*/ _interop_require_default(require("../ontology"));
|
|
12
|
-
var _verifier = /*#__PURE__*/ _interop_require_default(require("../verifier"));
|
|
13
|
-
var _query = require("../utilities/query");
|
|
14
|
-
function _assert_this_initialized(self) {
|
|
15
|
-
if (self === void 0) {
|
|
16
|
-
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
17
|
-
}
|
|
18
|
-
return self;
|
|
19
|
-
}
|
|
20
|
-
function _call_super(_this, derived, args) {
|
|
21
|
-
derived = _get_prototype_of(derived);
|
|
22
|
-
return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
|
|
23
|
-
}
|
|
24
|
-
function _class_call_check(instance, Constructor) {
|
|
25
|
-
if (!(instance instanceof Constructor)) {
|
|
26
|
-
throw new TypeError("Cannot call a class as a function");
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
function _defineProperties(target, props) {
|
|
30
|
-
for(var i = 0; i < props.length; i++){
|
|
31
|
-
var descriptor = props[i];
|
|
32
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
33
|
-
descriptor.configurable = true;
|
|
34
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
35
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
function _create_class(Constructor, protoProps, staticProps) {
|
|
39
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
40
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
41
|
-
return Constructor;
|
|
42
|
-
}
|
|
43
|
-
function _define_property(obj, key, value) {
|
|
44
|
-
if (key in obj) {
|
|
45
|
-
Object.defineProperty(obj, key, {
|
|
46
|
-
value: value,
|
|
47
|
-
enumerable: true,
|
|
48
|
-
configurable: true,
|
|
49
|
-
writable: true
|
|
50
|
-
});
|
|
51
|
-
} else {
|
|
52
|
-
obj[key] = value;
|
|
53
|
-
}
|
|
54
|
-
return obj;
|
|
55
|
-
}
|
|
56
|
-
function _get_prototype_of(o) {
|
|
57
|
-
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
|
|
58
|
-
return o.__proto__ || Object.getPrototypeOf(o);
|
|
59
|
-
};
|
|
60
|
-
return _get_prototype_of(o);
|
|
61
|
-
}
|
|
62
|
-
function _inherits(subClass, superClass) {
|
|
63
|
-
if (typeof superClass !== "function" && superClass !== null) {
|
|
64
|
-
throw new TypeError("Super expression must either be null or a function");
|
|
65
|
-
}
|
|
66
|
-
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
67
|
-
constructor: {
|
|
68
|
-
value: subClass,
|
|
69
|
-
writable: true,
|
|
70
|
-
configurable: true
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
if (superClass) _set_prototype_of(subClass, superClass);
|
|
74
|
-
}
|
|
75
|
-
function _interop_require_default(obj) {
|
|
76
|
-
return obj && obj.__esModule ? obj : {
|
|
77
|
-
default: obj
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
function _possible_constructor_return(self, call) {
|
|
81
|
-
if (call && (_type_of(call) === "object" || typeof call === "function")) {
|
|
82
|
-
return call;
|
|
83
|
-
}
|
|
84
|
-
return _assert_this_initialized(self);
|
|
85
|
-
}
|
|
86
|
-
function _set_prototype_of(o, p) {
|
|
87
|
-
_set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
|
|
88
|
-
o.__proto__ = p;
|
|
89
|
-
return o;
|
|
90
|
-
};
|
|
91
|
-
return _set_prototype_of(o, p);
|
|
92
|
-
}
|
|
93
|
-
function _type_of(obj) {
|
|
94
|
-
"@swc/helpers - typeof";
|
|
95
|
-
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
96
|
-
}
|
|
97
|
-
function _is_native_reflect_construct() {
|
|
98
|
-
try {
|
|
99
|
-
var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
100
|
-
} catch (_) {}
|
|
101
|
-
return (_is_native_reflect_construct = function() {
|
|
102
|
-
return !!result;
|
|
103
|
-
})();
|
|
104
|
-
}
|
|
105
|
-
var errorNodeQuery = (0, _query.nodeQuery)("/error"), ruleNodeQuery = (0, _query.nodeQuery)("/rule"), axiomNodeQuery = (0, _query.nodeQuery)("/axiom"), lemmaNodeQuery = (0, _query.nodeQuery)("/lemma"), sectionNodeQuery = (0, _query.nodeQuery)("/section"), theoremNodeQuery = (0, _query.nodeQuery)("/theorem"), metaLemmaNodeQuery = (0, _query.nodeQuery)("/metaLemma"), conjectureNodeQuery = (0, _query.nodeQuery)("/conjecture"), metatheoremNodeQuery = (0, _query.nodeQuery)("/metatheorem"), variableDeclarationNodeQuery = (0, _query.nodeQuery)("/variableDeclaration"), combinatorDeclarationNodeQuery = (0, _query.nodeQuery)("/combinatorDeclaration"), simpleTypeDeclarationNodeQuery = (0, _query.nodeQuery)("/simpleTypeDeclaration"), typePrefixDeclarationNodeQuery = (0, _query.nodeQuery)("/typePrefixDeclaration"), constructorDeclarationNodeQuery = (0, _query.nodeQuery)("/constructorDeclaration"), complexTypeDeclarationNodeQuery = (0, _query.nodeQuery)("/complexTypeDeclaration"), metavariableDeclarationNodeQuery = (0, _query.nodeQuery)("/metavariableDeclaration");
|
|
106
|
-
var TopLevelVerifier = /*#__PURE__*/ function(Verifier) {
|
|
107
|
-
_inherits(TopLevelVerifier, Verifier);
|
|
108
|
-
function TopLevelVerifier() {
|
|
109
|
-
_class_call_check(this, TopLevelVerifier);
|
|
110
|
-
return _call_super(this, TopLevelVerifier, arguments);
|
|
111
|
-
}
|
|
112
|
-
_create_class(TopLevelVerifier, [
|
|
113
|
-
{
|
|
114
|
-
key: "verify",
|
|
115
|
-
value: function verify(node, fileContext) {
|
|
116
|
-
var verifiesAtTopLevel;
|
|
117
|
-
var context = fileContext, nonTerminalNode = node, nonTerminalNodeVerifies = this.verifyNonTerminalNode(nonTerminalNode, context);
|
|
118
|
-
verifiesAtTopLevel = nonTerminalNodeVerifies; ///
|
|
119
|
-
return verifiesAtTopLevel;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
]);
|
|
123
|
-
return TopLevelVerifier;
|
|
124
|
-
}(_verifier.default);
|
|
125
|
-
_define_property(TopLevelVerifier, "maps", [
|
|
126
|
-
{
|
|
127
|
-
nodeQuery: errorNodeQuery,
|
|
128
|
-
verify: function(errorNode, context) {
|
|
129
|
-
var Error = _ontology.default.Error, error = Error.fromErrorNode(errorNode, context), errorVerifies = error.verify();
|
|
130
|
-
return errorVerifies;
|
|
131
|
-
}
|
|
132
|
-
},
|
|
133
|
-
{
|
|
134
|
-
nodeQuery: ruleNodeQuery,
|
|
135
|
-
verify: function(ruleNode, context) {
|
|
136
|
-
var Rule = _ontology.default.Rule, rule = Rule.fromRuleNode(ruleNode, context), ruleVerifies = rule.verify();
|
|
137
|
-
return ruleVerifies;
|
|
138
|
-
}
|
|
139
|
-
},
|
|
140
|
-
{
|
|
141
|
-
nodeQuery: axiomNodeQuery,
|
|
142
|
-
verify: function(axiomNode, context) {
|
|
143
|
-
var Axiom = _ontology.default.Axiom, axiom = Axiom.fromAxiomNode(axiomNode, context), axiomVerifies = axiom.verify();
|
|
144
|
-
return axiomVerifies;
|
|
145
|
-
}
|
|
146
|
-
},
|
|
147
|
-
{
|
|
148
|
-
nodeQuery: lemmaNodeQuery,
|
|
149
|
-
verify: function(lemmaNode, context) {
|
|
150
|
-
var Lemma = _ontology.default.Lemma, lemma = Lemma.fromLemmaNode(lemmaNode, context), lemmaVerifies = lemma.verify();
|
|
151
|
-
return lemmaVerifies;
|
|
152
|
-
}
|
|
153
|
-
},
|
|
154
|
-
{
|
|
155
|
-
nodeQuery: sectionNodeQuery,
|
|
156
|
-
verify: function(sectionNode, context) {
|
|
157
|
-
var Section = _ontology.default.Section, section = Section.fromSectionNode(sectionNode, context), sectionVerifies = section.verify();
|
|
158
|
-
return sectionVerifies;
|
|
159
|
-
}
|
|
160
|
-
},
|
|
161
|
-
{
|
|
162
|
-
nodeQuery: theoremNodeQuery,
|
|
163
|
-
verify: function(theoremNode, context) {
|
|
164
|
-
var Theorem = _ontology.default.Theorem, theorem = Theorem.fromTheoremNode(theoremNode, context), theoremVerifies = theorem.verify();
|
|
165
|
-
return theoremVerifies;
|
|
166
|
-
}
|
|
167
|
-
},
|
|
168
|
-
{
|
|
169
|
-
nodeQuery: metaLemmaNodeQuery,
|
|
170
|
-
verify: function(metaLemmaNode, context) {
|
|
171
|
-
var MetaLemma = _ontology.default.MetaLemma, metaLemma = MetaLemma.fromMetaLemmaNode(metaLemmaNode, context), metaLemmaVerifies = metaLemma.verify();
|
|
172
|
-
return metaLemmaVerifies;
|
|
173
|
-
}
|
|
174
|
-
},
|
|
175
|
-
{
|
|
176
|
-
nodeQuery: conjectureNodeQuery,
|
|
177
|
-
verify: function(conjectureNode, context) {
|
|
178
|
-
var Conjecture = _ontology.default.Conjecture, conjecture = Conjecture.fromConjectureNode(conjectureNode, context), conjectureVerifies = conjecture.verify();
|
|
179
|
-
return conjectureVerifies;
|
|
180
|
-
}
|
|
181
|
-
},
|
|
182
|
-
{
|
|
183
|
-
nodeQuery: metatheoremNodeQuery,
|
|
184
|
-
verify: function(metatheoremNode, context) {
|
|
185
|
-
var Metatheorem = _ontology.default.Metatheorem, metatheorem = Metatheorem.fromMetatheoremNode(metatheoremNode, context), metatheoremVerifies = metatheorem.verify();
|
|
186
|
-
return metatheoremVerifies;
|
|
187
|
-
}
|
|
188
|
-
},
|
|
189
|
-
{
|
|
190
|
-
nodeQuery: variableDeclarationNodeQuery,
|
|
191
|
-
verify: function(variableDeclarationNode, context) {
|
|
192
|
-
var VariableDeclaration = _ontology.default.VariableDeclaration, variableDeclaration = VariableDeclaration.fromVariableDeclarationNode(variableDeclarationNode, context), variableDeclarationVerifies = variableDeclaration.verify();
|
|
193
|
-
return variableDeclarationVerifies;
|
|
194
|
-
}
|
|
195
|
-
},
|
|
196
|
-
{
|
|
197
|
-
nodeQuery: simpleTypeDeclarationNodeQuery,
|
|
198
|
-
verify: function(simpleTypeDeclarationNode, context) {
|
|
199
|
-
var SimpleTypeDeclaration = _ontology.default.SimpleTypeDeclaration, simpleTypeDeclaration = SimpleTypeDeclaration.fromSimpleTypeDeclarationNode(simpleTypeDeclarationNode, context), simpleTypeDeclarationVerifies = simpleTypeDeclaration.verify();
|
|
200
|
-
return simpleTypeDeclarationVerifies;
|
|
201
|
-
}
|
|
202
|
-
},
|
|
203
|
-
{
|
|
204
|
-
nodeQuery: typePrefixDeclarationNodeQuery,
|
|
205
|
-
verify: function(typePrefixDeclarationNode, context) {
|
|
206
|
-
var TypePrefixDeclaration = _ontology.default.TypePrefixDeclaration, typePrefixDeclaration = TypePrefixDeclaration.fromTypePrefixDeclarationNode(typePrefixDeclarationNode, context), typePrefixDeclarationVerifies = typePrefixDeclaration.verify();
|
|
207
|
-
return typePrefixDeclarationVerifies;
|
|
208
|
-
}
|
|
209
|
-
},
|
|
210
|
-
{
|
|
211
|
-
nodeQuery: combinatorDeclarationNodeQuery,
|
|
212
|
-
verify: function(combinatorDeclarationNode, context) {
|
|
213
|
-
var CombinatorDeclaration = _ontology.default.CombinatorDeclaration, combinatorDeclaration = CombinatorDeclaration.fromCombinatorDeclarationNode(combinatorDeclarationNode, context), combinatorDeclarationVerifies = combinatorDeclaration.verify();
|
|
214
|
-
return combinatorDeclarationVerifies;
|
|
215
|
-
}
|
|
216
|
-
},
|
|
217
|
-
{
|
|
218
|
-
nodeQuery: constructorDeclarationNodeQuery,
|
|
219
|
-
verify: function(constructorDeclarationNode, context) {
|
|
220
|
-
var ConstructorDeclaration = _ontology.default.ConstructorDeclaration, constructorDeclaration = ConstructorDeclaration.fromConstructorDeclarationNode(constructorDeclarationNode, context), constructorDeclarationVerifies = constructorDeclaration.verify();
|
|
221
|
-
return constructorDeclarationVerifies;
|
|
222
|
-
}
|
|
223
|
-
},
|
|
224
|
-
{
|
|
225
|
-
nodeQuery: complexTypeDeclarationNodeQuery,
|
|
226
|
-
verify: function(complexTypeDeclarationNode, context) {
|
|
227
|
-
var ComplexTypeDeclaration = _ontology.default.ComplexTypeDeclaration, complexTypeDeclaration = ComplexTypeDeclaration.fromComplexTypeDeclarationNode(complexTypeDeclarationNode, context), complexTypeDeclarationVerifies = complexTypeDeclaration.verify();
|
|
228
|
-
return complexTypeDeclarationVerifies;
|
|
229
|
-
}
|
|
230
|
-
},
|
|
231
|
-
{
|
|
232
|
-
nodeQuery: metavariableDeclarationNodeQuery,
|
|
233
|
-
verify: function(metavariableDeclarationNode, context) {
|
|
234
|
-
var MetavariableDeclaration = _ontology.default.MetavariableDeclaration, metavariableDeclaration = MetavariableDeclaration.fromMetavariableDeclarationNode(metavariableDeclarationNode, context), metavariableDeclarationVerifies = metavariableDeclaration.verify();
|
|
235
|
-
return metavariableDeclarationVerifies;
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
]);
|
|
239
|
-
var topLevelVerifier = new TopLevelVerifier();
|
|
240
|
-
var _default = topLevelVerifier;
|
|
241
|
-
|
|
242
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZmllci90b3BMZXZlbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IG9udG9sb2d5IGZyb20gXCIuLi9vbnRvbG9neVwiO1xuaW1wb3J0IFZlcmlmaWVyIGZyb20gXCIuLi92ZXJpZmllclwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IGVycm9yTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2Vycm9yXCIpLFxuICAgICAgcnVsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9ydWxlXCIpLFxuICAgICAgYXhpb21Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvYXhpb21cIiksXG4gICAgICBsZW1tYU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9sZW1tYVwiKSxcbiAgICAgIHNlY3Rpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc2VjdGlvblwiKSxcbiAgICAgIHRoZW9yZW1Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdGhlb3JlbVwiKSxcbiAgICAgIG1ldGFMZW1tYU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhTGVtbWFcIiksXG4gICAgICBjb25qZWN0dXJlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbmplY3R1cmVcIiksXG4gICAgICBtZXRhdGhlb3JlbU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhdGhlb3JlbVwiKSxcbiAgICAgIHZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdmFyaWFibGVEZWNsYXJhdGlvblwiKSxcbiAgICAgIGNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb21iaW5hdG9yRGVjbGFyYXRpb25cIiksXG4gICAgICBzaW1wbGVUeXBlRGVjbGFyYXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc2ltcGxlVHlwZURlY2xhcmF0aW9uXCIpLFxuICAgICAgdHlwZVByZWZpeERlY2xhcmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3R5cGVQcmVmaXhEZWNsYXJhdGlvblwiKSxcbiAgICAgIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvY29uc3RydWN0b3JEZWNsYXJhdGlvblwiKSxcbiAgICAgIGNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvY29tcGxleFR5cGVEZWNsYXJhdGlvblwiKSxcbiAgICAgIG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGF2YXJpYWJsZURlY2xhcmF0aW9uXCIpO1xuXG5jbGFzcyBUb3BMZXZlbFZlcmlmaWVyIGV4dGVuZHMgVmVyaWZpZXIge1xuICB2ZXJpZnkobm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgICBsZXQgdmVyaWZpZXNBdFRvcExldmVsO1xuXG4gICAgY29uc3QgY29udGV4dCA9IGZpbGVDb250ZXh0LCAgLy8vXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlID0gbm9kZSwgLy8vXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZXMgPSB0aGlzLnZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGUsIGNvbnRleHQpO1xuXG4gICAgdmVyaWZpZXNBdFRvcExldmVsID0gbm9uVGVybWluYWxOb2RlVmVyaWZpZXM7ICAvLy9cblxuICAgIHJldHVybiB2ZXJpZmllc0F0VG9wTGV2ZWw7XG4gIH1cblxuICBzdGF0aWMgbWFwcyA9IFtcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IGVycm9yTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAoZXJyb3JOb2RlLCBjb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgRXJyb3IgfSA9IG9udG9sb2d5LFxuICAgICAgICAgICAgICBlcnJvciA9IEVycm9yLmZyb21FcnJvck5vZGUoZXJyb3JOb2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgICAgZXJyb3JWZXJpZmllcyA9IGVycm9yLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBlcnJvclZlcmlmaWVzO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBydWxlTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAocnVsZU5vZGUsIGNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBSdWxlIH0gPSBvbnRvbG9neSxcbiAgICAgICAgICAgICAgcnVsZSA9IFJ1bGUuZnJvbVJ1bGVOb2RlKHJ1bGVOb2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgICAgcnVsZVZlcmlmaWVzID0gcnVsZS52ZXJpZnkoKTtcblxuICAgICAgICByZXR1cm4gcnVsZVZlcmlmaWVzO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBheGlvbU5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKGF4aW9tTm9kZSwgY29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IEF4aW9tIH0gPSBvbnRvbG9neSxcbiAgICAgICAgICAgICAgYXhpb20gPSBBeGlvbS5mcm9tQXhpb21Ob2RlKGF4aW9tTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgICAgIGF4aW9tVmVyaWZpZXMgPSBheGlvbS52ZXJpZnkoKTtcblxuICAgICAgICByZXR1cm4gYXhpb21WZXJpZmllcztcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogbGVtbWFOb2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChsZW1tYU5vZGUsIGNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBMZW1tYSB9ID0gb250b2xvZ3ksXG4gICAgICAgICAgICAgIGxlbW1hID0gTGVtbWEuZnJvbUxlbW1hTm9kZShsZW1tYU5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgICBsZW1tYVZlcmlmaWVzID0gbGVtbWEudmVyaWZ5KCk7XG5cbiAgICAgICAgcmV0dXJuIGxlbW1hVmVyaWZpZXM7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IHNlY3Rpb25Ob2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChzZWN0aW9uTm9kZSwgY29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IFNlY3Rpb24gfSA9IG9udG9sb2d5LFxuICAgICAgICAgICAgICBzZWN0aW9uID0gU2VjdGlvbi5mcm9tU2VjdGlvbk5vZGUoc2VjdGlvbk5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgICBzZWN0aW9uVmVyaWZpZXMgPSBzZWN0aW9uLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBzZWN0aW9uVmVyaWZpZXM7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IHRoZW9yZW1Ob2RlUXVlcnksXG4gICAgICB2ZXJpZnk6ICh0aGVvcmVtTm9kZSwgY29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IFRoZW9yZW0gfSA9IG9udG9sb2d5LFxuICAgICAgICAgICAgICB0aGVvcmVtID0gVGhlb3JlbS5mcm9tVGhlb3JlbU5vZGUodGhlb3JlbU5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgICB0aGVvcmVtVmVyaWZpZXMgPSB0aGVvcmVtLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiB0aGVvcmVtVmVyaWZpZXM7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IG1ldGFMZW1tYU5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKG1ldGFMZW1tYU5vZGUsIGNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBNZXRhTGVtbWEgfSA9IG9udG9sb2d5LFxuICAgICAgICAgICAgICBtZXRhTGVtbWEgPSBNZXRhTGVtbWEuZnJvbU1ldGFMZW1tYU5vZGUobWV0YUxlbW1hTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgICAgIG1ldGFMZW1tYVZlcmlmaWVzID0gbWV0YUxlbW1hLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBtZXRhTGVtbWFWZXJpZmllcztcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogY29uamVjdHVyZU5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKGNvbmplY3R1cmVOb2RlLCBjb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgQ29uamVjdHVyZSB9ID0gb250b2xvZ3ksXG4gICAgICAgICAgICAgIGNvbmplY3R1cmUgPSBDb25qZWN0dXJlLmZyb21Db25qZWN0dXJlTm9kZShjb25qZWN0dXJlTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgICAgIGNvbmplY3R1cmVWZXJpZmllcyA9IGNvbmplY3R1cmUudmVyaWZ5KCk7XG5cbiAgICAgICAgcmV0dXJuIGNvbmplY3R1cmVWZXJpZmllcztcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogbWV0YXRoZW9yZW1Ob2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChtZXRhdGhlb3JlbU5vZGUsIGNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBNZXRhdGhlb3JlbSB9ID0gb250b2xvZ3ksXG4gICAgICAgICAgICAgIG1ldGF0aGVvcmVtID0gTWV0YXRoZW9yZW0uZnJvbU1ldGF0aGVvcmVtTm9kZShtZXRhdGhlb3JlbU5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgICBtZXRhdGhlb3JlbVZlcmlmaWVzID0gbWV0YXRoZW9yZW0udmVyaWZ5KCk7XG5cbiAgICAgICAgcmV0dXJuIG1ldGF0aGVvcmVtVmVyaWZpZXM7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IHZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICB2ZXJpZnk6ICh2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSwgY29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IFZhcmlhYmxlRGVjbGFyYXRpb24gfSA9IG9udG9sb2d5LFxuICAgICAgICAgICAgICB2YXJpYWJsZURlY2xhcmF0aW9uID0gVmFyaWFibGVEZWNsYXJhdGlvbi5mcm9tVmFyaWFibGVEZWNsYXJhdGlvbk5vZGUodmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgICB2YXJpYWJsZURlY2xhcmF0aW9uVmVyaWZpZXMgPSB2YXJpYWJsZURlY2xhcmF0aW9uLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiB2YXJpYWJsZURlY2xhcmF0aW9uVmVyaWZpZXM7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IHNpbXBsZVR5cGVEZWNsYXJhdGlvbk5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKHNpbXBsZVR5cGVEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBTaW1wbGVUeXBlRGVjbGFyYXRpb24gfSA9IG9udG9sb2d5LFxuICAgICAgICAgICAgICBzaW1wbGVUeXBlRGVjbGFyYXRpb24gPSBTaW1wbGVUeXBlRGVjbGFyYXRpb24uZnJvbVNpbXBsZVR5cGVEZWNsYXJhdGlvbk5vZGUoc2ltcGxlVHlwZURlY2xhcmF0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgICAgIHNpbXBsZVR5cGVEZWNsYXJhdGlvblZlcmlmaWVzID0gc2ltcGxlVHlwZURlY2xhcmF0aW9uLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBzaW1wbGVUeXBlRGVjbGFyYXRpb25WZXJpZmllcztcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogdHlwZVByZWZpeERlY2xhcmF0aW9uTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAodHlwZVByZWZpeERlY2xhcmF0aW9uTm9kZSwgY29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IFR5cGVQcmVmaXhEZWNsYXJhdGlvbiB9ID0gb250b2xvZ3ksXG4gICAgICAgICAgICAgIHR5cGVQcmVmaXhEZWNsYXJhdGlvbiA9IFR5cGVQcmVmaXhEZWNsYXJhdGlvbi5mcm9tVHlwZVByZWZpeERlY2xhcmF0aW9uTm9kZSh0eXBlUHJlZml4RGVjbGFyYXRpb25Ob2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgICAgdHlwZVByZWZpeERlY2xhcmF0aW9uVmVyaWZpZXMgPSB0eXBlUHJlZml4RGVjbGFyYXRpb24udmVyaWZ5KCk7XG5cbiAgICAgICAgcmV0dXJuIHR5cGVQcmVmaXhEZWNsYXJhdGlvblZlcmlmaWVzO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiBjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlLCBjb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgQ29tYmluYXRvckRlY2xhcmF0aW9uIH0gPSBvbnRvbG9neSxcbiAgICAgICAgICAgICAgY29tYmluYXRvckRlY2xhcmF0aW9uID0gQ29tYmluYXRvckRlY2xhcmF0aW9uLmZyb21Db21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlKGNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgICBjb21iaW5hdG9yRGVjbGFyYXRpb25WZXJpZmllcyA9IGNvbWJpbmF0b3JEZWNsYXJhdGlvbi52ZXJpZnkoKTtcblxuICAgICAgICByZXR1cm4gY29tYmluYXRvckRlY2xhcmF0aW9uVmVyaWZpZXM7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSwgY29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IENvbnN0cnVjdG9yRGVjbGFyYXRpb24gfSA9IG9udG9sb2d5LFxuICAgICAgICAgICAgICBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uID0gQ29uc3RydWN0b3JEZWNsYXJhdGlvbi5mcm9tQ29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUoY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgICBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVmVyaWZpZXMgPSBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVmVyaWZpZXM7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IGNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlUXVlcnksXG4gICAgICB2ZXJpZnk6IChjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSwgY29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IENvbXBsZXhUeXBlRGVjbGFyYXRpb24gfSA9IG9udG9sb2d5LFxuICAgICAgICAgICAgICBjb21wbGV4VHlwZURlY2xhcmF0aW9uID0gQ29tcGxleFR5cGVEZWNsYXJhdGlvbi5mcm9tQ29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUoY29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgICBjb21wbGV4VHlwZURlY2xhcmF0aW9uVmVyaWZpZXMgPSBjb21wbGV4VHlwZURlY2xhcmF0aW9uLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBjb21wbGV4VHlwZURlY2xhcmF0aW9uVmVyaWZpZXM7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAobWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlLCBjb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgTWV0YXZhcmlhYmxlRGVjbGFyYXRpb24gfSA9IG9udG9sb2d5LFxuICAgICAgICAgICAgICBtZXRhdmFyaWFibGVEZWNsYXJhdGlvbiA9IE1ldGF2YXJpYWJsZURlY2xhcmF0aW9uLmZyb21NZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUobWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgICAgbWV0YXZhcmlhYmxlRGVjbGFyYXRpb25WZXJpZmllcyA9IG1ldGF2YXJpYWJsZURlY2xhcmF0aW9uLnZlcmlmeSgpO1xuXG4gICAgICAgIHJldHVybiBtZXRhdmFyaWFibGVEZWNsYXJhdGlvblZlcmlmaWVzO1xuICAgICAgfVxuICAgIH1cbiAgXTtcbn1cblxuY29uc3QgdG9wTGV2ZWxWZXJpZmllciA9IG5ldyBUb3BMZXZlbFZlcmlmaWVyKCk7XG5cbmV4cG9ydCBkZWZhdWx0IHRvcExldmVsVmVyaWZpZXI7XG4iXSwibmFtZXMiOlsiZXJyb3JOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJydWxlTm9kZVF1ZXJ5IiwiYXhpb21Ob2RlUXVlcnkiLCJsZW1tYU5vZGVRdWVyeSIsInNlY3Rpb25Ob2RlUXVlcnkiLCJ0aGVvcmVtTm9kZVF1ZXJ5IiwibWV0YUxlbW1hTm9kZVF1ZXJ5IiwiY29uamVjdHVyZU5vZGVRdWVyeSIsIm1ldGF0aGVvcmVtTm9kZVF1ZXJ5IiwidmFyaWFibGVEZWNsYXJhdGlvbk5vZGVRdWVyeSIsImNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGVRdWVyeSIsInNpbXBsZVR5cGVEZWNsYXJhdGlvbk5vZGVRdWVyeSIsInR5cGVQcmVmaXhEZWNsYXJhdGlvbk5vZGVRdWVyeSIsImNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlUXVlcnkiLCJjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZVF1ZXJ5IiwibWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlUXVlcnkiLCJUb3BMZXZlbFZlcmlmaWVyIiwidmVyaWZ5Iiwibm9kZSIsImZpbGVDb250ZXh0IiwidmVyaWZpZXNBdFRvcExldmVsIiwiY29udGV4dCIsIm5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZVZlcmlmaWVzIiwidmVyaWZ5Tm9uVGVybWluYWxOb2RlIiwiVmVyaWZpZXIiLCJtYXBzIiwiZXJyb3JOb2RlIiwiRXJyb3IiLCJvbnRvbG9neSIsImVycm9yIiwiZnJvbUVycm9yTm9kZSIsImVycm9yVmVyaWZpZXMiLCJydWxlTm9kZSIsIlJ1bGUiLCJydWxlIiwiZnJvbVJ1bGVOb2RlIiwicnVsZVZlcmlmaWVzIiwiYXhpb21Ob2RlIiwiQXhpb20iLCJheGlvbSIsImZyb21BeGlvbU5vZGUiLCJheGlvbVZlcmlmaWVzIiwibGVtbWFOb2RlIiwiTGVtbWEiLCJsZW1tYSIsImZyb21MZW1tYU5vZGUiLCJsZW1tYVZlcmlmaWVzIiwic2VjdGlvbk5vZGUiLCJTZWN0aW9uIiwic2VjdGlvbiIsImZyb21TZWN0aW9uTm9kZSIsInNlY3Rpb25WZXJpZmllcyIsInRoZW9yZW1Ob2RlIiwiVGhlb3JlbSIsInRoZW9yZW0iLCJmcm9tVGhlb3JlbU5vZGUiLCJ0aGVvcmVtVmVyaWZpZXMiLCJtZXRhTGVtbWFOb2RlIiwiTWV0YUxlbW1hIiwibWV0YUxlbW1hIiwiZnJvbU1ldGFMZW1tYU5vZGUiLCJtZXRhTGVtbWFWZXJpZmllcyIsImNvbmplY3R1cmVOb2RlIiwiQ29uamVjdHVyZSIsImNvbmplY3R1cmUiLCJmcm9tQ29uamVjdHVyZU5vZGUiLCJjb25qZWN0dXJlVmVyaWZpZXMiLCJtZXRhdGhlb3JlbU5vZGUiLCJNZXRhdGhlb3JlbSIsIm1ldGF0aGVvcmVtIiwiZnJvbU1ldGF0aGVvcmVtTm9kZSIsIm1ldGF0aGVvcmVtVmVyaWZpZXMiLCJ2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSIsIlZhcmlhYmxlRGVjbGFyYXRpb24iLCJ2YXJpYWJsZURlY2xhcmF0aW9uIiwiZnJvbVZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlIiwidmFyaWFibGVEZWNsYXJhdGlvblZlcmlmaWVzIiwic2ltcGxlVHlwZURlY2xhcmF0aW9uTm9kZSIsIlNpbXBsZVR5cGVEZWNsYXJhdGlvbiIsInNpbXBsZVR5cGVEZWNsYXJhdGlvbiIsImZyb21TaW1wbGVUeXBlRGVjbGFyYXRpb25Ob2RlIiwic2ltcGxlVHlwZURlY2xhcmF0aW9uVmVyaWZpZXMiLCJ0eXBlUHJlZml4RGVjbGFyYXRpb25Ob2RlIiwiVHlwZVByZWZpeERlY2xhcmF0aW9uIiwidHlwZVByZWZpeERlY2xhcmF0aW9uIiwiZnJvbVR5cGVQcmVmaXhEZWNsYXJhdGlvbk5vZGUiLCJ0eXBlUHJlZml4RGVjbGFyYXRpb25WZXJpZmllcyIsImNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUiLCJDb21iaW5hdG9yRGVjbGFyYXRpb24iLCJjb21iaW5hdG9yRGVjbGFyYXRpb24iLCJmcm9tQ29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSIsImNvbWJpbmF0b3JEZWNsYXJhdGlvblZlcmlmaWVzIiwiY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUiLCJDb25zdHJ1Y3RvckRlY2xhcmF0aW9uIiwiY29uc3RydWN0b3JEZWNsYXJhdGlvbiIsImZyb21Db25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSIsImNvbnN0cnVjdG9yRGVjbGFyYXRpb25WZXJpZmllcyIsImNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlIiwiQ29tcGxleFR5cGVEZWNsYXJhdGlvbiIsImNvbXBsZXhUeXBlRGVjbGFyYXRpb24iLCJmcm9tQ29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUiLCJjb21wbGV4VHlwZURlY2xhcmF0aW9uVmVyaWZpZXMiLCJtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUiLCJNZXRhdmFyaWFibGVEZWNsYXJhdGlvbiIsIm1ldGF2YXJpYWJsZURlY2xhcmF0aW9uIiwiZnJvbU1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSIsIm1ldGF2YXJpYWJsZURlY2xhcmF0aW9uVmVyaWZpZXMiLCJ0b3BMZXZlbFZlcmlmaWVyIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkEyTUE7OztlQUFBOzs7K0RBek1xQjsrREFDQTtxQkFFSzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { arrayUtilities } from "necessary";
|
|
4
|
-
|
|
5
|
-
import ontology from "../ontology";
|
|
6
|
-
import Verifier from "../verifier";
|
|
7
|
-
|
|
8
|
-
import { nodeQuery } from "../utilities/query";
|
|
9
|
-
import { TYPE_TYPE } from "../constants";
|
|
10
|
-
|
|
11
|
-
const { last } = arrayUtilities;
|
|
12
|
-
|
|
13
|
-
const termNodeQuery = nodeQuery("/term"),
|
|
14
|
-
typeNodeQuery = nodeQuery("/type");
|
|
15
|
-
|
|
16
|
-
class ConstructorVerifier extends Verifier {
|
|
17
|
-
verifyTerm(termNode, context) {
|
|
18
|
-
let termVerifiesAsConstructor;
|
|
19
|
-
|
|
20
|
-
const nonTerminalNode = termNode, ///
|
|
21
|
-
childNodes = nonTerminalNode.getChildNodes(),
|
|
22
|
-
childNodesVerify = this.verifyChildNodes(childNodes, context, () => {
|
|
23
|
-
const verifiesAhead = true;
|
|
24
|
-
|
|
25
|
-
return verifiesAhead;
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
termVerifiesAsConstructor = childNodesVerify; ///
|
|
29
|
-
|
|
30
|
-
return termVerifiesAsConstructor;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
verifyTerminalNode(terminalNode, ...remainingArguments) {
|
|
34
|
-
let terminalNodeVerifies;
|
|
35
|
-
|
|
36
|
-
const type = terminalNode.getType();
|
|
37
|
-
|
|
38
|
-
if (type === TYPE_TYPE) {
|
|
39
|
-
const verifyAhead = remainingArguments.pop(), ///
|
|
40
|
-
lastRemainingArgument = last(remainingArguments),
|
|
41
|
-
context = lastRemainingArgument, ///
|
|
42
|
-
content = terminalNode.getContent(),
|
|
43
|
-
typeString = content; ///
|
|
44
|
-
|
|
45
|
-
context.debug(`The '${typeString}' type is present in the constructor but has not been declared beforehand.`);
|
|
46
|
-
|
|
47
|
-
terminalNodeVerifies = false;
|
|
48
|
-
|
|
49
|
-
remainingArguments.push(verifyAhead);
|
|
50
|
-
} else {
|
|
51
|
-
terminalNodeVerifies = super.verifyTerminalNode(terminalNode, ...remainingArguments);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
return terminalNodeVerifies;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
static maps = [
|
|
58
|
-
{
|
|
59
|
-
nodeQuery: termNodeQuery,
|
|
60
|
-
verify: (termNode, context, verifyAhead) => {
|
|
61
|
-
const { Term } = ontology,
|
|
62
|
-
term = Term.fromTermNode(termNode, context),
|
|
63
|
-
termVerifies = term.verify(context, verifyAhead);
|
|
64
|
-
|
|
65
|
-
return termVerifies;
|
|
66
|
-
}
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
nodeQuery: typeNodeQuery,
|
|
70
|
-
verify: (typeNode, context, verifyAhead) => {
|
|
71
|
-
let typeVerifies;
|
|
72
|
-
|
|
73
|
-
const nominalTypeName = typeNode.getNominalTypeName(),
|
|
74
|
-
typePresent = context.isTypePresentByNominalTypeName(nominalTypeName);
|
|
75
|
-
|
|
76
|
-
if (typePresent) {
|
|
77
|
-
const verifiesAhead = verifyAhead();
|
|
78
|
-
|
|
79
|
-
typeVerifies = verifiesAhead; ///
|
|
80
|
-
} else {
|
|
81
|
-
const typeString = nominalTypeName; ///
|
|
82
|
-
|
|
83
|
-
context.debug(`The '${typeString}' type is not present.`);
|
|
84
|
-
|
|
85
|
-
typeVerifies = false;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
return typeVerifies;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
];
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
const constructorVerifier = new ConstructorVerifier();
|
|
95
|
-
|
|
96
|
-
export default constructorVerifier;
|
package/src/verifier/topLevel.js
DELETED
|
@@ -1,204 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import ontology from "../ontology";
|
|
4
|
-
import Verifier from "../verifier";
|
|
5
|
-
|
|
6
|
-
import { nodeQuery } from "../utilities/query";
|
|
7
|
-
|
|
8
|
-
const errorNodeQuery = nodeQuery("/error"),
|
|
9
|
-
ruleNodeQuery = nodeQuery("/rule"),
|
|
10
|
-
axiomNodeQuery = nodeQuery("/axiom"),
|
|
11
|
-
lemmaNodeQuery = nodeQuery("/lemma"),
|
|
12
|
-
sectionNodeQuery = nodeQuery("/section"),
|
|
13
|
-
theoremNodeQuery = nodeQuery("/theorem"),
|
|
14
|
-
metaLemmaNodeQuery = nodeQuery("/metaLemma"),
|
|
15
|
-
conjectureNodeQuery = nodeQuery("/conjecture"),
|
|
16
|
-
metatheoremNodeQuery = nodeQuery("/metatheorem"),
|
|
17
|
-
variableDeclarationNodeQuery = nodeQuery("/variableDeclaration"),
|
|
18
|
-
combinatorDeclarationNodeQuery = nodeQuery("/combinatorDeclaration"),
|
|
19
|
-
simpleTypeDeclarationNodeQuery = nodeQuery("/simpleTypeDeclaration"),
|
|
20
|
-
typePrefixDeclarationNodeQuery = nodeQuery("/typePrefixDeclaration"),
|
|
21
|
-
constructorDeclarationNodeQuery = nodeQuery("/constructorDeclaration"),
|
|
22
|
-
complexTypeDeclarationNodeQuery = nodeQuery("/complexTypeDeclaration"),
|
|
23
|
-
metavariableDeclarationNodeQuery = nodeQuery("/metavariableDeclaration");
|
|
24
|
-
|
|
25
|
-
class TopLevelVerifier extends Verifier {
|
|
26
|
-
verify(node, fileContext) {
|
|
27
|
-
let verifiesAtTopLevel;
|
|
28
|
-
|
|
29
|
-
const context = fileContext, ///
|
|
30
|
-
nonTerminalNode = node, ///
|
|
31
|
-
nonTerminalNodeVerifies = this.verifyNonTerminalNode(nonTerminalNode, context);
|
|
32
|
-
|
|
33
|
-
verifiesAtTopLevel = nonTerminalNodeVerifies; ///
|
|
34
|
-
|
|
35
|
-
return verifiesAtTopLevel;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
static maps = [
|
|
39
|
-
{
|
|
40
|
-
nodeQuery: errorNodeQuery,
|
|
41
|
-
verify: (errorNode, context) => {
|
|
42
|
-
const { Error } = ontology,
|
|
43
|
-
error = Error.fromErrorNode(errorNode, context),
|
|
44
|
-
errorVerifies = error.verify();
|
|
45
|
-
|
|
46
|
-
return errorVerifies;
|
|
47
|
-
}
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
nodeQuery: ruleNodeQuery,
|
|
51
|
-
verify: (ruleNode, context) => {
|
|
52
|
-
const { Rule } = ontology,
|
|
53
|
-
rule = Rule.fromRuleNode(ruleNode, context),
|
|
54
|
-
ruleVerifies = rule.verify();
|
|
55
|
-
|
|
56
|
-
return ruleVerifies;
|
|
57
|
-
}
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
nodeQuery: axiomNodeQuery,
|
|
61
|
-
verify: (axiomNode, context) => {
|
|
62
|
-
const { Axiom } = ontology,
|
|
63
|
-
axiom = Axiom.fromAxiomNode(axiomNode, context),
|
|
64
|
-
axiomVerifies = axiom.verify();
|
|
65
|
-
|
|
66
|
-
return axiomVerifies;
|
|
67
|
-
}
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
nodeQuery: lemmaNodeQuery,
|
|
71
|
-
verify: (lemmaNode, context) => {
|
|
72
|
-
const { Lemma } = ontology,
|
|
73
|
-
lemma = Lemma.fromLemmaNode(lemmaNode, context),
|
|
74
|
-
lemmaVerifies = lemma.verify();
|
|
75
|
-
|
|
76
|
-
return lemmaVerifies;
|
|
77
|
-
}
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
nodeQuery: sectionNodeQuery,
|
|
81
|
-
verify: (sectionNode, context) => {
|
|
82
|
-
const { Section } = ontology,
|
|
83
|
-
section = Section.fromSectionNode(sectionNode, context),
|
|
84
|
-
sectionVerifies = section.verify();
|
|
85
|
-
|
|
86
|
-
return sectionVerifies;
|
|
87
|
-
}
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
nodeQuery: theoremNodeQuery,
|
|
91
|
-
verify: (theoremNode, context) => {
|
|
92
|
-
const { Theorem } = ontology,
|
|
93
|
-
theorem = Theorem.fromTheoremNode(theoremNode, context),
|
|
94
|
-
theoremVerifies = theorem.verify();
|
|
95
|
-
|
|
96
|
-
return theoremVerifies;
|
|
97
|
-
}
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
nodeQuery: metaLemmaNodeQuery,
|
|
101
|
-
verify: (metaLemmaNode, context) => {
|
|
102
|
-
const { MetaLemma } = ontology,
|
|
103
|
-
metaLemma = MetaLemma.fromMetaLemmaNode(metaLemmaNode, context),
|
|
104
|
-
metaLemmaVerifies = metaLemma.verify();
|
|
105
|
-
|
|
106
|
-
return metaLemmaVerifies;
|
|
107
|
-
}
|
|
108
|
-
},
|
|
109
|
-
{
|
|
110
|
-
nodeQuery: conjectureNodeQuery,
|
|
111
|
-
verify: (conjectureNode, context) => {
|
|
112
|
-
const { Conjecture } = ontology,
|
|
113
|
-
conjecture = Conjecture.fromConjectureNode(conjectureNode, context),
|
|
114
|
-
conjectureVerifies = conjecture.verify();
|
|
115
|
-
|
|
116
|
-
return conjectureVerifies;
|
|
117
|
-
}
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
nodeQuery: metatheoremNodeQuery,
|
|
121
|
-
verify: (metatheoremNode, context) => {
|
|
122
|
-
const { Metatheorem } = ontology,
|
|
123
|
-
metatheorem = Metatheorem.fromMetatheoremNode(metatheoremNode, context),
|
|
124
|
-
metatheoremVerifies = metatheorem.verify();
|
|
125
|
-
|
|
126
|
-
return metatheoremVerifies;
|
|
127
|
-
}
|
|
128
|
-
},
|
|
129
|
-
{
|
|
130
|
-
nodeQuery: variableDeclarationNodeQuery,
|
|
131
|
-
verify: (variableDeclarationNode, context) => {
|
|
132
|
-
const { VariableDeclaration } = ontology,
|
|
133
|
-
variableDeclaration = VariableDeclaration.fromVariableDeclarationNode(variableDeclarationNode, context),
|
|
134
|
-
variableDeclarationVerifies = variableDeclaration.verify();
|
|
135
|
-
|
|
136
|
-
return variableDeclarationVerifies;
|
|
137
|
-
}
|
|
138
|
-
},
|
|
139
|
-
{
|
|
140
|
-
nodeQuery: simpleTypeDeclarationNodeQuery,
|
|
141
|
-
verify: (simpleTypeDeclarationNode, context) => {
|
|
142
|
-
const { SimpleTypeDeclaration } = ontology,
|
|
143
|
-
simpleTypeDeclaration = SimpleTypeDeclaration.fromSimpleTypeDeclarationNode(simpleTypeDeclarationNode, context),
|
|
144
|
-
simpleTypeDeclarationVerifies = simpleTypeDeclaration.verify();
|
|
145
|
-
|
|
146
|
-
return simpleTypeDeclarationVerifies;
|
|
147
|
-
}
|
|
148
|
-
},
|
|
149
|
-
{
|
|
150
|
-
nodeQuery: typePrefixDeclarationNodeQuery,
|
|
151
|
-
verify: (typePrefixDeclarationNode, context) => {
|
|
152
|
-
const { TypePrefixDeclaration } = ontology,
|
|
153
|
-
typePrefixDeclaration = TypePrefixDeclaration.fromTypePrefixDeclarationNode(typePrefixDeclarationNode, context),
|
|
154
|
-
typePrefixDeclarationVerifies = typePrefixDeclaration.verify();
|
|
155
|
-
|
|
156
|
-
return typePrefixDeclarationVerifies;
|
|
157
|
-
}
|
|
158
|
-
},
|
|
159
|
-
{
|
|
160
|
-
nodeQuery: combinatorDeclarationNodeQuery,
|
|
161
|
-
verify: (combinatorDeclarationNode, context) => {
|
|
162
|
-
const { CombinatorDeclaration } = ontology,
|
|
163
|
-
combinatorDeclaration = CombinatorDeclaration.fromCombinatorDeclarationNode(combinatorDeclarationNode, context),
|
|
164
|
-
combinatorDeclarationVerifies = combinatorDeclaration.verify();
|
|
165
|
-
|
|
166
|
-
return combinatorDeclarationVerifies;
|
|
167
|
-
}
|
|
168
|
-
},
|
|
169
|
-
{
|
|
170
|
-
nodeQuery: constructorDeclarationNodeQuery,
|
|
171
|
-
verify: (constructorDeclarationNode, context) => {
|
|
172
|
-
const { ConstructorDeclaration } = ontology,
|
|
173
|
-
constructorDeclaration = ConstructorDeclaration.fromConstructorDeclarationNode(constructorDeclarationNode, context),
|
|
174
|
-
constructorDeclarationVerifies = constructorDeclaration.verify();
|
|
175
|
-
|
|
176
|
-
return constructorDeclarationVerifies;
|
|
177
|
-
}
|
|
178
|
-
},
|
|
179
|
-
{
|
|
180
|
-
nodeQuery: complexTypeDeclarationNodeQuery,
|
|
181
|
-
verify: (complexTypeDeclarationNode, context) => {
|
|
182
|
-
const { ComplexTypeDeclaration } = ontology,
|
|
183
|
-
complexTypeDeclaration = ComplexTypeDeclaration.fromComplexTypeDeclarationNode(complexTypeDeclarationNode, context),
|
|
184
|
-
complexTypeDeclarationVerifies = complexTypeDeclaration.verify();
|
|
185
|
-
|
|
186
|
-
return complexTypeDeclarationVerifies;
|
|
187
|
-
}
|
|
188
|
-
},
|
|
189
|
-
{
|
|
190
|
-
nodeQuery: metavariableDeclarationNodeQuery,
|
|
191
|
-
verify: (metavariableDeclarationNode, context) => {
|
|
192
|
-
const { MetavariableDeclaration } = ontology,
|
|
193
|
-
metavariableDeclaration = MetavariableDeclaration.fromMetavariableDeclarationNode(metavariableDeclarationNode, context),
|
|
194
|
-
metavariableDeclarationVerifies = metavariableDeclaration.verify();
|
|
195
|
-
|
|
196
|
-
return metavariableDeclarationVerifies;
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
];
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
const topLevelVerifier = new TopLevelVerifier();
|
|
203
|
-
|
|
204
|
-
export default topLevelVerifier;
|