occam-verify-cli 1.0.220 → 1.0.224
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/context/file.js +19 -19
- package/lib/context/local.js +5 -43
- package/lib/context/release.js +11 -11
- package/lib/dom/assertion/contained.js +44 -44
- package/lib/dom/assertion/defined.js +40 -40
- package/lib/dom/assertion/property.js +37 -35
- package/lib/dom/assertion/satisfies.js +26 -25
- package/lib/dom/assertion/subproof.js +16 -16
- package/lib/dom/assertion/type.js +34 -32
- package/lib/dom/axiom.js +52 -52
- package/lib/dom/combinator/bracketed.js +5 -5
- package/lib/dom/combinator.js +6 -6
- package/lib/dom/conclusion.js +10 -10
- package/lib/dom/conjecture.js +5 -5
- package/lib/dom/constructor/bracketed.js +12 -12
- package/lib/dom/constructor.js +9 -9
- package/lib/dom/declaration/combinator.js +11 -11
- package/lib/dom/declaration/complexType.js +133 -63
- package/lib/dom/declaration/constructor.js +17 -17
- package/lib/dom/declaration/metavariable.js +17 -17
- package/lib/dom/declaration/simpleType.js +229 -0
- package/lib/dom/declaration/variable.js +17 -17
- package/lib/dom/declaration.js +54 -52
- package/lib/dom/deduction.js +15 -15
- package/lib/dom/derivation.js +8 -8
- package/lib/dom/equality.js +49 -34
- package/lib/dom/error.js +3 -3
- package/lib/dom/frame.js +38 -38
- package/lib/dom/judgement.js +31 -29
- package/lib/dom/label.js +5 -5
- package/lib/dom/lemma.js +5 -5
- package/lib/dom/metaLemma.js +5 -5
- package/lib/dom/metatheorem.js +5 -5
- package/lib/dom/metavariable.js +55 -55
- package/lib/dom/premise.js +36 -34
- package/lib/dom/procedureCall.js +9 -9
- package/lib/dom/proof.js +6 -6
- package/lib/dom/propertyRelation.js +18 -18
- package/lib/dom/reference.js +28 -28
- package/lib/dom/rule.js +63 -48
- package/lib/dom/signature.js +17 -17
- package/lib/dom/statement.js +36 -36
- package/lib/dom/step.js +32 -35
- package/lib/dom/subDerivation.js +8 -8
- package/lib/dom/subproof.js +27 -30
- package/lib/dom/substitution/statement.js +7 -7
- package/lib/dom/substitution/term.js +2 -16
- package/lib/dom/substitution.js +1 -15
- package/lib/dom/supposition.js +39 -39
- package/lib/dom/term.js +15 -15
- package/lib/dom/theorem.js +5 -5
- package/lib/dom/topLevelAssertion.js +60 -71
- package/lib/dom/topLevelMetaAssertion.js +28 -20
- package/lib/dom/type.js +18 -24
- package/lib/dom/variable.js +16 -16
- package/lib/equivalence.js +54 -33
- package/lib/equivalences.js +57 -101
- package/lib/index.js +2 -2
- package/lib/mixins/statement/verify.js +52 -52
- package/lib/mixins/step/unify.js +79 -61
- package/lib/mixins/term/verify.js +17 -17
- package/lib/substitutions.js +7 -7
- package/lib/unifier/equantional.js +170 -0
- package/lib/unifier/intrinsicLevel.js +8 -8
- package/lib/unifier/metaLevel.js +21 -21
- package/lib/unifier/metavariable.js +9 -9
- package/lib/unifier/statementWithCombinator.js +18 -18
- package/lib/unifier/termWithConstructor.js +10 -10
- package/lib/unifier.js +41 -41
- package/lib/utilities/brackets.js +2 -2
- package/lib/utilities/release.js +18 -17
- package/lib/utilities/subproof.js +2 -2
- package/lib/utilities/type.js +2 -2
- package/lib/utilities/unification.js +28 -34
- package/lib/verifier/combinator.js +14 -14
- package/lib/verifier/constructor.js +18 -18
- package/lib/verifier/topLevel.js +38 -38
- package/lib/verifier.js +30 -30
- package/package.json +1 -1
- package/src/context/file.js +18 -18
- package/src/context/local.js +5 -48
- package/src/context/release.js +11 -11
- package/src/dom/assertion/contained.js +46 -46
- package/src/dom/assertion/defined.js +41 -41
- package/src/dom/assertion/property.js +37 -35
- package/src/dom/assertion/satisfies.js +26 -25
- package/src/dom/assertion/subproof.js +15 -15
- package/src/dom/assertion/type.js +34 -32
- package/src/dom/axiom.js +56 -54
- package/src/dom/combinator/bracketed.js +4 -4
- package/src/dom/combinator.js +5 -5
- package/src/dom/conclusion.js +9 -9
- package/src/dom/conjecture.js +4 -4
- package/src/dom/constructor/bracketed.js +11 -11
- package/src/dom/constructor.js +8 -8
- package/src/dom/declaration/combinator.js +10 -10
- package/src/dom/declaration/complexType.js +129 -64
- package/src/dom/declaration/constructor.js +16 -16
- package/src/dom/declaration/metavariable.js +16 -16
- package/src/dom/declaration/simpleType.js +179 -0
- package/src/dom/declaration/variable.js +16 -16
- package/src/dom/declaration.js +54 -52
- package/src/dom/deduction.js +14 -14
- package/src/dom/derivation.js +7 -7
- package/src/dom/equality.js +55 -38
- package/src/dom/error.js +2 -2
- package/src/dom/frame.js +38 -38
- package/src/dom/judgement.js +31 -29
- package/src/dom/label.js +4 -4
- package/src/dom/lemma.js +4 -4
- package/src/dom/metaLemma.js +4 -4
- package/src/dom/metatheorem.js +4 -4
- package/src/dom/metavariable.js +54 -54
- package/src/dom/premise.js +35 -33
- package/src/dom/procedureCall.js +8 -8
- package/src/dom/proof.js +5 -5
- package/src/dom/propertyRelation.js +17 -17
- package/src/dom/reference.js +27 -27
- package/src/dom/rule.js +72 -49
- package/src/dom/signature.js +15 -15
- package/src/dom/statement.js +34 -34
- package/src/dom/step.js +42 -48
- package/src/dom/subDerivation.js +7 -7
- package/src/dom/subproof.js +30 -40
- package/src/dom/substitution/statement.js +6 -6
- package/src/dom/substitution/term.js +1 -19
- package/src/dom/substitution.js +0 -13
- package/src/dom/supposition.js +38 -38
- package/src/dom/term.js +14 -14
- package/src/dom/theorem.js +4 -4
- package/src/dom/topLevelAssertion.js +62 -81
- package/src/dom/topLevelMetaAssertion.js +35 -20
- package/src/dom/type.js +23 -33
- package/src/dom/variable.js +16 -15
- package/src/equivalence.js +69 -46
- package/src/equivalences.js +53 -115
- package/src/index.js +1 -1
- package/src/mixins/statement/verify.js +51 -51
- package/src/mixins/step/unify.js +88 -67
- package/src/mixins/term/verify.js +16 -16
- package/src/substitutions.js +5 -6
- package/src/unifier/equantional.js +90 -0
- package/src/unifier/intrinsicLevel.js +7 -7
- package/src/unifier/metaLevel.js +20 -21
- package/src/unifier/metavariable.js +8 -8
- package/src/unifier/statementWithCombinator.js +17 -17
- package/src/unifier/termWithConstructor.js +9 -9
- package/src/unifier.js +40 -40
- package/src/utilities/brackets.js +1 -1
- package/src/utilities/release.js +18 -18
- package/src/utilities/subproof.js +1 -1
- package/src/utilities/type.js +1 -1
- package/src/utilities/unification.js +27 -37
- package/src/verifier/combinator.js +13 -13
- package/src/verifier/constructor.js +17 -17
- package/src/verifier/topLevel.js +41 -41
- package/src/verifier.js +29 -29
- package/lib/dom/declaration/type.js +0 -209
- package/lib/unifier/equality.js +0 -155
- package/src/dom/declaration/type.js +0 -150
- package/src/unifier/equality.js +0 -70
|
@@ -1,209 +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 _dom = /*#__PURE__*/ _interop_require_wildcard(require("../../dom"));
|
|
12
|
-
var _type = require("../../utilities/type");
|
|
13
|
-
function _class_call_check(instance, Constructor) {
|
|
14
|
-
if (!(instance instanceof Constructor)) {
|
|
15
|
-
throw new TypeError("Cannot call a class as a function");
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
function _defineProperties(target, props) {
|
|
19
|
-
for(var i = 0; i < props.length; i++){
|
|
20
|
-
var descriptor = props[i];
|
|
21
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
22
|
-
descriptor.configurable = true;
|
|
23
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
24
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
function _create_class(Constructor, protoProps, staticProps) {
|
|
28
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
29
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
30
|
-
return Constructor;
|
|
31
|
-
}
|
|
32
|
-
function _define_property(obj, key, value) {
|
|
33
|
-
if (key in obj) {
|
|
34
|
-
Object.defineProperty(obj, key, {
|
|
35
|
-
value: value,
|
|
36
|
-
enumerable: true,
|
|
37
|
-
configurable: true,
|
|
38
|
-
writable: true
|
|
39
|
-
});
|
|
40
|
-
} else {
|
|
41
|
-
obj[key] = value;
|
|
42
|
-
}
|
|
43
|
-
return obj;
|
|
44
|
-
}
|
|
45
|
-
function _getRequireWildcardCache(nodeInterop) {
|
|
46
|
-
if (typeof WeakMap !== "function") return null;
|
|
47
|
-
var cacheBabelInterop = new WeakMap();
|
|
48
|
-
var cacheNodeInterop = new WeakMap();
|
|
49
|
-
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
50
|
-
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
51
|
-
})(nodeInterop);
|
|
52
|
-
}
|
|
53
|
-
function _interop_require_wildcard(obj, nodeInterop) {
|
|
54
|
-
if (!nodeInterop && obj && obj.__esModule) {
|
|
55
|
-
return obj;
|
|
56
|
-
}
|
|
57
|
-
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
58
|
-
return {
|
|
59
|
-
default: obj
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
var cache = _getRequireWildcardCache(nodeInterop);
|
|
63
|
-
if (cache && cache.has(obj)) {
|
|
64
|
-
return cache.get(obj);
|
|
65
|
-
}
|
|
66
|
-
var newObj = {
|
|
67
|
-
__proto__: null
|
|
68
|
-
};
|
|
69
|
-
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
70
|
-
for(var key in obj){
|
|
71
|
-
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
72
|
-
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
73
|
-
if (desc && (desc.get || desc.set)) {
|
|
74
|
-
Object.defineProperty(newObj, key, desc);
|
|
75
|
-
} else {
|
|
76
|
-
newObj[key] = obj[key];
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
newObj.default = obj;
|
|
81
|
-
if (cache) {
|
|
82
|
-
cache.set(obj, newObj);
|
|
83
|
-
}
|
|
84
|
-
return newObj;
|
|
85
|
-
}
|
|
86
|
-
var _TypeDeclaration;
|
|
87
|
-
var _default = (0, _dom.domAssigned)((_TypeDeclaration = /*#__PURE__*/ function() {
|
|
88
|
-
function TypeDeclaration(fileContext, string, type) {
|
|
89
|
-
_class_call_check(this, TypeDeclaration);
|
|
90
|
-
this.fileContext = fileContext;
|
|
91
|
-
this.string = string;
|
|
92
|
-
this.type = type;
|
|
93
|
-
}
|
|
94
|
-
_create_class(TypeDeclaration, [
|
|
95
|
-
{
|
|
96
|
-
key: "getFileContext",
|
|
97
|
-
value: function getFileContext() {
|
|
98
|
-
return this.fileContext;
|
|
99
|
-
}
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
key: "getString",
|
|
103
|
-
value: function getString() {
|
|
104
|
-
return this.string;
|
|
105
|
-
}
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
key: "getType",
|
|
109
|
-
value: function getType() {
|
|
110
|
-
return this.type;
|
|
111
|
-
}
|
|
112
|
-
},
|
|
113
|
-
{
|
|
114
|
-
key: "verify",
|
|
115
|
-
value: function verify() {
|
|
116
|
-
var verified = false;
|
|
117
|
-
var typeDeclarationString = this.getString(); ///
|
|
118
|
-
this.fileContext.trace("Verifying the '".concat(typeDeclarationString, "' type declaration..."));
|
|
119
|
-
var typeVerified = this.verifyType();
|
|
120
|
-
if (typeVerified) {
|
|
121
|
-
var superTypesVerified = this.verifySuperTypes();
|
|
122
|
-
if (superTypesVerified) {
|
|
123
|
-
this.fileContext.addType(this.type);
|
|
124
|
-
verified = true;
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
if (verified) {
|
|
128
|
-
this.fileContext.debug("...verified the '".concat(typeDeclarationString, "' type declaration."));
|
|
129
|
-
}
|
|
130
|
-
return verified;
|
|
131
|
-
}
|
|
132
|
-
},
|
|
133
|
-
{
|
|
134
|
-
key: "verifyType",
|
|
135
|
-
value: function verifyType() {
|
|
136
|
-
var typeVerified = false;
|
|
137
|
-
var typeName = this.type.getName(), typeString = this.type.getString();
|
|
138
|
-
this.fileContext.trace("Verifying the '".concat(typeString, "' type..."));
|
|
139
|
-
var typePresent = this.fileContext.isTypePresentByTypeName(typeName);
|
|
140
|
-
if (typePresent) {
|
|
141
|
-
this.fileContext.debug("The type '".concat(typeString, "' is already present."));
|
|
142
|
-
} else {
|
|
143
|
-
typeVerified = true;
|
|
144
|
-
}
|
|
145
|
-
if (typeVerified) {
|
|
146
|
-
this.fileContext.debug("...verified the '".concat(typeString, "' type."));
|
|
147
|
-
}
|
|
148
|
-
return typeVerified;
|
|
149
|
-
}
|
|
150
|
-
},
|
|
151
|
-
{
|
|
152
|
-
key: "verifySuperType",
|
|
153
|
-
value: function verifySuperType(superType) {
|
|
154
|
-
var superTypeVerified;
|
|
155
|
-
var superTypeString = superType.getString();
|
|
156
|
-
this.fileContext.trace("Verifying the '".concat(superTypeString, "' super-type..."));
|
|
157
|
-
var superTypeName = superType.getName(), superTypePresent = this.fileContext.isTypePresentByTypeName(superTypeName);
|
|
158
|
-
superTypeVerified = superTypePresent; ///
|
|
159
|
-
if (superTypeVerified) {
|
|
160
|
-
this.fileContext.debug("...verified the '".concat(superTypeString, "' super-type."));
|
|
161
|
-
}
|
|
162
|
-
return superTypeVerified;
|
|
163
|
-
}
|
|
164
|
-
},
|
|
165
|
-
{
|
|
166
|
-
key: "verifySuperTypes",
|
|
167
|
-
value: function verifySuperTypes() {
|
|
168
|
-
var _this = this;
|
|
169
|
-
var superTypesVerified;
|
|
170
|
-
var typeBasic = this.type.isBasic();
|
|
171
|
-
if (typeBasic) {
|
|
172
|
-
superTypesVerified = true;
|
|
173
|
-
} else {
|
|
174
|
-
var superTypes;
|
|
175
|
-
superTypes = this.type.getSuperTypes();
|
|
176
|
-
var superTypesString = (0, _type.superTypesStringFromSuperTypes)(superTypes);
|
|
177
|
-
this.fileContext.trace("Verifying the ".concat(superTypesString, " super-types..."));
|
|
178
|
-
superTypesVerified = superTypes.every(function(superType) {
|
|
179
|
-
var superTypeVerified = _this.verifySuperType(superType);
|
|
180
|
-
if (superTypeVerified) {
|
|
181
|
-
return true;
|
|
182
|
-
}
|
|
183
|
-
});
|
|
184
|
-
if (superTypesVerified) {
|
|
185
|
-
superTypes = superTypes.map(function(superType) {
|
|
186
|
-
var superTypeName = superType.getName();
|
|
187
|
-
superType = _this.fileContext.findTypeByTypeName(superTypeName);
|
|
188
|
-
return superType;
|
|
189
|
-
});
|
|
190
|
-
this.type.setSuperTypes(superTypes);
|
|
191
|
-
this.fileContext.debug("...verified the ".concat(superTypesString, " super-types."));
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
return superTypesVerified;
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
], [
|
|
198
|
-
{
|
|
199
|
-
key: "fromTypeDeclarationNode",
|
|
200
|
-
value: function fromTypeDeclarationNode(typeDeclarationNode, fileContext) {
|
|
201
|
-
var Type = _dom.default.Type, type = Type.fromTypeDeclarationNode(typeDeclarationNode, fileContext), typeName = type.getName(), superTypes = type.getSuperTypes(), string = (0, _type.stringFromTypeNameNameAndSuperTypes)(typeName, superTypes), typeDeclaration = new TypeDeclaration(fileContext, string, type);
|
|
202
|
-
return typeDeclaration;
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
]);
|
|
206
|
-
return TypeDeclaration;
|
|
207
|
-
}(), _define_property(_TypeDeclaration, "name", "TypeDeclaration"), _TypeDeclaration));
|
|
208
|
-
|
|
209
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vZGVjbGFyYXRpb24vdHlwZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGRvbSBmcm9tIFwiLi4vLi4vZG9tXCI7XG5cbmltcG9ydCB7IGRvbUFzc2lnbmVkIH0gZnJvbSBcIi4uLy4uL2RvbVwiO1xuaW1wb3J0IHsgc3VwZXJUeXBlc1N0cmluZ0Zyb21TdXBlclR5cGVzIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy90eXBlXCI7XG5pbXBvcnQgeyBzdHJpbmdGcm9tVHlwZU5hbWVOYW1lQW5kU3VwZXJUeXBlcyB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvdHlwZVwiO1xuXG5leHBvcnQgZGVmYXVsdCBkb21Bc3NpZ25lZChjbGFzcyBUeXBlRGVjbGFyYXRpb24ge1xuICBjb25zdHJ1Y3RvcihmaWxlQ29udGV4dCwgc3RyaW5nLCB0eXBlKSB7XG4gICAgdGhpcy5maWxlQ29udGV4dCA9IGZpbGVDb250ZXh0O1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gIH1cblxuICBnZXRGaWxlQ29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5maWxlQ29udGV4dDtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmc7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICB2ZXJpZnkoKSB7XG4gICAgbGV0IHZlcmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCB0eXBlRGVjbGFyYXRpb25TdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIHRoaXMuZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7dHlwZURlY2xhcmF0aW9uU3RyaW5nfScgdHlwZSBkZWNsYXJhdGlvbi4uLmApO1xuXG4gICAgY29uc3QgdHlwZVZlcmlmaWVkID0gdGhpcy52ZXJpZnlUeXBlKCk7XG5cbiAgICBpZiAodHlwZVZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBzdXBlclR5cGVzVmVyaWZpZWQgPSB0aGlzLnZlcmlmeVN1cGVyVHlwZXMoKTtcblxuICAgICAgaWYgKHN1cGVyVHlwZXNWZXJpZmllZCkge1xuICAgICAgICB0aGlzLmZpbGVDb250ZXh0LmFkZFR5cGUodGhpcy50eXBlKTtcblxuICAgICAgICB2ZXJpZmllZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHZlcmlmaWVkKSB7XG4gICAgICB0aGlzLmZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dHlwZURlY2xhcmF0aW9uU3RyaW5nfScgdHlwZSBkZWNsYXJhdGlvbi5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWQ7XG4gIH1cblxuICB2ZXJpZnlUeXBlKCkge1xuICAgIGxldCB0eXBlVmVyaWZpZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IHR5cGVOYW1lID0gdGhpcy50eXBlLmdldE5hbWUoKSxcbiAgICAgICAgICB0eXBlU3RyaW5nID0gdGhpcy50eXBlLmdldFN0cmluZygpO1xuXG4gICAgdGhpcy5maWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0eXBlU3RyaW5nfScgdHlwZS4uLmApO1xuXG4gICAgY29uc3QgdHlwZVByZXNlbnQgPSB0aGlzLmZpbGVDb250ZXh0LmlzVHlwZVByZXNlbnRCeVR5cGVOYW1lKHR5cGVOYW1lKTtcblxuICAgIGlmICh0eXBlUHJlc2VudCkge1xuICAgICAgdGhpcy5maWxlQ29udGV4dC5kZWJ1ZyhgVGhlIHR5cGUgJyR7dHlwZVN0cmluZ30nIGlzIGFscmVhZHkgcHJlc2VudC5gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdHlwZVZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodHlwZVZlcmlmaWVkKSB7XG4gICAgICB0aGlzLmZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dHlwZVN0cmluZ30nIHR5cGUuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR5cGVWZXJpZmllZDtcbiAgfVxuXG4gIHZlcmlmeVN1cGVyVHlwZShzdXBlclR5cGUpIHtcbiAgICBsZXQgc3VwZXJUeXBlVmVyaWZpZWQ7XG5cbiAgICBjb25zdCBzdXBlclR5cGVTdHJpbmcgPSBzdXBlclR5cGUuZ2V0U3RyaW5nKCk7XG5cbiAgICB0aGlzLmZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3N1cGVyVHlwZVN0cmluZ30nIHN1cGVyLXR5cGUuLi5gKTtcblxuICAgIGNvbnN0IHN1cGVyVHlwZU5hbWUgPSBzdXBlclR5cGUuZ2V0TmFtZSgpLFxuICAgICAgICAgIHN1cGVyVHlwZVByZXNlbnQgPSB0aGlzLmZpbGVDb250ZXh0LmlzVHlwZVByZXNlbnRCeVR5cGVOYW1lKHN1cGVyVHlwZU5hbWUpO1xuXG4gICAgc3VwZXJUeXBlVmVyaWZpZWQgPSBzdXBlclR5cGVQcmVzZW50OyAvLy9cblxuICAgIGlmIChzdXBlclR5cGVWZXJpZmllZCkge1xuICAgICAgdGhpcy5maWxlQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N1cGVyVHlwZVN0cmluZ30nIHN1cGVyLXR5cGUuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1cGVyVHlwZVZlcmlmaWVkO1xuICB9XG5cbiAgdmVyaWZ5U3VwZXJUeXBlcygpIHtcbiAgICBsZXQgc3VwZXJUeXBlc1ZlcmlmaWVkO1xuXG4gICAgY29uc3QgdHlwZUJhc2ljID0gdGhpcy50eXBlLmlzQmFzaWMoKTtcblxuICAgIGlmICh0eXBlQmFzaWMpIHtcbiAgICAgIHN1cGVyVHlwZXNWZXJpZmllZCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBzdXBlclR5cGVzO1xuXG4gICAgICBzdXBlclR5cGVzID0gdGhpcy50eXBlLmdldFN1cGVyVHlwZXMoKTtcblxuICAgICAgY29uc3Qgc3VwZXJUeXBlc1N0cmluZyA9IHN1cGVyVHlwZXNTdHJpbmdGcm9tU3VwZXJUeXBlcyhzdXBlclR5cGVzKTtcblxuICAgICAgdGhpcy5maWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAke3N1cGVyVHlwZXNTdHJpbmd9IHN1cGVyLXR5cGVzLi4uYCk7XG5cbiAgICAgIHN1cGVyVHlwZXNWZXJpZmllZCA9IHN1cGVyVHlwZXMuZXZlcnkoKHN1cGVyVHlwZSkgPT4ge1xuICAgICAgICBjb25zdCBzdXBlclR5cGVWZXJpZmllZCA9IHRoaXMudmVyaWZ5U3VwZXJUeXBlKHN1cGVyVHlwZSk7XG5cbiAgICAgICAgaWYgKHN1cGVyVHlwZVZlcmlmaWVkKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBpZiAoc3VwZXJUeXBlc1ZlcmlmaWVkKSB7XG4gICAgICAgIHN1cGVyVHlwZXMgPSBzdXBlclR5cGVzLm1hcCgoc3VwZXJUeXBlKSA9PiB7XG4gICAgICAgICAgY29uc3Qgc3VwZXJUeXBlTmFtZSA9IHN1cGVyVHlwZS5nZXROYW1lKCk7XG5cbiAgICAgICAgICBzdXBlclR5cGUgPSB0aGlzLmZpbGVDb250ZXh0LmZpbmRUeXBlQnlUeXBlTmFtZShzdXBlclR5cGVOYW1lKTtcblxuICAgICAgICAgIHJldHVybiBzdXBlclR5cGU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudHlwZS5zZXRTdXBlclR5cGVzKHN1cGVyVHlwZXMpO1xuXG4gICAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAke3N1cGVyVHlwZXNTdHJpbmd9IHN1cGVyLXR5cGVzLmApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzdXBlclR5cGVzVmVyaWZpZWQ7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiVHlwZURlY2xhcmF0aW9uXCI7XG5cbiAgc3RhdGljIGZyb21UeXBlRGVjbGFyYXRpb25Ob2RlKHR5cGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgeyBUeXBlIH0gPSBkb20sXG4gICAgICAgICAgdHlwZSA9IFR5cGUuZnJvbVR5cGVEZWNsYXJhdGlvbk5vZGUodHlwZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIHR5cGVOYW1lID0gdHlwZS5nZXROYW1lKCksXG4gICAgICAgICAgc3VwZXJUeXBlcyA9IHR5cGUuZ2V0U3VwZXJUeXBlcygpLFxuICAgICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21UeXBlTmFtZU5hbWVBbmRTdXBlclR5cGVzKHR5cGVOYW1lLCBzdXBlclR5cGVzKSxcbiAgICAgICAgICB0eXBlRGVjbGFyYXRpb24gPSBuZXcgVHlwZURlY2xhcmF0aW9uKGZpbGVDb250ZXh0LCBzdHJpbmcsIHR5cGUpO1xuXG4gICAgcmV0dXJuIHR5cGVEZWNsYXJhdGlvbjtcbiAgfVxufSk7XG4iXSwibmFtZXMiOlsiZG9tQXNzaWduZWQiLCJUeXBlRGVjbGFyYXRpb24iLCJmaWxlQ29udGV4dCIsInN0cmluZyIsInR5cGUiLCJnZXRGaWxlQ29udGV4dCIsImdldFN0cmluZyIsImdldFR5cGUiLCJ2ZXJpZnkiLCJ2ZXJpZmllZCIsInR5cGVEZWNsYXJhdGlvblN0cmluZyIsInRyYWNlIiwidHlwZVZlcmlmaWVkIiwidmVyaWZ5VHlwZSIsInN1cGVyVHlwZXNWZXJpZmllZCIsInZlcmlmeVN1cGVyVHlwZXMiLCJhZGRUeXBlIiwiZGVidWciLCJ0eXBlTmFtZSIsImdldE5hbWUiLCJ0eXBlU3RyaW5nIiwidHlwZVByZXNlbnQiLCJpc1R5cGVQcmVzZW50QnlUeXBlTmFtZSIsInZlcmlmeVN1cGVyVHlwZSIsInN1cGVyVHlwZSIsInN1cGVyVHlwZVZlcmlmaWVkIiwic3VwZXJUeXBlU3RyaW5nIiwic3VwZXJUeXBlTmFtZSIsInN1cGVyVHlwZVByZXNlbnQiLCJ0eXBlQmFzaWMiLCJpc0Jhc2ljIiwic3VwZXJUeXBlcyIsImdldFN1cGVyVHlwZXMiLCJzdXBlclR5cGVzU3RyaW5nIiwic3VwZXJUeXBlc1N0cmluZ0Zyb21TdXBlclR5cGVzIiwiZXZlcnkiLCJtYXAiLCJmaW5kVHlwZUJ5VHlwZU5hbWUiLCJzZXRTdXBlclR5cGVzIiwiZnJvbVR5cGVEZWNsYXJhdGlvbk5vZGUiLCJ0eXBlRGVjbGFyYXRpb25Ob2RlIiwiVHlwZSIsImRvbSIsInN0cmluZ0Zyb21UeXBlTmFtZU5hbWVBbmRTdXBlclR5cGVzIiwidHlwZURlY2xhcmF0aW9uIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBUUE7OztlQUFBOzs7MkRBTmdCO29CQUcrQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBRy9DLFdBQWVBLElBQUFBLGdCQUFXLG9DQUFDO2FBQU1DLGdCQUNuQkMsV0FBVyxFQUFFQyxNQUFNLEVBQUVDLElBQUk7Z0NBRE5IO1FBRTdCLElBQUksQ0FBQ0MsV0FBVyxHQUFHQTtRQUNuQixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLElBQUksR0FBR0E7Ozs7WUFHZEMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxXQUFXO1lBQ3pCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxNQUFNO1lBQ3BCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxJQUFJO1lBQ2xCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQUlDLFdBQVc7Z0JBRWYsSUFBTUMsd0JBQXdCLElBQUksQ0FBQ0osU0FBUyxJQUFJLEdBQUc7Z0JBRW5ELElBQUksQ0FBQ0osV0FBVyxDQUFDUyxLQUFLLENBQUMsQUFBQyxrQkFBdUMsT0FBdEJELHVCQUFzQjtnQkFFL0QsSUFBTUUsZUFBZSxJQUFJLENBQUNDLFVBQVU7Z0JBRXBDLElBQUlELGNBQWM7b0JBQ2hCLElBQU1FLHFCQUFxQixJQUFJLENB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
|
package/lib/unifier/equality.js
DELETED
|
@@ -1,155 +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 _unifier = /*#__PURE__*/ _interop_require_default(require("../unifier"));
|
|
12
|
-
var _query = require("../utilities/query");
|
|
13
|
-
function _assert_this_initialized(self) {
|
|
14
|
-
if (self === void 0) {
|
|
15
|
-
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
16
|
-
}
|
|
17
|
-
return self;
|
|
18
|
-
}
|
|
19
|
-
function _call_super(_this, derived, args) {
|
|
20
|
-
derived = _get_prototype_of(derived);
|
|
21
|
-
return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
|
|
22
|
-
}
|
|
23
|
-
function _class_call_check(instance, Constructor) {
|
|
24
|
-
if (!(instance instanceof Constructor)) {
|
|
25
|
-
throw new TypeError("Cannot call a class as a function");
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
function _defineProperties(target, props) {
|
|
29
|
-
for(var i = 0; i < props.length; i++){
|
|
30
|
-
var descriptor = props[i];
|
|
31
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
32
|
-
descriptor.configurable = true;
|
|
33
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
34
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
function _create_class(Constructor, protoProps, staticProps) {
|
|
38
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
39
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
40
|
-
return Constructor;
|
|
41
|
-
}
|
|
42
|
-
function _define_property(obj, key, value) {
|
|
43
|
-
if (key in obj) {
|
|
44
|
-
Object.defineProperty(obj, key, {
|
|
45
|
-
value: value,
|
|
46
|
-
enumerable: true,
|
|
47
|
-
configurable: true,
|
|
48
|
-
writable: true
|
|
49
|
-
});
|
|
50
|
-
} else {
|
|
51
|
-
obj[key] = value;
|
|
52
|
-
}
|
|
53
|
-
return obj;
|
|
54
|
-
}
|
|
55
|
-
function _get_prototype_of(o) {
|
|
56
|
-
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
|
|
57
|
-
return o.__proto__ || Object.getPrototypeOf(o);
|
|
58
|
-
};
|
|
59
|
-
return _get_prototype_of(o);
|
|
60
|
-
}
|
|
61
|
-
function _inherits(subClass, superClass) {
|
|
62
|
-
if (typeof superClass !== "function" && superClass !== null) {
|
|
63
|
-
throw new TypeError("Super expression must either be null or a function");
|
|
64
|
-
}
|
|
65
|
-
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
66
|
-
constructor: {
|
|
67
|
-
value: subClass,
|
|
68
|
-
writable: true,
|
|
69
|
-
configurable: true
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
if (superClass) _set_prototype_of(subClass, superClass);
|
|
73
|
-
}
|
|
74
|
-
function _interop_require_default(obj) {
|
|
75
|
-
return obj && obj.__esModule ? obj : {
|
|
76
|
-
default: obj
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
function _possible_constructor_return(self, call) {
|
|
80
|
-
if (call && (_type_of(call) === "object" || typeof call === "function")) {
|
|
81
|
-
return call;
|
|
82
|
-
}
|
|
83
|
-
return _assert_this_initialized(self);
|
|
84
|
-
}
|
|
85
|
-
function _set_prototype_of(o, p) {
|
|
86
|
-
_set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
|
|
87
|
-
o.__proto__ = p;
|
|
88
|
-
return o;
|
|
89
|
-
};
|
|
90
|
-
return _set_prototype_of(o, p);
|
|
91
|
-
}
|
|
92
|
-
function _type_of(obj) {
|
|
93
|
-
"@swc/helpers - typeof";
|
|
94
|
-
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
95
|
-
}
|
|
96
|
-
function _is_native_reflect_construct() {
|
|
97
|
-
try {
|
|
98
|
-
var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
99
|
-
} catch (_) {}
|
|
100
|
-
return (_is_native_reflect_construct = function() {
|
|
101
|
-
return !!result;
|
|
102
|
-
})();
|
|
103
|
-
}
|
|
104
|
-
var termNodeQuery = (0, _query.nodeQuery)("/term");
|
|
105
|
-
var EqualityUnifier = /*#__PURE__*/ function(Unifier) {
|
|
106
|
-
_inherits(EqualityUnifier, Unifier);
|
|
107
|
-
function EqualityUnifier() {
|
|
108
|
-
_class_call_check(this, EqualityUnifier);
|
|
109
|
-
return _call_super(this, EqualityUnifier, arguments);
|
|
110
|
-
}
|
|
111
|
-
_create_class(EqualityUnifier, [
|
|
112
|
-
{
|
|
113
|
-
key: "unify",
|
|
114
|
-
value: function unify(leftTermNode, rightTermNode, context) {
|
|
115
|
-
var equalityUnified;
|
|
116
|
-
var leftNonTerminalNode = leftTermNode, rightNonTerminalNode = rightTermNode, nonTerminalNodeUnified = this.unifyNonTerminalNode(leftNonTerminalNode, rightNonTerminalNode, context);
|
|
117
|
-
equalityUnified = nonTerminalNodeUnified; ///
|
|
118
|
-
return equalityUnified;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
]);
|
|
122
|
-
return EqualityUnifier;
|
|
123
|
-
}(_unifier.default);
|
|
124
|
-
_define_property(EqualityUnifier, "maps", [
|
|
125
|
-
{
|
|
126
|
-
generalNodeQuery: termNodeQuery,
|
|
127
|
-
specificNodeQuery: termNodeQuery,
|
|
128
|
-
unify: function(leftTermNode, rightTermNode, context) {
|
|
129
|
-
var termUnifiedWithTerm;
|
|
130
|
-
var leftTermNodeMatchesRightTermNode = leftTermNode.match(rightTermNode);
|
|
131
|
-
if (leftTermNodeMatchesRightTermNode) {
|
|
132
|
-
termUnifiedWithTerm = true;
|
|
133
|
-
} else {
|
|
134
|
-
var equivalences = context.getEquivalences(), termNodes = [
|
|
135
|
-
leftTermNode,
|
|
136
|
-
rightTermNode
|
|
137
|
-
], equivalence = equivalences.findEquivalenceByTermNodes(termNodes);
|
|
138
|
-
termUnifiedWithTerm = equivalence !== null;
|
|
139
|
-
}
|
|
140
|
-
if (!termUnifiedWithTerm) {
|
|
141
|
-
var childNodesUnified = unifyChildNodes(leftTermNode, rightTermNode, context);
|
|
142
|
-
termUnifiedWithTerm = childNodesUnified; ///
|
|
143
|
-
}
|
|
144
|
-
return termUnifiedWithTerm;
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
]);
|
|
148
|
-
var equalityUnifier = new EqualityUnifier();
|
|
149
|
-
var _default = equalityUnifier;
|
|
150
|
-
function unifyChildNodes(leftTermNode, rightTermNode, context) {
|
|
151
|
-
var leftNonTerminalNode = leftTermNode, rightNonTerminalNode = rightTermNode, leftNonTerminalNodeChildNodes = leftNonTerminalNode.getChildNodes(), rightNonTerminalNodeChildNodes = rightNonTerminalNode.getChildNodes(), leftChildNodes = leftNonTerminalNodeChildNodes, rightChildNodes = rightNonTerminalNodeChildNodes, childNodesUnified = equalityUnifier.unifyChildNodes(leftChildNodes, rightChildNodes, context);
|
|
152
|
-
return childNodesUnified;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91bmlmaWVyL2VxdWFsaXR5LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgVW5pZmllciBmcm9tIFwiLi4vdW5pZmllclwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHRlcm1Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdGVybVwiKTtcblxuY2xhc3MgRXF1YWxpdHlVbmlmaWVyIGV4dGVuZHMgVW5pZmllciB7XG4gIHVuaWZ5KGxlZnRUZXJtTm9kZSwgcmlnaHRUZXJtTm9kZSwgY29udGV4dCkge1xuICAgIGxldCBlcXVhbGl0eVVuaWZpZWQ7XG5cbiAgICBjb25zdCBsZWZ0Tm9uVGVybWluYWxOb2RlID0gbGVmdFRlcm1Ob2RlLCAvLy9cbiAgICAgICAgICByaWdodE5vblRlcm1pbmFsTm9kZSA9IHJpZ2h0VGVybU5vZGUsIC8vL1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVVuaWZpZWQgPSB0aGlzLnVuaWZ5Tm9uVGVybWluYWxOb2RlKGxlZnROb25UZXJtaW5hbE5vZGUsIHJpZ2h0Tm9uVGVybWluYWxOb2RlLCBjb250ZXh0KTtcblxuICAgIGVxdWFsaXR5VW5pZmllZCA9IG5vblRlcm1pbmFsTm9kZVVuaWZpZWQ7IC8vL1xuXG4gICAgcmV0dXJuIGVxdWFsaXR5VW5pZmllZDtcbiAgfTtcblxuICBzdGF0aWMgbWFwcyA9IFtcbiAgICB7XG4gICAgICBnZW5lcmFsTm9kZVF1ZXJ5OiB0ZXJtTm9kZVF1ZXJ5LCAgLy8vXG4gICAgICBzcGVjaWZpY05vZGVRdWVyeTogdGVybU5vZGVRdWVyeSwgLy8vXG4gICAgICB1bmlmeTogKGxlZnRUZXJtTm9kZSwgcmlnaHRUZXJtTm9kZSwgY29udGV4dCkgPT4ge1xuICAgICAgICBsZXQgdGVybVVuaWZpZWRXaXRoVGVybTtcblxuICAgICAgICBjb25zdCBsZWZ0VGVybU5vZGVNYXRjaGVzUmlnaHRUZXJtTm9kZSA9IGxlZnRUZXJtTm9kZS5tYXRjaChyaWdodFRlcm1Ob2RlKTtcblxuICAgICAgICBpZiAobGVmdFRlcm1Ob2RlTWF0Y2hlc1JpZ2h0VGVybU5vZGUpIHtcbiAgICAgICAgICB0ZXJtVW5pZmllZFdpdGhUZXJtID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBlcXVpdmFsZW5jZXMgPSBjb250ZXh0LmdldEVxdWl2YWxlbmNlcygpLFxuICAgICAgICAgICAgICAgIHRlcm1Ob2RlcyA9IFtcbiAgICAgICAgICAgICAgICAgIGxlZnRUZXJtTm9kZSxcbiAgICAgICAgICAgICAgICAgIHJpZ2h0VGVybU5vZGVcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIGVxdWl2YWxlbmNlID0gZXF1aXZhbGVuY2VzLmZpbmRFcXVpdmFsZW5jZUJ5VGVybU5vZGVzKHRlcm1Ob2Rlcyk7XG5cbiAgICAgICAgICB0ZXJtVW5pZmllZFdpdGhUZXJtID0gKGVxdWl2YWxlbmNlICE9PSBudWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGVybVVuaWZpZWRXaXRoVGVybSkge1xuICAgICAgICAgIGNvbnN0IGNoaWxkTm9kZXNVbmlmaWVkID0gdW5pZnlDaGlsZE5vZGVzKGxlZnRUZXJtTm9kZSwgcmlnaHRUZXJtTm9kZSwgY29udGV4dCk7XG5cbiAgICAgICAgICB0ZXJtVW5pZmllZFdpdGhUZXJtID0gY2hpbGROb2Rlc1VuaWZpZWQ7IC8vL1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRlcm1VbmlmaWVkV2l0aFRlcm07XG4gICAgICB9XG4gICAgfVxuICBdO1xufVxuXG5jb25zdCBlcXVhbGl0eVVuaWZpZXIgPSBuZXcgRXF1YWxpdHlVbmlmaWVyKCk7XG5cbmV4cG9ydCBkZWZhdWx0IGVxdWFsaXR5VW5pZmllcjtcblxuZnVuY3Rpb24gdW5pZnlDaGlsZE5vZGVzKGxlZnRUZXJtTm9kZSwgcmlnaHRUZXJtTm9kZSwgY29udGV4dCkge1xuICBjb25zdCBsZWZ0Tm9uVGVybWluYWxOb2RlID0gbGVmdFRlcm1Ob2RlLCAvLy9cbiAgICAgICAgcmlnaHROb25UZXJtaW5hbE5vZGUgPSByaWdodFRlcm1Ob2RlLCAvLy9cbiAgICAgICAgbGVmdE5vblRlcm1pbmFsTm9kZUNoaWxkTm9kZXMgPSBsZWZ0Tm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgcmlnaHROb25UZXJtaW5hbE5vZGVDaGlsZE5vZGVzID0gcmlnaHROb25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICBsZWZ0Q2hpbGROb2RlcyA9IGxlZnROb25UZXJtaW5hbE5vZGVDaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgcmlnaHRDaGlsZE5vZGVzID0gcmlnaHROb25UZXJtaW5hbE5vZGVDaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgY2hpbGROb2Rlc1VuaWZpZWQgPSBlcXVhbGl0eVVuaWZpZXIudW5pZnlDaGlsZE5vZGVzKGxlZnRDaGlsZE5vZGVzLCByaWdodENoaWxkTm9kZXMsIGNvbnRleHQpO1xuXG4gIHJldHVybiBjaGlsZE5vZGVzVW5pZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ0ZXJtTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwiRXF1YWxpdHlVbmlmaWVyIiwidW5pZnkiLCJsZWZ0VGVybU5vZGUiLCJyaWdodFRlcm1Ob2RlIiwiY29udGV4dCIsImVxdWFsaXR5VW5pZmllZCIsImxlZnROb25UZXJtaW5hbE5vZGUiLCJyaWdodE5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZVVuaWZpZWQiLCJ1bmlmeU5vblRlcm1pbmFsTm9kZSIsIlVuaWZpZXIiLCJtYXBzIiwiZ2VuZXJhbE5vZGVRdWVyeSIsInNwZWNpZmljTm9kZVF1ZXJ5IiwidGVybVVuaWZpZWRXaXRoVGVybSIsImxlZnRUZXJtTm9kZU1hdGNoZXNSaWdodFRlcm1Ob2RlIiwibWF0Y2giLCJlcXVpdmFsZW5jZXMiLCJnZXRFcXVpdmFsZW5jZXMiLCJ0ZXJtTm9kZXMiLCJlcXVpdmFsZW5jZSIsImZpbmRFcXVpdmFsZW5jZUJ5VGVybU5vZGVzIiwiY2hpbGROb2Rlc1VuaWZpZWQiLCJ1bmlmeUNoaWxkTm9kZXMiLCJlcXVhbGl0eVVuaWZpZXIiLCJsZWZ0Tm9uVGVybWluYWxOb2RlQ2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJyaWdodE5vblRlcm1pbmFsTm9kZUNoaWxkTm9kZXMiLCJsZWZ0Q2hpbGROb2RlcyIsInJpZ2h0Q2hpbGROb2RlcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBeURBOzs7ZUFBQTs7OzhEQXZEb0I7cUJBRU07Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTFCLElBQU1BLGdCQUFnQkMsSUFBQUEsZ0JBQVMsRUFBQztBQUVoQyxJQUFBLEFBQU1DLGdDQUFOO2NBQU1BO2FBQUFBO2dDQUFBQTtRQUFOLE9BQUEsa0JBQU1BOztrQkFBQUE7O1lBQ0pDLEtBQUFBO21CQUFBQSxTQUFBQSxNQUFNQyxZQUFZLEVBQUVDLGFBQWEsRUFBRUMsT0FBTztnQkFDeEMsSUFBSUM7Z0JBRUosSUFBTUMsc0JBQXNCSixjQUN0QkssdUJBQXVCSixlQUN2QksseUJBQXlCLElBQUksQ0FBQ0Msb0JBQW9CLENBQUNILHFCQUFxQkMsc0JBQXNCSDtnQkFFcEdDLGtCQUFrQkcsd0JBQXdCLEdBQUc7Z0JBRTdDLE9BQU9IO1lBQ1Q7OztXQVhJTDtFQUF3QlUsZ0JBQU87QUFhbkMsaUJBYklWLGlCQWFHVyxRQUFPO0lBQ1o7UUFDRUMsa0JBQWtCZDtRQUNsQmUsbUJBQW1CZjtRQUNuQkcsT0FBTyxTQUFDQyxjQUFjQyxlQUFlQztZQUNuQyxJQUFJVTtZQUVKLElBQU1DLG1DQUFtQ2IsYUFBYWMsS0FBSyxDQUFDYjtZQUU1RCxJQUFJWSxrQ0FBa0M7Z0JBQ3BDRCxzQkFBc0I7WUFDeEIsT0FBTztnQkFDTCxJQUFNRyxlQUFlYixRQUFRYyxlQUFlLElBQ3RDQyxZQUFZO29CQUNWakI7b0JBQ0FDO2lCQUNELEVBQ0RpQixjQUFjSCxhQUFhSSwwQkFBMEIsQ0FBQ0Y7Z0JBRTVETCxzQkFBdUJNLGdCQUFnQjtZQUN6QztZQUVBLElBQUksQ0FBQ04scUJBQXFCO2dCQUN4QixJQUFNUSxvQkFBb0JDLGdCQUFnQnJCLGNBQWNDLGVBQWVDO2dCQUV2RVUsc0JBQXNCUSxtQkFBbUIsR0FBRztZQUM5QztZQUVBLE9BQU9SO1FBQ1Q7SUFDRjtDQUNEO0FBR0gsSUFBTVUsa0JBQWtCLElBQUl4QjtJQUU1QixXQUFld0I7QUFFZixTQUFTRCxnQkFBZ0JyQixZQUFZLEVBQUVDLGFBQWEsRUFBRUMsT0FBTztJQUMzRCxJQUFNRSxzQkFBc0JKLGNBQ3RCSyx1QkFBdUJKLGVBQ3ZCc0IsZ0NBQWdDbkIsb0JBQW9Cb0IsYUFBYSxJQUNqRUMsaUNBQWlDcEIscUJBQXFCbUIsYUFBYSxJQUNuRUUsaUJBQWlCSCwrQkFDakJJLGtCQUFrQkYsZ0NBQ2xCTCxvQkFBb0JFLGdCQUFnQkQsZUFBZSxDQUFDSyxnQkFBZ0JDLGlCQUFpQnpCO0lBRTNGLE9BQU9rQjtBQUNUIn0=
|
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import dom from "../../dom";
|
|
4
|
-
|
|
5
|
-
import { domAssigned } from "../../dom";
|
|
6
|
-
import { superTypesStringFromSuperTypes } from "../../utilities/type";
|
|
7
|
-
import { stringFromTypeNameNameAndSuperTypes } from "../../utilities/type";
|
|
8
|
-
|
|
9
|
-
export default domAssigned(class TypeDeclaration {
|
|
10
|
-
constructor(fileContext, string, type) {
|
|
11
|
-
this.fileContext = fileContext;
|
|
12
|
-
this.string = string;
|
|
13
|
-
this.type = type;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
getFileContext() {
|
|
17
|
-
return this.fileContext;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
getString() {
|
|
21
|
-
return this.string;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
getType() {
|
|
25
|
-
return this.type;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
verify() {
|
|
29
|
-
let verified = false;
|
|
30
|
-
|
|
31
|
-
const typeDeclarationString = this.getString(); ///
|
|
32
|
-
|
|
33
|
-
this.fileContext.trace(`Verifying the '${typeDeclarationString}' type declaration...`);
|
|
34
|
-
|
|
35
|
-
const typeVerified = this.verifyType();
|
|
36
|
-
|
|
37
|
-
if (typeVerified) {
|
|
38
|
-
const superTypesVerified = this.verifySuperTypes();
|
|
39
|
-
|
|
40
|
-
if (superTypesVerified) {
|
|
41
|
-
this.fileContext.addType(this.type);
|
|
42
|
-
|
|
43
|
-
verified = true;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
if (verified) {
|
|
48
|
-
this.fileContext.debug(`...verified the '${typeDeclarationString}' type declaration.`);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
return verified;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
verifyType() {
|
|
55
|
-
let typeVerified = false;
|
|
56
|
-
|
|
57
|
-
const typeName = this.type.getName(),
|
|
58
|
-
typeString = this.type.getString();
|
|
59
|
-
|
|
60
|
-
this.fileContext.trace(`Verifying the '${typeString}' type...`);
|
|
61
|
-
|
|
62
|
-
const typePresent = this.fileContext.isTypePresentByTypeName(typeName);
|
|
63
|
-
|
|
64
|
-
if (typePresent) {
|
|
65
|
-
this.fileContext.debug(`The type '${typeString}' is already present.`);
|
|
66
|
-
} else {
|
|
67
|
-
typeVerified = true;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
if (typeVerified) {
|
|
71
|
-
this.fileContext.debug(`...verified the '${typeString}' type.`);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
return typeVerified;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
verifySuperType(superType) {
|
|
78
|
-
let superTypeVerified;
|
|
79
|
-
|
|
80
|
-
const superTypeString = superType.getString();
|
|
81
|
-
|
|
82
|
-
this.fileContext.trace(`Verifying the '${superTypeString}' super-type...`);
|
|
83
|
-
|
|
84
|
-
const superTypeName = superType.getName(),
|
|
85
|
-
superTypePresent = this.fileContext.isTypePresentByTypeName(superTypeName);
|
|
86
|
-
|
|
87
|
-
superTypeVerified = superTypePresent; ///
|
|
88
|
-
|
|
89
|
-
if (superTypeVerified) {
|
|
90
|
-
this.fileContext.debug(`...verified the '${superTypeString}' super-type.`);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
return superTypeVerified;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
verifySuperTypes() {
|
|
97
|
-
let superTypesVerified;
|
|
98
|
-
|
|
99
|
-
const typeBasic = this.type.isBasic();
|
|
100
|
-
|
|
101
|
-
if (typeBasic) {
|
|
102
|
-
superTypesVerified = true;
|
|
103
|
-
} else {
|
|
104
|
-
let superTypes;
|
|
105
|
-
|
|
106
|
-
superTypes = this.type.getSuperTypes();
|
|
107
|
-
|
|
108
|
-
const superTypesString = superTypesStringFromSuperTypes(superTypes);
|
|
109
|
-
|
|
110
|
-
this.fileContext.trace(`Verifying the ${superTypesString} super-types...`);
|
|
111
|
-
|
|
112
|
-
superTypesVerified = superTypes.every((superType) => {
|
|
113
|
-
const superTypeVerified = this.verifySuperType(superType);
|
|
114
|
-
|
|
115
|
-
if (superTypeVerified) {
|
|
116
|
-
return true;
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
|
|
120
|
-
if (superTypesVerified) {
|
|
121
|
-
superTypes = superTypes.map((superType) => {
|
|
122
|
-
const superTypeName = superType.getName();
|
|
123
|
-
|
|
124
|
-
superType = this.fileContext.findTypeByTypeName(superTypeName);
|
|
125
|
-
|
|
126
|
-
return superType;
|
|
127
|
-
});
|
|
128
|
-
|
|
129
|
-
this.type.setSuperTypes(superTypes);
|
|
130
|
-
|
|
131
|
-
this.fileContext.debug(`...verified the ${superTypesString} super-types.`);
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
return superTypesVerified;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
static name = "TypeDeclaration";
|
|
139
|
-
|
|
140
|
-
static fromTypeDeclarationNode(typeDeclarationNode, fileContext) {
|
|
141
|
-
const { Type } = dom,
|
|
142
|
-
type = Type.fromTypeDeclarationNode(typeDeclarationNode, fileContext),
|
|
143
|
-
typeName = type.getName(),
|
|
144
|
-
superTypes = type.getSuperTypes(),
|
|
145
|
-
string = stringFromTypeNameNameAndSuperTypes(typeName, superTypes),
|
|
146
|
-
typeDeclaration = new TypeDeclaration(fileContext, string, type);
|
|
147
|
-
|
|
148
|
-
return typeDeclaration;
|
|
149
|
-
}
|
|
150
|
-
});
|
package/src/unifier/equality.js
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import Unifier from "../unifier";
|
|
4
|
-
|
|
5
|
-
import { nodeQuery } from "../utilities/query";
|
|
6
|
-
|
|
7
|
-
const termNodeQuery = nodeQuery("/term");
|
|
8
|
-
|
|
9
|
-
class EqualityUnifier extends Unifier {
|
|
10
|
-
unify(leftTermNode, rightTermNode, context) {
|
|
11
|
-
let equalityUnified;
|
|
12
|
-
|
|
13
|
-
const leftNonTerminalNode = leftTermNode, ///
|
|
14
|
-
rightNonTerminalNode = rightTermNode, ///
|
|
15
|
-
nonTerminalNodeUnified = this.unifyNonTerminalNode(leftNonTerminalNode, rightNonTerminalNode, context);
|
|
16
|
-
|
|
17
|
-
equalityUnified = nonTerminalNodeUnified; ///
|
|
18
|
-
|
|
19
|
-
return equalityUnified;
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
static maps = [
|
|
23
|
-
{
|
|
24
|
-
generalNodeQuery: termNodeQuery, ///
|
|
25
|
-
specificNodeQuery: termNodeQuery, ///
|
|
26
|
-
unify: (leftTermNode, rightTermNode, context) => {
|
|
27
|
-
let termUnifiedWithTerm;
|
|
28
|
-
|
|
29
|
-
const leftTermNodeMatchesRightTermNode = leftTermNode.match(rightTermNode);
|
|
30
|
-
|
|
31
|
-
if (leftTermNodeMatchesRightTermNode) {
|
|
32
|
-
termUnifiedWithTerm = true;
|
|
33
|
-
} else {
|
|
34
|
-
const equivalences = context.getEquivalences(),
|
|
35
|
-
termNodes = [
|
|
36
|
-
leftTermNode,
|
|
37
|
-
rightTermNode
|
|
38
|
-
],
|
|
39
|
-
equivalence = equivalences.findEquivalenceByTermNodes(termNodes);
|
|
40
|
-
|
|
41
|
-
termUnifiedWithTerm = (equivalence !== null);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
if (!termUnifiedWithTerm) {
|
|
45
|
-
const childNodesUnified = unifyChildNodes(leftTermNode, rightTermNode, context);
|
|
46
|
-
|
|
47
|
-
termUnifiedWithTerm = childNodesUnified; ///
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
return termUnifiedWithTerm;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
];
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
const equalityUnifier = new EqualityUnifier();
|
|
57
|
-
|
|
58
|
-
export default equalityUnifier;
|
|
59
|
-
|
|
60
|
-
function unifyChildNodes(leftTermNode, rightTermNode, context) {
|
|
61
|
-
const leftNonTerminalNode = leftTermNode, ///
|
|
62
|
-
rightNonTerminalNode = rightTermNode, ///
|
|
63
|
-
leftNonTerminalNodeChildNodes = leftNonTerminalNode.getChildNodes(),
|
|
64
|
-
rightNonTerminalNodeChildNodes = rightNonTerminalNode.getChildNodes(),
|
|
65
|
-
leftChildNodes = leftNonTerminalNodeChildNodes, ///
|
|
66
|
-
rightChildNodes = rightNonTerminalNodeChildNodes, ///
|
|
67
|
-
childNodesUnified = equalityUnifier.unifyChildNodes(leftChildNodes, rightChildNodes, context);
|
|
68
|
-
|
|
69
|
-
return childNodesUnified;
|
|
70
|
-
}
|