occam-verify-cli 0.0.1108 → 0.0.1110
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/combinator/bracketed.js +18 -2
- package/lib/combinator.js +16 -1
- package/lib/constructor/bracketed.js +56 -2
- package/lib/constructor.js +22 -1
- package/lib/mixins/statement/unify.js +4 -21
- package/lib/mixins/term/unify.js +3 -44
- package/package.json +4 -4
- package/src/combinator/bracketed.js +22 -0
- package/src/combinator.js +21 -0
- package/src/constructor/bracketed.js +46 -0
- package/src/constructor.js +31 -0
- package/src/mixins/statement/unify.js +3 -34
- package/src/mixins/term/unify.js +2 -72
|
@@ -19,6 +19,7 @@ _export(exports, {
|
|
|
19
19
|
var _shim = /*#__PURE__*/ _interop_require_default(require("../shim"));
|
|
20
20
|
var _combinator = /*#__PURE__*/ _interop_require_default(require("../combinator"));
|
|
21
21
|
var _combinator1 = /*#__PURE__*/ _interop_require_default(require("../context/bracketed/combinator"));
|
|
22
|
+
var _unification = require("../utilities/unification");
|
|
22
23
|
function _assert_this_initialized(self) {
|
|
23
24
|
if (self === void 0) {
|
|
24
25
|
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
@@ -105,7 +106,22 @@ var BracketedCombinator = /*#__PURE__*/ function(Combinator) {
|
|
|
105
106
|
_class_call_check(this, BracketedCombinator);
|
|
106
107
|
return _call_super(this, BracketedCombinator, arguments);
|
|
107
108
|
}
|
|
108
|
-
_create_class(BracketedCombinator,
|
|
109
|
+
_create_class(BracketedCombinator, [
|
|
110
|
+
{
|
|
111
|
+
key: "unifyStatement",
|
|
112
|
+
value: function unifyStatement(statement, assignments, stated, context) {
|
|
113
|
+
var statementUnified;
|
|
114
|
+
var statementString = statement.getString();
|
|
115
|
+
context.trace("Unifying the '".concat(statementString, "' statement with the bracketed combinator..."));
|
|
116
|
+
var bracketedCombinator = this, combinator = bracketedCombinator, statementUnifiedWithCombinator = (0, _unification.unifyStatementWithCombinator)(statement, combinator, assignments, stated, context);
|
|
117
|
+
statementUnified = statementUnifiedWithCombinator;
|
|
118
|
+
if (statementUnified) {
|
|
119
|
+
context.debug("...unified the '".concat(statementString, "' statement with the bracketed combinator."));
|
|
120
|
+
}
|
|
121
|
+
return statementUnified;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
], [
|
|
109
125
|
{
|
|
110
126
|
key: "fromNothing",
|
|
111
127
|
value: function fromNothing() {
|
|
@@ -117,4 +133,4 @@ var BracketedCombinator = /*#__PURE__*/ function(Combinator) {
|
|
|
117
133
|
return BracketedCombinator;
|
|
118
134
|
}(_combinator.default);
|
|
119
135
|
|
|
120
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21iaW5hdG9yL2JyYWNrZXRlZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4uL3NoaW1cIjtcbmltcG9ydCBDb21iaW5hdG9yIGZyb20gXCIuLi9jb21iaW5hdG9yXCI7XG5pbXBvcnQgQ29tYmluYXRvckJyYWNrZXRlZENvbnRleHQgZnJvbSBcIi4uL2NvbnRleHQvYnJhY2tldGVkL2NvbWJpbmF0b3JcIjtcblxuaW1wb3J0IHsgdW5pZnlTdGF0ZW1lbnRXaXRoQ29tYmluYXRvciB9IGZyb20gXCIuLi91dGlsaXRpZXMvdW5pZmljYXRpb25cIjtcblxuY29uc3QgY29tYmluYXRvckJyYWNrZXRlZENvbnRleHQgPSBDb21iaW5hdG9yQnJhY2tldGVkQ29udGV4dC5mcm9tTm90aGluZygpO1xuXG5leHBvcnQgY29uc3QgYnJhY2tldGVkU3RhdGVtZW50Tm9kZSA9IGNvbWJpbmF0b3JCcmFja2V0ZWRDb250ZXh0LmdldEJyYWNrZXRlZFN0YXRlbWVudE5vZGUoKTsgIC8vL1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCcmFja2V0ZWRDb21iaW5hdG9yIGV4dGVuZHMgQ29tYmluYXRvciB7XG4gIHVuaWZ5U3RhdGVtZW50KHN0YXRlbWVudCwgYXNzaWdubWVudHMsIHN0YXRlZCwgY29udGV4dCkge1xuICAgIGxldCBzdGF0ZW1lbnRVbmlmaWVkO1xuXG4gICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gc3RhdGVtZW50LmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSBicmFja2V0ZWQgY29tYmluYXRvci4uLmApO1xuXG4gICAgY29uc3QgYnJhY2tldGVkQ29tYmluYXRvciA9IHRoaXMsIC8vL1xuICAgICAgICAgIGNvbWJpbmF0b3IgPSBicmFja2V0ZWRDb21iaW5hdG9yLCAvLy9cbiAgICAgICAgICBzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3IgPSB1bmlmeVN0YXRlbWVudFdpdGhDb21iaW5hdG9yKHN0YXRlbWVudCwgY29tYmluYXRvciwgYXNzaWdubWVudHMsIHN0YXRlZCwgY29udGV4dCk7XG5cbiAgICBzdGF0ZW1lbnRVbmlmaWVkID0gc3RhdGVtZW50VW5pZmllZFdpdGhDb21iaW5hdG9yO1xuXG4gICAgaWYgKHN0YXRlbWVudFVuaWZpZWQpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSBicmFja2V0ZWQgY29tYmluYXRvci5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RhdGVtZW50VW5pZmllZDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHtcbiAgICBjb25zdCB7IFN0YXRlbWVudCB9ID0gc2hpbSxcbiAgICAgICAgICBzdGF0ZW1lbnROb2RlID0gYnJhY2tldGVkU3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgY29udGV4dCA9IGNvbWJpbmF0b3JCcmFja2V0ZWRDb250ZXh0LCAvLy9cbiAgICAgICAgICBzdGF0ZW1lbnQgPSBTdGF0ZW1lbnQuZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgY29udGV4dCksXG4gICAgICAgICAgYnJhY2tldGVkQ29tYmluYXRvciA9IG5ldyBCcmFja2V0ZWRDb21iaW5hdG9yKHN0YXRlbWVudCk7XG5cbiAgICByZXR1cm4gYnJhY2tldGVkQ29tYmluYXRvcjtcbiAgfVxufVxuIl0sIm5hbWVzIjpbImJyYWNrZXRlZFN0YXRlbWVudE5vZGUiLCJCcmFja2V0ZWRDb21iaW5hdG9yIiwiY29tYmluYXRvckJyYWNrZXRlZENvbnRleHQiLCJDb21iaW5hdG9yQnJhY2tldGVkQ29udGV4dCIsImZyb21Ob3RoaW5nIiwiZ2V0QnJhY2tldGVkU3RhdGVtZW50Tm9kZSIsInVuaWZ5U3RhdGVtZW50Iiwic3RhdGVtZW50IiwiYXNzaWdubWVudHMiLCJzdGF0ZWQiLCJjb250ZXh0Iiwic3RhdGVtZW50VW5pZmllZCIsInN0YXRlbWVudFN0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwiYnJhY2tldGVkQ29tYmluYXRvciIsImNvbWJpbmF0b3IiLCJzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3IiLCJ1bmlmeVN0YXRlbWVudFdpdGhDb21iaW5hdG9yIiwiZGVidWciLCJTdGF0ZW1lbnQiLCJzaGltIiwic3RhdGVtZW50Tm9kZSIsImZyb21TdGF0ZW1lbnROb2RlIiwiQ29tYmluYXRvciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBVWFBLHNCQUFzQjtlQUF0QkE7OztlQUVRQzs7OzJEQVZKO2lFQUNNO2tFQUNnQjsyQkFFTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU3QyxJQUFNQyw2QkFBNkJDLG9CQUEwQixDQUFDQyxXQUFXO0FBRWxFLElBQU1KLHlCQUF5QkUsMkJBQTJCRyx5QkFBeUIsSUFBSyxHQUFHO0FBRW5GLElBQUEsQUFBTUosb0NBQU47Y0FBTUE7YUFBQUE7Z0NBQUFBO2lDQUFBQTs7a0JBQUFBOztZQUNuQkssS0FBQUE7bUJBQUFBLFNBQUFBLGVBQWVDLFNBQVMsRUFBRUMsV0FBVyxFQUFFQyxNQUFNLEVBQUVDLE9BQU87Z0JBQ3BELElBQUlDO2dCQUVKLElBQU1DLGtCQUFrQkwsVUFBVU0sU0FBUztnQkFFM0NILFFBQVFJLEtBQUssQ0FBQyxBQUFDLGlCQUFnQyxPQUFoQkYsaUJBQWdCO2dCQUUvQyxJQUFNRyxzQkFBc0IsSUFBSSxFQUMxQkMsYUFBYUQscUJBQ2JFLGlDQUFpQ0MsSUFBQUEseUNBQTRCLEVBQUNYLFdBQVdTLFlBQVlSLGFBQWFDLFFBQVFDO2dCQUVoSEMsbUJBQW1CTTtnQkFFbkIsSUFBSU4sa0JBQWtCO29CQUNwQkQsUUFBUVMsS0FBSyxDQUFDLEFBQUMsbUJBQWtDLE9BQWhCUCxpQkFBZ0I7Z0JBQ25EO2dCQUVBLE9BQU9EO1lBQ1Q7Ozs7WUFFT1AsS0FBQUE7bUJBQVAsU0FBT0E7Z0JBQ0wsSUFBTSxBQUFFZ0IsWUFBY0MsYUFBSSxDQUFsQkQsV0FDRkUsZ0JBQWdCdEIsd0JBQ2hCVSxVQUFVUiw0QkFDVkssWUFBWWEsVUFBVUcsaUJBQWlCLENBQUNELGVBQWVaLFVBQ3ZESyxzQkFBc0IsSUExQlhkLG9CQTBCbUNNO2dCQUVwRCxPQUFPUTtZQUNUOzs7V0E3Qm1CZDtFQUE0QnVCLG1CQUFVIn0=
|
package/lib/combinator.js
CHANGED
|
@@ -11,6 +11,7 @@ Object.defineProperty(exports, "default", {
|
|
|
11
11
|
var _shim = /*#__PURE__*/ _interop_require_default(require("./shim"));
|
|
12
12
|
var _local = /*#__PURE__*/ _interop_require_default(require("./context/local"));
|
|
13
13
|
var _query = require("./utilities/query");
|
|
14
|
+
var _unification = require("./utilities/unification");
|
|
14
15
|
var _json = require("./utilities/json");
|
|
15
16
|
function _class_call_check(instance, Constructor) {
|
|
16
17
|
if (!(instance instanceof Constructor)) {
|
|
@@ -62,6 +63,20 @@ var Combinator = /*#__PURE__*/ function() {
|
|
|
62
63
|
return statementNode;
|
|
63
64
|
}
|
|
64
65
|
},
|
|
66
|
+
{
|
|
67
|
+
key: "unifyStatement",
|
|
68
|
+
value: function unifyStatement(statement, assignments, stated, context) {
|
|
69
|
+
var statementUnified;
|
|
70
|
+
var combinator = this, statementString = statement.getString(), combinatorString = combinator.getString();
|
|
71
|
+
context.trace("Unifying the '".concat(statementString, "' statement with the '").concat(combinatorString, "' combinator..."));
|
|
72
|
+
var statementUnifiedWithCombinator = (0, _unification.unifyStatementWithCombinator)(statement, combinator, assignments, stated, context);
|
|
73
|
+
statementUnified = statementUnifiedWithCombinator; ///
|
|
74
|
+
if (statementUnified) {
|
|
75
|
+
context.debug("...unified the '".concat(statementString, "' statement with the '").concat(combinatorString, "' combinator."));
|
|
76
|
+
}
|
|
77
|
+
return statementUnified;
|
|
78
|
+
}
|
|
79
|
+
},
|
|
65
80
|
{
|
|
66
81
|
key: "verifyWhenDeclared",
|
|
67
82
|
value: function verifyWhenDeclared(fileContext) {
|
|
@@ -108,4 +123,4 @@ Object.assign(_shim.default, {
|
|
|
108
123
|
});
|
|
109
124
|
var _default = Combinator;
|
|
110
125
|
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21iaW5hdG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgc2hpbSBmcm9tIFwiLi9zaGltXCI7XG5pbXBvcnQgTG9jYWxDb250ZXh0IGZyb20gXCIuL2NvbnRleHQvbG9jYWxcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyB1bmlmeVN0YXRlbWVudFdpdGhDb21iaW5hdG9yIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3VuaWZpY2F0aW9uXCI7XG5pbXBvcnQgeyBzdGF0ZW1lbnRGcm9tSlNPTiwgc3RhdGVtZW50VG9TdGF0ZW1lbnRKU09OIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2pzb25cIjtcblxuY29uc3Qgc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbWJpbmF0b3JEZWNsYXJhdGlvbi9zdGF0ZW1lbnRcIik7XG5cbmNsYXNzIENvbWJpbmF0b3Ige1xuICBjb25zdHJ1Y3RvcihzdGF0ZW1lbnQpIHtcbiAgICB0aGlzLnN0YXRlbWVudCA9IHN0YXRlbWVudDtcbiAgfVxuXG4gIGdldFN0YXRlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZW1lbnQ7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7IHJldHVybiB0aGlzLnN0YXRlbWVudC5nZXRTdHJpbmcoKTsgfVxuXG4gIGdldFN0YXRlbWVudE5vZGUoKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHRoaXMuc3RhdGVtZW50LmdldE5vZGUoKTtcblxuICAgIHJldHVybiBzdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgdW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50LCBhc3NpZ25tZW50cywgc3RhdGVkLCBjb250ZXh0KSB7XG4gICAgbGV0IHN0YXRlbWVudFVuaWZpZWQ7XG5cbiAgICBjb25zdCBjb21iaW5hdG9yID0gdGhpcywgIC8vL1xuICAgICAgICAgIHN0YXRlbWVudFN0cmluZyA9IHN0YXRlbWVudC5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBjb21iaW5hdG9yU3RyaW5nID0gY29tYmluYXRvci5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgd2l0aCB0aGUgJyR7Y29tYmluYXRvclN0cmluZ30nIGNvbWJpbmF0b3IuLi5gKTtcblxuICAgIGNvbnN0IHN0YXRlbWVudFVuaWZpZWRXaXRoQ29tYmluYXRvciA9IHVuaWZ5U3RhdGVtZW50V2l0aENvbWJpbmF0b3Ioc3RhdGVtZW50LCBjb21iaW5hdG9yLCBhc3NpZ25tZW50cywgc3RhdGVkLCBjb250ZXh0KTtcblxuICAgIHN0YXRlbWVudFVuaWZpZWQgPSBzdGF0ZW1lbnRVbmlmaWVkV2l0aENvbWJpbmF0b3I7IC8vL1xuXG4gICAgaWYgKHN0YXRlbWVudFVuaWZpZWQpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtjb21iaW5hdG9yU3RyaW5nfScgY29tYmluYXRvci5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RhdGVtZW50VW5pZmllZDtcbiAgfVxuXG4gIHZlcmlmeVdoZW5EZWNsYXJlZChmaWxlQ29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllZFdoZW5EZWNsYXJlZDtcblxuICAgIGNvbnN0IGNvbWJpbmF0b3JTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2NvbWJpbmF0b3JTdHJpbmd9JyBjb21iaW5hdG9yIHdoZW4gZGVjbGFyZWQuLi5gKTtcblxuICAgIGNvbnN0IHN0YXRlbWVudFZlcmlmaWVkQXRUb3BMZXZlbCA9IHRoaXMuc3RhdGVtZW50LnZlcmlmeVdoZW5EZWNsYXJlZChmaWxlQ29udGV4dCk7XG5cbiAgICB2ZXJpZmllZFdoZW5EZWNsYXJlZCA9IHN0YXRlbWVudFZlcmlmaWVkQXRUb3BMZXZlbDsgLy8vXG5cbiAgICBpZiAodmVyaWZpZWRXaGVuRGVjbGFyZWQpIHtcbiAgICAgIGZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7Y29tYmluYXRvclN0cmluZ30nIGNvbWJpbmF0b3Igd2hlbiBkZWNsYXJlZC5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWRXaGVuRGVjbGFyZWQ7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50SlNPTiA9IHN0YXRlbWVudFRvU3RhdGVtZW50SlNPTih0aGlzLnN0YXRlbWVudCksXG4gICAgICAgICAgc3RhdGVtZW50ID0gc3RhdGVtZW50SlNPTiwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBzdGF0ZW1lbnRcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnQgPSBzdGF0ZW1lbnRGcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgY29tYmluYXRvciA9IG5ldyBDb21iaW5hdG9yKHN0YXRlbWVudCk7XG5cbiAgICByZXR1cm4gY29tYmluYXRvcjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQ29tYmluYXRvckRlY2xhcmF0aW9uTm9kZShjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHsgU3RhdGVtZW50IH0gPSBzaGltLFxuICAgICAgICAgIHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkoY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSksXG4gICAgICAgICAgbG9jYWxDb250ZXh0ID0gTG9jYWxDb250ZXh0LmZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dCksXG4gICAgICAgICAgc3RhdGVtZW50ID0gU3RhdGVtZW50LmZyb21TdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUsIGxvY2FsQ29udGV4dCksXG4gICAgICAgICAgY29tYmluYXRvciA9IG5ldyBDb21iaW5hdG9yKHN0YXRlbWVudCk7XG5cbiAgICByZXR1cm4gY29tYmluYXRvcjtcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKHNoaW0sIHtcbiAgQ29tYmluYXRvclxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IENvbWJpbmF0b3I7XG5cbiJdLCJuYW1lcyI6WyJzdGF0ZW1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJDb21iaW5hdG9yIiwic3RhdGVtZW50IiwiZ2V0U3RhdGVtZW50IiwiZ2V0U3RyaW5nIiwiZ2V0U3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudE5vZGUiLCJnZXROb2RlIiwidW5pZnlTdGF0ZW1lbnQiLCJhc3NpZ25tZW50cyIsInN0YXRlZCIsImNvbnRleHQiLCJzdGF0ZW1lbnRVbmlmaWVkIiwiY29tYmluYXRvciIsInN0YXRlbWVudFN0cmluZyIsImNvbWJpbmF0b3JTdHJpbmciLCJ0cmFjZSIsInN0YXRlbWVudFVuaWZpZWRXaXRoQ29tYmluYXRvciIsInVuaWZ5U3RhdGVtZW50V2l0aENvbWJpbmF0b3IiLCJkZWJ1ZyIsInZlcmlmeVdoZW5EZWNsYXJlZCIsImZpbGVDb250ZXh0IiwidmVyaWZpZWRXaGVuRGVjbGFyZWQiLCJzdGF0ZW1lbnRWZXJpZmllZEF0VG9wTGV2ZWwiLCJ0b0pTT04iLCJzdGF0ZW1lbnRKU09OIiwic3RhdGVtZW50VG9TdGF0ZW1lbnRKU09OIiwianNvbiIsImZyb21KU09OIiwic3RhdGVtZW50RnJvbUpTT04iLCJmcm9tQ29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSIsImNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUiLCJTdGF0ZW1lbnQiLCJzaGltIiwibG9jYWxDb250ZXh0IiwiTG9jYWxDb250ZXh0IiwiZnJvbUZpbGVDb250ZXh0IiwiZnJvbVN0YXRlbWVudE5vZGUi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
|
|
@@ -19,6 +19,7 @@ _export(exports, {
|
|
|
19
19
|
var _shim = /*#__PURE__*/ _interop_require_default(require("../shim"));
|
|
20
20
|
var _constructor = /*#__PURE__*/ _interop_require_wildcard(require("../constructor"));
|
|
21
21
|
var _constructor1 = /*#__PURE__*/ _interop_require_default(require("../context/bracketed/constructor"));
|
|
22
|
+
var _query = require("../utilities/query");
|
|
22
23
|
function _assert_this_initialized(self) {
|
|
23
24
|
if (self === void 0) {
|
|
24
25
|
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
@@ -48,6 +49,22 @@ function _create_class(Constructor, protoProps, staticProps) {
|
|
|
48
49
|
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
49
50
|
return Constructor;
|
|
50
51
|
}
|
|
52
|
+
function _get(target, property, receiver) {
|
|
53
|
+
if (typeof Reflect !== "undefined" && Reflect.get) {
|
|
54
|
+
_get = Reflect.get;
|
|
55
|
+
} else {
|
|
56
|
+
_get = function get(target, property, receiver) {
|
|
57
|
+
var base = _super_prop_base(target, property);
|
|
58
|
+
if (!base) return;
|
|
59
|
+
var desc = Object.getOwnPropertyDescriptor(base, property);
|
|
60
|
+
if (desc.get) {
|
|
61
|
+
return desc.get.call(receiver || target);
|
|
62
|
+
}
|
|
63
|
+
return desc.value;
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
return _get(target, property, receiver || target);
|
|
67
|
+
}
|
|
51
68
|
function _get_prototype_of(o) {
|
|
52
69
|
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
|
|
53
70
|
return o.__proto__ || Object.getPrototypeOf(o);
|
|
@@ -126,6 +143,13 @@ function _set_prototype_of(o, p) {
|
|
|
126
143
|
};
|
|
127
144
|
return _set_prototype_of(o, p);
|
|
128
145
|
}
|
|
146
|
+
function _super_prop_base(object, property) {
|
|
147
|
+
while(!Object.prototype.hasOwnProperty.call(object, property)){
|
|
148
|
+
object = _get_prototype_of(object);
|
|
149
|
+
if (object === null) break;
|
|
150
|
+
}
|
|
151
|
+
return object;
|
|
152
|
+
}
|
|
129
153
|
function _type_of(obj) {
|
|
130
154
|
"@swc/helpers - typeof";
|
|
131
155
|
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
@@ -138,6 +162,7 @@ function _is_native_reflect_construct() {
|
|
|
138
162
|
return !!result;
|
|
139
163
|
})();
|
|
140
164
|
}
|
|
165
|
+
var termNodeQuery = (0, _query.nodeQuery)("/term/argument/term");
|
|
141
166
|
var constructorBracketedContext = _constructor1.default.fromNothing();
|
|
142
167
|
var bracketedTermNode = constructorBracketedContext.getBracketedTermNode();
|
|
143
168
|
var BracketedConstructor = /*#__PURE__*/ function(Constructor) {
|
|
@@ -146,7 +171,36 @@ var BracketedConstructor = /*#__PURE__*/ function(Constructor) {
|
|
|
146
171
|
_class_call_check(this, BracketedConstructor);
|
|
147
172
|
return _call_super(this, BracketedConstructor, arguments);
|
|
148
173
|
}
|
|
149
|
-
_create_class(BracketedConstructor,
|
|
174
|
+
_create_class(BracketedConstructor, [
|
|
175
|
+
{
|
|
176
|
+
key: "unifyTerm",
|
|
177
|
+
value: function unifyTerm(term, context, verifyAhead) {
|
|
178
|
+
var termUnified;
|
|
179
|
+
var termString = term.getString();
|
|
180
|
+
context.trace("Unifying the '".concat(termString, "' term with the bracketed constructor..."), term);
|
|
181
|
+
termUnified = _get(_get_prototype_of(BracketedConstructor.prototype), "unifyTerm", this).call(this, term, context, function() {
|
|
182
|
+
var verifiedAhead = false;
|
|
183
|
+
var Term = _shim.default.Term, bracketedTerm = term, bracketedTermNode = bracketedTerm.getNode(), termNode = termNodeQuery(bracketedTermNode); ///
|
|
184
|
+
term = Term.fromTermNode(termNode, context);
|
|
185
|
+
if (term !== null) {
|
|
186
|
+
var termVVerified = term.verify(context, function() {
|
|
187
|
+
var verifiedAhead;
|
|
188
|
+
var type = term.getType();
|
|
189
|
+
bracketedTerm.setType(type);
|
|
190
|
+
verifiedAhead = verifyAhead();
|
|
191
|
+
return verifiedAhead;
|
|
192
|
+
});
|
|
193
|
+
verifiedAhead = termVVerified; ///
|
|
194
|
+
}
|
|
195
|
+
return verifiedAhead;
|
|
196
|
+
});
|
|
197
|
+
if (termUnified) {
|
|
198
|
+
context.debug("...unified the '".concat(termString, "' term with the bracketed constructor."), term);
|
|
199
|
+
}
|
|
200
|
+
return termUnified;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
], [
|
|
150
204
|
{
|
|
151
205
|
key: "fromNothing",
|
|
152
206
|
value: function fromNothing() {
|
|
@@ -158,4 +212,4 @@ var BracketedConstructor = /*#__PURE__*/ function(Constructor) {
|
|
|
158
212
|
return BracketedConstructor;
|
|
159
213
|
}(_constructor.default);
|
|
160
214
|
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
215
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdHJ1Y3Rvci9icmFja2V0ZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBzaGltIGZyb20gXCIuLi9zaGltXCI7XG5pbXBvcnQgQ29uc3RydWN0b3IgZnJvbSBcIi4uL2NvbnN0cnVjdG9yXCI7XG5pbXBvcnQgQ29uc3RydWN0b3JCcmFja2V0ZWRDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L2JyYWNrZXRlZC9jb25zdHJ1Y3RvclwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBzdHJpbmdGcm9tVGVybUFuZFR5cGUgfSBmcm9tIFwiLi4vY29uc3RydWN0b3JcIjtcblxuY29uc3QgdGVybU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90ZXJtL2FyZ3VtZW50L3Rlcm1cIik7XG5cbmNvbnN0IGNvbnN0cnVjdG9yQnJhY2tldGVkQ29udGV4dCA9IENvbnN0cnVjdG9yQnJhY2tldGVkQ29udGV4dC5mcm9tTm90aGluZygpO1xuXG5leHBvcnQgY29uc3QgYnJhY2tldGVkVGVybU5vZGUgPSBjb25zdHJ1Y3RvckJyYWNrZXRlZENvbnRleHQuZ2V0QnJhY2tldGVkVGVybU5vZGUoKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQnJhY2tldGVkQ29uc3RydWN0b3IgZXh0ZW5kcyBDb25zdHJ1Y3RvciB7XG4gIHVuaWZ5VGVybSh0ZXJtLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICAgIGxldCB0ZXJtVW5pZmllZDtcblxuICAgIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtIHdpdGggdGhlIGJyYWNrZXRlZCBjb25zdHJ1Y3Rvci4uLmAsIHRlcm0pO1xuXG4gICAgdGVybVVuaWZpZWQgPSBzdXBlci51bmlmeVRlcm0odGVybSwgY29udGV4dCwgKCkgPT4ge1xuICAgICAgbGV0IHZlcmlmaWVkQWhlYWQgPSBmYWxzZTtcblxuICAgICAgY29uc3QgeyBUZXJtIH0gPSBzaGltLFxuICAgICAgICAgICAgYnJhY2tldGVkVGVybSA9IHRlcm0sIC8vL1xuICAgICAgICAgICAgYnJhY2tldGVkVGVybU5vZGUgPSBicmFja2V0ZWRUZXJtLmdldE5vZGUoKSxcbiAgICAgICAgICAgIHRlcm1Ob2RlID0gdGVybU5vZGVRdWVyeShicmFja2V0ZWRUZXJtTm9kZSk7IC8vL1xuXG4gICAgICB0ZXJtID0gVGVybS5mcm9tVGVybU5vZGUodGVybU5vZGUsIGNvbnRleHQpO1xuXG4gICAgICBpZiAodGVybSAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCB0ZXJtVlZlcmlmaWVkID0gdGVybS52ZXJpZnkoY29udGV4dCwgKCkgPT4ge1xuICAgICAgICAgIGxldCB2ZXJpZmllZEFoZWFkO1xuXG4gICAgICAgICAgY29uc3QgdHlwZSA9IHRlcm0uZ2V0VHlwZSgpO1xuXG4gICAgICAgICAgYnJhY2tldGVkVGVybS5zZXRUeXBlKHR5cGUpO1xuXG4gICAgICAgICAgdmVyaWZpZWRBaGVhZCA9IHZlcmlmeUFoZWFkKCk7XG5cbiAgICAgICAgICByZXR1cm4gdmVyaWZpZWRBaGVhZDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdmVyaWZpZWRBaGVhZCA9IHRlcm1WVmVyaWZpZWQ7ICAvLy9cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgfSk7XG5cbiAgICBpZiAodGVybVVuaWZpZWQpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtIHdpdGggdGhlIGJyYWNrZXRlZCBjb25zdHJ1Y3Rvci5gLCB0ZXJtKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGVybVVuaWZpZWQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7XG4gICAgY29uc3QgeyBUZXJtIH0gPSBzaGltLFxuICAgICAgICAgIHRlcm1Ob2RlID0gYnJhY2tldGVkVGVybU5vZGUsICAvLy9cbiAgICAgICAgICBjb250ZXh0ID0gY29uc3RydWN0b3JCcmFja2V0ZWRDb250ZXh0LCAvLy9cbiAgICAgICAgICB0ZXJtID0gVGVybS5mcm9tVGVybU5vZGUodGVybU5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgIHR5cGUgPSBudWxsLFxuICAgICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21UZXJtQW5kVHlwZSh0ZXJtLCB0eXBlKSxcbiAgICAgICAgICBicmFja2V0ZWRDb25zdHJ1Y3RvciA9IG5ldyBCcmFja2V0ZWRDb25zdHJ1Y3RvcihzdHJpbmcsIHRlcm0pO1xuXG4gICAgcmV0dXJuIGJyYWNrZXRlZENvbnN0cnVjdG9yO1xuICB9XG59XG4iXSwibmFtZXMiOlsiYnJhY2tldGVkVGVybU5vZGUiLCJCcmFja2V0ZWRDb25zdHJ1Y3RvciIsInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJjb25zdHJ1Y3RvckJyYWNrZXRlZENvbnRleHQiLCJDb25zdHJ1Y3RvckJyYWNrZXRlZENvbnRleHQiLCJmcm9tTm90aGluZyIsImdldEJyYWNrZXRlZFRlcm1Ob2RlIiwidW5pZnlUZXJtIiwidGVybSIsImNvbnRleHQiLCJ2ZXJpZnlBaGVhZCIsInRlcm1VbmlmaWVkIiwidGVybVN0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwidmVyaWZpZWRBaGVhZCIsIlRlcm0iLCJzaGltIiwiYnJhY2tldGVkVGVybSIsImdldE5vZGUiLCJ0ZXJtTm9kZSIsImZyb21UZXJtTm9kZSIsInRlcm1WVmVyaWZpZWQiLCJ2ZXJpZnkiLCJ0eXBlIiwiZ2V0VHlwZSIsInNldFR5cGUiLCJkZWJ1ZyIsInN0cmluZyIsInN0cmluZ0Zyb21UZXJtQW5kVHlwZSIsImJyYWNrZXRlZENvbnN0cnVjdG9yIiwiQ29uc3RydWN0b3IiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQWFhQSxpQkFBaUI7ZUFBakJBOzs7ZUFFUUM7OzsyREFiSjttRUFDTzttRUFDZ0I7cUJBRWQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRzFCLElBQU1DLGdCQUFnQkMsSUFBQUEsZ0JBQVMsRUFBQztBQUVoQyxJQUFNQyw4QkFBOEJDLHFCQUEyQixDQUFDQyxXQUFXO0FBRXBFLElBQU1OLG9CQUFvQkksNEJBQTRCRyxvQkFBb0I7QUFFbEUsSUFBQSxBQUFNTixxQ0FBTjtjQUFNQTthQUFBQTtnQ0FBQUE7aUNBQUFBOztrQkFBQUE7O1lBQ25CTyxLQUFBQTttQkFBQUEsU0FBQUEsVUFBVUMsSUFBSSxFQUFFQyxPQUFPLEVBQUVDLFdBQVc7Z0JBQ2xDLElBQUlDO2dCQUVKLElBQU1DLGFBQWFKLEtBQUtLLFNBQVM7Z0JBRWpDSixRQUFRSyxLQUFLLENBQUMsQUFBQyxpQkFBMkIsT0FBWEYsWUFBVyw2Q0FBMkNKO2dCQUVyRkcsY0FBYyx1QkFSR1gsaUNBUUdPLGFBQU4sSUFBSyxhQUFXQyxNQUFNQyxTQUFTO29CQUMzQyxJQUFJTSxnQkFBZ0I7b0JBRXBCLElBQU0sQUFBRUMsT0FBU0MsYUFBSSxDQUFiRCxNQUNGRSxnQkFBZ0JWLE1BQ2hCVCxvQkFBb0JtQixjQUFjQyxPQUFPLElBQ3pDQyxXQUFXbkIsY0FBY0Ysb0JBQW9CLEdBQUc7b0JBRXREUyxPQUFPUSxLQUFLSyxZQUFZLENBQUNELFVBQVVYO29CQUVuQyxJQUFJRCxTQUFTLE1BQU07d0JBQ2pCLElBQU1jLGdCQUFnQmQsS0FBS2UsTUFBTSxDQUFDZCxTQUFTOzRCQUN6QyxJQUFJTTs0QkFFSixJQUFNUyxPQUFPaEIsS0FBS2lCLE9BQU87NEJBRXpCUCxjQUFjUSxPQUFPLENBQUNGOzRCQUV0QlQsZ0JBQWdCTDs0QkFFaEIsT0FBT0s7d0JBQ1Q7d0JBRUFBLGdCQUFnQk8sZUFBZ0IsR0FBRztvQkFDckM7b0JBRUEsT0FBT1A7Z0JBQ1Q7Z0JBRUEsSUFBSUosYUFBYTtvQkFDZkYsUUFBUWtCLEtBQUssQ0FBQyxBQUFDLG1CQUE2QixPQUFYZixZQUFXLDJDQUF5Q0o7Z0JBQ3ZGO2dCQUVBLE9BQU9HO1lBQ1Q7Ozs7WUFFT04sS0FBQUE7bUJBQVAsU0FBT0E7Z0JBQ0wsSUFBTSxBQUFFVyxPQUFTQyxhQUFJLENBQWJELE1BQ0ZJLFdBQVdyQixtQkFDWFUsVUFBVU4sNkJBQ1ZLLE9BQU9RLEtBQUtLLFlBQVksQ0FBQ0QsVUFBVVgsVUFDbkNlLE9BQU8sTUFDUEksU0FBU0MsSUFBQUEsa0NBQXFCLEVBQUNyQixNQUFNZ0IsT0FDckNNLHVCQUF1QixJQW5EWjlCLHFCQW1EcUM0QixRQUFRcEI7Z0JBRTlELE9BQU9zQjtZQUNUOzs7V0F0RG1COUI7RUFBNkIrQixvQkFBVyJ9
|
package/lib/constructor.js
CHANGED
|
@@ -19,6 +19,7 @@ _export(exports, {
|
|
|
19
19
|
var _shim = /*#__PURE__*/ _interop_require_default(require("./shim"));
|
|
20
20
|
var _local = /*#__PURE__*/ _interop_require_default(require("./context/local"));
|
|
21
21
|
var _query = require("./utilities/query");
|
|
22
|
+
var _unification = require("./utilities/unification");
|
|
22
23
|
var _json = require("./utilities/json");
|
|
23
24
|
function _class_call_check(instance, Constructor) {
|
|
24
25
|
if (!(instance instanceof Constructor)) {
|
|
@@ -70,6 +71,26 @@ var Constructor = /*#__PURE__*/ function() {
|
|
|
70
71
|
return this.term.getType();
|
|
71
72
|
}
|
|
72
73
|
},
|
|
74
|
+
{
|
|
75
|
+
key: "unifyTerm",
|
|
76
|
+
value: function unifyTerm(term, context, verifyAhead) {
|
|
77
|
+
var termUnified = false;
|
|
78
|
+
var constructor = this, termString = term.getString(), constructorString = constructor.getString();
|
|
79
|
+
context.trace("Unifying the '".concat(termString, "' term with the '").concat(constructorString, "' constructor..."), term);
|
|
80
|
+
var termUnifiedWithConstructor = (0, _unification.unifyTermWithConstructor)(term, constructor, context);
|
|
81
|
+
if (termUnifiedWithConstructor) {
|
|
82
|
+
var verifiedAhead;
|
|
83
|
+
var type = constructor.getType();
|
|
84
|
+
term.setType(type);
|
|
85
|
+
verifiedAhead = verifyAhead();
|
|
86
|
+
termUnified = verifiedAhead; ///
|
|
87
|
+
}
|
|
88
|
+
if (termUnified) {
|
|
89
|
+
context.debug("...unified the '".concat(termString, "' term with the '").concat(constructorString, "' constructor."), term);
|
|
90
|
+
}
|
|
91
|
+
return termUnified;
|
|
92
|
+
}
|
|
93
|
+
},
|
|
73
94
|
{
|
|
74
95
|
key: "verifyWhenDeclared",
|
|
75
96
|
value: function verifyWhenDeclared(fileContext) {
|
|
@@ -129,4 +150,4 @@ function stringFromTermAndType(term, type) {
|
|
|
129
150
|
return string;
|
|
130
151
|
}
|
|
131
152
|
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdHJ1Y3Rvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4vc2hpbVwiO1xuaW1wb3J0IExvY2FsQ29udGV4dCBmcm9tIFwiLi9jb250ZXh0L2xvY2FsXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgdW5pZnlUZXJtV2l0aENvbnN0cnVjdG9yIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3VuaWZpY2F0aW9uXCI7XG5pbXBvcnQgeyB0ZXJtRnJvbUpTT04sIHRlcm1Ub1Rlcm1KU09OIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2pzb25cIjtcblxuY29uc3QgdGVybU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25zdHJ1Y3RvckRlY2xhcmF0aW9uL3Rlcm1cIiksXG4gICAgICB0eXBlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbnN0cnVjdG9yRGVjbGFyYXRpb24vdHlwZVwiKTtcblxuY2xhc3MgQ29uc3RydWN0b3Ige1xuICBjb25zdHJ1Y3RvcihzdHJpbmcsIHRlcm0pIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnRlcm0gPSB0ZXJtO1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldFRlcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMudGVybTtcbiAgfVxuXG4gIGdldFR5cGUoKSB7IHJldHVybiB0aGlzLnRlcm0uZ2V0VHlwZSgpOyB9XG5cbiAgdW5pZnlUZXJtKHRlcm0sIGNvbnRleHQsIHZlcmlmeUFoZWFkKSB7XG4gICAgbGV0IHRlcm1VbmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBjb25zdHJ1Y3RvciA9IHRoaXMsIC8vL1xuICAgICAgICAgIHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpLFxuICAgICAgICAgIGNvbnN0cnVjdG9yU3RyaW5nID0gY29uc3RydWN0b3IuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7dGVybVN0cmluZ30nIHRlcm0gd2l0aCB0aGUgJyR7Y29uc3RydWN0b3JTdHJpbmd9JyBjb25zdHJ1Y3Rvci4uLmAsIHRlcm0pO1xuXG4gICAgY29uc3QgdGVybVVuaWZpZWRXaXRoQ29uc3RydWN0b3IgPSB1bmlmeVRlcm1XaXRoQ29uc3RydWN0b3IodGVybSwgY29uc3RydWN0b3IsIGNvbnRleHQpO1xuXG4gICAgaWYgKHRlcm1VbmlmaWVkV2l0aENvbnN0cnVjdG9yKSB7XG4gICAgICBsZXQgdmVyaWZpZWRBaGVhZDtcblxuICAgICAgY29uc3QgdHlwZSA9IGNvbnN0cnVjdG9yLmdldFR5cGUoKTtcblxuICAgICAgdGVybS5zZXRUeXBlKHR5cGUpO1xuXG4gICAgICB2ZXJpZmllZEFoZWFkID0gdmVyaWZ5QWhlYWQoKTtcblxuICAgICAgdGVybVVuaWZpZWQgPSB2ZXJpZmllZEFoZWFkOyAgLy8vXG4gICAgfVxuXG4gICAgaWYgKHRlcm1VbmlmaWVkKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSB3aXRoIHRoZSAnJHtjb25zdHJ1Y3RvclN0cmluZ30nIGNvbnN0cnVjdG9yLmAsIHRlcm0pO1xuICAgIH1cblxuICAgIHJldHVybiB0ZXJtVW5pZmllZDtcbiAgfVxuXG4gIHZlcmlmeVdoZW5EZWNsYXJlZChmaWxlQ29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllZFdoZW5EZWNsYXJlZDtcblxuICAgIGNvbnN0IGNvbnN0cnVjdG9yU3RyaW5nID0gdGhpcy5zdHJpbmc7ICAvLy9cblxuICAgIGZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2NvbnN0cnVjdG9yU3RyaW5nfScgY29uc3RydWN0b3Igd2hlbiBkZWNsYXJlZC4uLmApO1xuXG4gICAgY29uc3QgdGVybVZlcmlmaWVkQXRUb3BMZXZlbCA9IHRoaXMudGVybS52ZXJpZnlXaGVuRGVjbGFyZWQoZmlsZUNvbnRleHQpO1xuXG4gICAgaWYgKHRlcm1WZXJpZmllZEF0VG9wTGV2ZWwpIHtcbiAgICAgIHZlcmlmaWVkV2hlbkRlY2xhcmVkID0gdHJ1ZTsgLy8vXG4gICAgfVxuXG4gICAgaWYgKHZlcmlmaWVkV2hlbkRlY2xhcmVkKSB7XG4gICAgICBmaWxlQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2NvbnN0cnVjdG9yU3RyaW5nfScgY29uc3RydWN0b3Igd2hlbiBkZWNsYXJlZC5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWRXaGVuRGVjbGFyZWQ7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgdGVybUpTT04gPSB0ZXJtVG9UZXJtSlNPTih0aGlzLnRlcm0pLFxuICAgICAgICAgIHRlcm0gPSB0ZXJtSlNPTiwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICB0ZXJtXG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgdGVybSA9IHRlcm1Gcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgdHlwZSA9IHRlcm0uZ2V0VHlwZSgpLFxuICAgICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21UZXJtQW5kVHlwZSh0ZXJtLCB0eXBlKSxcbiAgICAgICAgICBjb25zdHJ1Y3RvciA9IG5ldyBDb25zdHJ1Y3RvcihzdHJpbmcsIHRlcm0pO1xuXG4gICAgcmV0dXJuIGNvbnN0cnVjdG9yO1xuICB9XG5cbiAgc3RhdGljIGZyb21Db25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZShjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCB7IFRlcm0sIFR5cGUgfSA9IHNoaW0sXG4gICAgICAgICAgdGVybU5vZGUgPSB0ZXJtTm9kZVF1ZXJ5KGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlKSxcbiAgICAgICAgICB0eXBlTm9kZSA9IHR5cGVOb2RlUXVlcnkoY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICAgIGxvY2FsQ29udGV4dCA9IExvY2FsQ29udGV4dC5mcm9tRmlsZUNvbnRleHQoZmlsZUNvbnRleHQpLFxuICAgICAgICAgIGNvbnRleHQgPSBsb2NhbENvbnRleHQsIC8vL1xuICAgICAgICAgIHR5cGUgPSBUeXBlLmZyb21UeXBlTm9kZSh0eXBlTm9kZSksXG4gICAgICAgICAgdGVybSA9IFRlcm0uZnJvbVRlcm1Ob2RlQW5kVHlwZSh0ZXJtTm9kZSwgdHlwZSwgY29udGV4dCksXG4gICAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbVRlcm1BbmRUeXBlKHRlcm0sIHR5cGUpLFxuICAgICAgICAgIGNvbnN0cnVjdG9yID0gbmV3IENvbnN0cnVjdG9yKHN0cmluZywgdGVybSk7XG5cbiAgICByZXR1cm4gY29uc3RydWN0b3I7XG4gIH1cbn1cblxuT2JqZWN0LmFzc2lnbihzaGltLCB7XG4gIENvbnN0cnVjdG9yXG59KTtcblxuZXhwb3J0IGRlZmF1bHQgQ29uc3RydWN0b3I7XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdGcm9tVGVybUFuZFR5cGUodGVybSwgdHlwZSkge1xuICBsZXQgc3RyaW5nO1xuXG4gIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpO1xuXG4gIGlmICh0eXBlID09PSBudWxsKSB7XG4gICAgc3RyaW5nID0gYCR7dGVybVN0cmluZ31gO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHR5cGVOYW1lID0gdHlwZS5nZXROYW1lKCk7XG5cbiAgICBzdHJpbmcgPSBgJHt0ZXJtU3RyaW5nfToke3R5cGVOYW1lfWA7XG4gIH1cblxuICByZXR1cm4gc3RyaW5nO1xufVxuIl0sIm5hbWVzIjpbInN0cmluZ0Zyb21UZXJtQW5kVHlwZSIsInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ0eXBlTm9kZVF1ZXJ5IiwiQ29uc3RydWN0b3IiLCJzdHJpbmciLCJ0ZXJtIiwiZ2V0U3RyaW5nIiwiZ2V0VGVybSIsImdldFR5cGUiLCJ1bmlmeVRlcm0iLCJjb250ZXh0IiwidmVyaWZ5QWhlYWQiLCJ0ZXJtVW5pZmllZCIsImNvbnN0cnVjdG9yIiwidGVybVN0cmluZyIsImNvbnN0cnVjdG9yU3RyaW5nIiwidHJhY2UiLCJ0ZXJtVW5pZmllZFdpdGhDb25zdHJ1Y3RvciIsInVuaWZ5VGVybVdpdGhDb25zdHJ1Y3RvciIsInZlcmlmaWVkQWhlYWQiLCJ0eXBlIiwic2V0VHlwZSIsImRlYnVnIiwidmVyaWZ5V2hlbkRlY2xhcmVkIiwiZmlsZUNvbnRleHQiLCJ2ZXJpZmllZFdoZW5EZWNsYXJlZCIsInRlcm1WZXJpZmllZEF0VG9wTGV2ZWwiLCJ0b0pTT04iLCJ0ZXJtSlNPTiIsInRlcm1Ub1Rlcm1KU09OIiwianNvbiIsImZyb21KU09OIiwidGVybUZyb21KU09OIiwiZnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlIiwiY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUiLCJUZXJtIiwic2hpbSIsIlR5cGUiLCJ0ZXJtTm9kZSIsInR5cGVOb2RlIiwibG9jYWxDb250ZXh0IiwiTG9jYWxDb250ZXh0IiwiZnJvbUZpbGVDb250ZXh0IiwiZnJvbVR5cGVOb2RlIiwiZnJvbVRlcm1Ob2RlQW5kVHlwZSIsIk9iamVjdCIsImFzc2lnbiIsInR5cGVOYW1lIiwiZ2V0TmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBb0hBLE9BQTJCO2VBQTNCOztJQUVnQkEscUJBQXFCO2VBQXJCQTs7OzJEQXBIQzs0REFDUTtxQkFFQzsyQkFDZTtvQkFDSTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU3QyxJQUFNQyxnQkFBZ0JDLElBQUFBLGdCQUFTLEVBQUMsaUNBQzFCQyxnQkFBZ0JELElBQUFBLGdCQUFTLEVBQUM7QUFFaEMsSUFBQSxBQUFNRSw0QkFBTjthQUFNQSxZQUNRQyxNQUFNLEVBQUVDLElBQUk7Z0NBRHBCRjtRQUVGLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTs7a0JBSFZGOztZQU1KRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNGLE1BQU07WUFDcEI7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNGLElBQUk7WUFDbEI7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQVksT0FBTyxJQUFJLENBQUNILElBQUksQ0FBQ0csT0FBTztZQUFJOzs7WUFFeENDLEtBQUFBO21CQUFBQSxTQUFBQSxVQUFVSixJQUFJLEVBQUVLLE9BQU8sRUFBRUMsV0FBVztnQkFDbEMsSUFBSUMsY0FBYztnQkFFbEIsSUFBTUMsY0FBYyxJQUFJLEVBQ2xCQyxhQUFhVCxLQUFLQyxTQUFTLElBQzNCUyxvQkFBb0JGLFlBQVlQLFNBQVM7Z0JBRS9DSSxRQUFRTSxLQUFLLENBQUMsQUFBQyxpQkFBOENELE9BQTlCRCxZQUFXLHFCQUFxQyxPQUFsQkMsbUJBQWtCLHFCQUFtQlY7Z0JBRWxHLElBQU1ZLDZCQUE2QkMsSUFBQUEscUNBQXdCLEVBQUNiLE1BQU1RLGFBQWFIO2dCQUUvRSxJQUFJTyw0QkFBNEI7b0JBQzlCLElBQUlFO29CQUVKLElBQU1DLE9BQU9QLFlBQVlMLE9BQU87b0JBRWhDSCxLQUFLZ0IsT0FBTyxDQUFDRDtvQkFFYkQsZ0JBQWdCUjtvQkFFaEJDLGNBQWNPLGVBQWdCLEdBQUc7Z0JBQ25DO2dCQUVBLElBQUlQLGFBQWE7b0JBQ2ZGLFFBQVFZLEtBQUssQ0FBQyxBQUFDLG1CQUFnRFAsT0FBOUJELFlBQVcscUJBQXFDLE9BQWxCQyxtQkFBa0IsbUJBQWlCVjtnQkFDcEc7Z0JBRUEsT0FBT087WUFDVDs7O1lBRUFXLEtBQUFBO21CQUFBQSxTQUFBQSxtQkFBbUJDLFdBQVc7Z0JBQzVCLElBQUlDO2dCQUVKLElBQU1WLG9CQUFvQixJQUFJLENBQUNYLE1BQU0sRUFBRyxHQUFHO2dCQUUzQ29CLFlBQVlSLEtBQUssQ0FBQyxBQUFDLGtCQUFtQyxPQUFsQkQsbUJBQWtCO2dCQUV0RCxJQUFNVyx5QkFBeUIsSUFBSSxDQUFDckIsSUFBSSxDQUFDa0Isa0JBQWtCLENBQUNDO2dCQUU1RCxJQUFJRSx3QkFBd0I7b0JBQzFCRCx1QkFBdUIsTUFBTSxHQUFHO2dCQUNsQztnQkFFQSxJQUFJQSxzQkFBc0I7b0JBQ3hCRCxZQUFZRixLQUFLLENBQUMsQUFBQyxvQkFBcUMsT0FBbEJQLG1CQUFrQjtnQkFDMUQ7Z0JBRUEsT0FBT1U7WUFDVDs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxXQUFXQyxJQUFBQSxvQkFBYyxFQUFDLElBQUksQ0FBQ3hCLElBQUksR0FDbkNBLE9BQU91QixVQUNQRSxPQUFPO29CQUNMekIsTUFBQUE7Z0JBQ0Y7Z0JBRU4sT0FBT3lCO1lBQ1Q7Ozs7WUFFT0MsS0FBQUE7bUJBQVAsU0FBT0EsU0FBU0QsSUFBSSxFQUFFTixXQUFXO2dCQUMvQixJQUFNbkIsT0FBTzJCLElBQUFBLGtCQUFZLEVBQUNGLE1BQU1OLGNBQzFCSixPQUFPZixLQUFLRyxPQUFPLElBQ25CSixTQUFTTCxzQkFBc0JNLE1BQU1lLE9BQ3JDUCxjQUFjLElBaEZsQlYsWUFnRmtDQyxRQUFRQztnQkFFNUMsT0FBT1E7WUFDVDs7O1lBRU9vQixLQUFBQTttQkFBUCxTQUFPQSwrQkFBK0JDLDBCQUEwQixFQUFFVixXQUFXO2dCQUMzRSxJQUFRVyxPQUFlQyxhQUFJLENBQW5CRCxNQUFNRSxPQUFTRCxhQUFJLENBQWJDLE1BQ1JDLFdBQVd0QyxjQUFja0MsNkJBQ3pCSyxXQUFXckMsY0FBY2dDLDZCQUN6Qk0sZUFBZUMsY0FBWSxDQUFDQyxlQUFlLENBQUNsQixjQUM1Q2QsVUFBVThCLGNBQ1ZwQixPQUFPaUIsS0FBS00sWUFBWSxDQUFDSixXQUN6QmxDLE9BQU84QixLQUFLUyxtQkFBbUIsQ0FBQ04sVUFBVWxCLE1BQU1WLFVBQ2hETixTQUFTTCxzQkFBc0JNLE1BQU1lLE9BQ3JDUCxjQUFjLElBOUZsQlYsWUE4RmtDQyxRQUFRQztnQkFFNUMsT0FBT1E7WUFDVDs7O1dBakdJVjs7QUFvR04wQyxPQUFPQyxNQUFNLENBQUNWLGFBQUksRUFBRTtJQUNsQmpDLGFBQUFBO0FBQ0Y7SUFFQSxXQUFlQTtBQUVSLFNBQVNKLHNCQUFzQk0sSUFBSSxFQUFFZSxJQUFJO0lBQzlDLElBQUloQjtJQUVKLElBQU1VLGFBQWFULEtBQUtDLFNBQVM7SUFFakMsSUFBSWMsU0FBUyxNQUFNO1FBQ2pCaEIsU0FBUyxBQUFDLEdBQWEsT0FBWFU7SUFDZCxPQUFPO1FBQ0wsSUFBTWlDLFdBQVczQixLQUFLNEIsT0FBTztRQUU3QjVDLFNBQVMsQUFBQyxHQUFnQjJDLE9BQWRqQyxZQUFXLEtBQVksT0FBVGlDO0lBQzVCO0lBRUEsT0FBTzNDO0FBQ1QifQ==
|
|
@@ -9,7 +9,6 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _bracketed = /*#__PURE__*/ _interop_require_default(require("../../combinator/bracketed"));
|
|
12
|
-
var _unification = require("../../utilities/unification");
|
|
13
12
|
function _interop_require_default(obj) {
|
|
14
13
|
return obj && obj.__esModule ? obj : {
|
|
15
14
|
default: obj
|
|
@@ -17,13 +16,8 @@ function _interop_require_default(obj) {
|
|
|
17
16
|
}
|
|
18
17
|
function unifyWithBracketedCombinator(statement, assignments, stated, context) {
|
|
19
18
|
var unifiedWithBracketedCombinator;
|
|
20
|
-
var
|
|
21
|
-
|
|
22
|
-
var bracketedCombinator = _bracketed.default.fromNothing(), combinator = bracketedCombinator, statementUnifiedWithCombinator = (0, _unification.unifyStatementWithCombinator)(statement, combinator, assignments, stated, context);
|
|
23
|
-
unifiedWithBracketedCombinator = statementUnifiedWithCombinator;
|
|
24
|
-
if (unifiedWithBracketedCombinator) {
|
|
25
|
-
context.debug("...unified the '".concat(statementString, "' statement with the bracketed combinator."));
|
|
26
|
-
}
|
|
19
|
+
var bracketedCombinator = _bracketed.default.fromNothing();
|
|
20
|
+
unifiedWithBracketedCombinator = bracketedCombinator.unifyStatement(statement, assignments, stated, context);
|
|
27
21
|
return unifiedWithBracketedCombinator;
|
|
28
22
|
}
|
|
29
23
|
function unifyWithCombinators(statement, assignments, stated, context) {
|
|
@@ -32,7 +26,7 @@ function unifyWithCombinators(statement, assignments, stated, context) {
|
|
|
32
26
|
stated = true; ///
|
|
33
27
|
assignments = null; ///
|
|
34
28
|
unifiedWithCombinators = combinators.some(function(combinator) {
|
|
35
|
-
var unifiedWithCombinator =
|
|
29
|
+
var unifiedWithCombinator = combinator.unifyStatement(statement, assignments, stated, context);
|
|
36
30
|
if (unifiedWithCombinator) {
|
|
37
31
|
return true;
|
|
38
32
|
}
|
|
@@ -44,16 +38,5 @@ var unifyMixins = [
|
|
|
44
38
|
unifyWithCombinators
|
|
45
39
|
];
|
|
46
40
|
var _default = unifyMixins;
|
|
47
|
-
function unifyWithCombinator(statement, combinator, assignments, stated, context) {
|
|
48
|
-
var unifiedWithCombinator;
|
|
49
|
-
var statementString = statement.getString(), combinatorString = combinator.getString();
|
|
50
|
-
context.trace("Unifying the '".concat(statementString, "' statement with the '").concat(combinatorString, "' combinator..."));
|
|
51
|
-
var statementUnifiedWithCombinator = (0, _unification.unifyStatementWithCombinator)(statement, combinator, assignments, stated, context);
|
|
52
|
-
unifiedWithCombinator = statementUnifiedWithCombinator; ///
|
|
53
|
-
if (unifiedWithCombinator) {
|
|
54
|
-
context.debug("...unified the '".concat(statementString, "' statement with the '").concat(combinatorString, "' combinator."));
|
|
55
|
-
}
|
|
56
|
-
return unifiedWithCombinator;
|
|
57
|
-
}
|
|
58
41
|
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9taXhpbnMvc3RhdGVtZW50L3VuaWZ5LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgQnJhY2tldGVkQ29tYmluYXRvciBmcm9tIFwiLi4vLi4vY29tYmluYXRvci9icmFja2V0ZWRcIjtcblxuZnVuY3Rpb24gdW5pZnlXaXRoQnJhY2tldGVkQ29tYmluYXRvcihzdGF0ZW1lbnQsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpIHtcbiAgbGV0IHVuaWZpZWRXaXRoQnJhY2tldGVkQ29tYmluYXRvcjtcblxuICBjb25zdCBicmFja2V0ZWRDb21iaW5hdG9yID0gQnJhY2tldGVkQ29tYmluYXRvci5mcm9tTm90aGluZygpO1xuXG4gIHVuaWZpZWRXaXRoQnJhY2tldGVkQ29tYmluYXRvciA9IGJyYWNrZXRlZENvbWJpbmF0b3IudW5pZnlTdGF0ZW1lbnQoc3RhdGVtZW50LCBhc3NpZ25tZW50cywgc3RhdGVkLCBjb250ZXh0KTtcblxuICByZXR1cm4gdW5pZmllZFdpdGhCcmFja2V0ZWRDb21iaW5hdG9yO1xufVxuXG5mdW5jdGlvbiB1bmlmeVdpdGhDb21iaW5hdG9ycyhzdGF0ZW1lbnQsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpIHtcbiAgbGV0IHVuaWZpZWRXaXRoQ29tYmluYXRvcnM7XG5cbiAgY29uc3QgY29tYmluYXRvcnMgPSBjb250ZXh0LmdldENvbWJpbmF0b3JzKCk7XG5cbiAgc3RhdGVkID0gdHJ1ZTsgIC8vL1xuXG4gIGFzc2lnbm1lbnRzID0gbnVsbDsgLy8vXG5cbiAgdW5pZmllZFdpdGhDb21iaW5hdG9ycyA9IGNvbWJpbmF0b3JzLnNvbWUoKGNvbWJpbmF0b3IpID0+IHtcbiAgICBjb25zdCB1bmlmaWVkV2l0aENvbWJpbmF0b3IgPSBjb21iaW5hdG9yLnVuaWZ5U3RhdGVtZW50KHN0YXRlbWVudCwgYXNzaWdubWVudHMsIHN0YXRlZCwgY29udGV4dCk7XG5cbiAgICBpZiAodW5pZmllZFdpdGhDb21iaW5hdG9yKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiB1bmlmaWVkV2l0aENvbWJpbmF0b3JzO1xufVxuXG5cbmNvbnN0IHVuaWZ5TWl4aW5zID0gW1xuICB1bmlmeVdpdGhCcmFja2V0ZWRDb21iaW5hdG9yLFxuICB1bmlmeVdpdGhDb21iaW5hdG9yc1xuXTtcblxuZXhwb3J0IGRlZmF1bHQgdW5pZnlNaXhpbnM7XG4iXSwibmFtZXMiOlsidW5pZnlXaXRoQnJhY2tldGVkQ29tYmluYXRvciIsInN0YXRlbWVudCIsImFzc2lnbm1lbnRzIiwic3RhdGVkIiwiY29udGV4dCIsInVuaWZpZWRXaXRoQnJhY2tldGVkQ29tYmluYXRvciIsImJyYWNrZXRlZENvbWJpbmF0b3IiLCJCcmFja2V0ZWRDb21iaW5hdG9yIiwiZnJvbU5vdGhpbmciLCJ1bmlmeVN0YXRlbWVudCIsInVuaWZ5V2l0aENvbWJpbmF0b3JzIiwidW5pZmllZFdpdGhDb21iaW5hdG9ycyIsImNvbWJpbmF0b3JzIiwiZ2V0Q29tYmluYXRvcnMiLCJzb21lIiwiY29tYmluYXRvciIsInVuaWZpZWRXaXRoQ29tYmluYXRvciIsInVuaWZ5TWl4aW5zIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkF3Q0E7OztlQUFBOzs7Z0VBdENnQzs7Ozs7O0FBRWhDLFNBQVNBLDZCQUE2QkMsU0FBUyxFQUFFQyxXQUFXLEVBQUVDLE1BQU0sRUFBRUMsT0FBTztJQUMzRSxJQUFJQztJQUVKLElBQU1DLHNCQUFzQkMsa0JBQW1CLENBQUNDLFdBQVc7SUFFM0RILGlDQUFpQ0Msb0JBQW9CRyxjQUFjLENBQUNSLFdBQVdDLGFBQWFDLFFBQVFDO0lBRXBHLE9BQU9DO0FBQ1Q7QUFFQSxTQUFTSyxxQkFBcUJULFNBQVMsRUFBRUMsV0FBVyxFQUFFQyxNQUFNLEVBQUVDLE9BQU87SUFDbkUsSUFBSU87SUFFSixJQUFNQyxjQUFjUixRQUFRUyxjQUFjO0lBRTFDVixTQUFTLE1BQU8sR0FBRztJQUVuQkQsY0FBYyxNQUFNLEdBQUc7SUFFdkJTLHlCQUF5QkMsWUFBWUUsSUFBSSxDQUFDLFNBQUNDO1FBQ3pDLElBQU1DLHdCQUF3QkQsV0FBV04sY0FBYyxDQUFDUixXQUFXQyxhQUFhQyxRQUFRQztRQUV4RixJQUFJWSx1QkFBdUI7WUFDekIsT0FBTztRQUNUO0lBQ0Y7SUFFQSxPQUFPTDtBQUNUO0FBR0EsSUFBTU0sY0FBYztJQUNsQmpCO0lBQ0FVO0NBQ0Q7SUFFRCxXQUFlTyJ9
|
package/lib/mixins/term/unify.js
CHANGED
|
@@ -8,47 +8,23 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return _default;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var _shim = /*#__PURE__*/ _interop_require_default(require("../../shim"));
|
|
12
11
|
var _bracketed = /*#__PURE__*/ _interop_require_default(require("../../constructor/bracketed"));
|
|
13
|
-
var _query = require("../../utilities/query");
|
|
14
|
-
var _unification = require("../../utilities/unification");
|
|
15
12
|
function _interop_require_default(obj) {
|
|
16
13
|
return obj && obj.__esModule ? obj : {
|
|
17
14
|
default: obj
|
|
18
15
|
};
|
|
19
16
|
}
|
|
20
|
-
var termNodeQuery = (0, _query.nodeQuery)("/term/argument/term");
|
|
21
17
|
function unifyWithBracketedConstructor(term, context, verifyAhead) {
|
|
22
18
|
var unifiedWithBracketedConstructor;
|
|
23
|
-
var termString = term.getString();
|
|
24
|
-
context.trace("Unifying the '".concat(termString, "' term with the bracketed constructor..."), term);
|
|
25
19
|
var bracketedConstructor = _bracketed.default.fromNothing();
|
|
26
|
-
unifiedWithBracketedConstructor =
|
|
27
|
-
var verifiedAhead = false;
|
|
28
|
-
var Term = _shim.default.Term, bracketedTerm = term, bracketedTermNode = bracketedTerm.getNode(), termNode = termNodeQuery(bracketedTermNode); ///
|
|
29
|
-
term = Term.fromTermNode(termNode, context);
|
|
30
|
-
if (term !== null) {
|
|
31
|
-
var termVVerified = term.verify(context, function() {
|
|
32
|
-
var verifiedAhead;
|
|
33
|
-
var type = term.getType();
|
|
34
|
-
bracketedTerm.setType(type);
|
|
35
|
-
verifiedAhead = verifyAhead();
|
|
36
|
-
return verifiedAhead;
|
|
37
|
-
});
|
|
38
|
-
verifiedAhead = termVVerified; ///
|
|
39
|
-
}
|
|
40
|
-
return verifiedAhead;
|
|
41
|
-
});
|
|
42
|
-
if (unifiedWithBracketedConstructor) {
|
|
43
|
-
context.debug("...unified the '".concat(termString, "' term with the bracketed constructor."), term);
|
|
44
|
-
}
|
|
20
|
+
unifiedWithBracketedConstructor = bracketedConstructor.unifyTerm(term, context, verifyAhead);
|
|
45
21
|
return unifiedWithBracketedConstructor;
|
|
46
22
|
}
|
|
47
23
|
function unifyWithConstructors(term, context, verifyAhead) {
|
|
48
24
|
var unifiedWithConstructors;
|
|
49
25
|
var constructors = context.getConstructors();
|
|
50
26
|
unifiedWithConstructors = constructors.some(function(constructor) {
|
|
51
|
-
var unifiedWithConstructor =
|
|
27
|
+
var unifiedWithConstructor = constructor.unifyTerm(term, context, verifyAhead);
|
|
52
28
|
if (unifiedWithConstructor) {
|
|
53
29
|
return true;
|
|
54
30
|
}
|
|
@@ -60,22 +36,5 @@ var unifyMixins = [
|
|
|
60
36
|
unifyWithConstructors
|
|
61
37
|
];
|
|
62
38
|
var _default = unifyMixins;
|
|
63
|
-
function unifyWithConstructor(term, constructor, context, verifyAhead) {
|
|
64
|
-
var unifiedWithConstructor = false;
|
|
65
|
-
var termString = term.getString(), constructorString = constructor.getString();
|
|
66
|
-
context.trace("Unifying the '".concat(termString, "' term with the '").concat(constructorString, "' constructor..."), term);
|
|
67
|
-
var termUnifiedWithConstructor = (0, _unification.unifyTermWithConstructor)(term, constructor, context);
|
|
68
|
-
if (termUnifiedWithConstructor) {
|
|
69
|
-
var verifiedAhead;
|
|
70
|
-
var type = constructor.getType();
|
|
71
|
-
term.setType(type);
|
|
72
|
-
verifiedAhead = verifyAhead();
|
|
73
|
-
unifiedWithConstructor = verifiedAhead; ///
|
|
74
|
-
}
|
|
75
|
-
if (unifiedWithConstructor) {
|
|
76
|
-
context.debug("...unified the '".concat(termString, "' term with the '").concat(constructorString, "' constructor."), term);
|
|
77
|
-
}
|
|
78
|
-
return unifiedWithConstructor;
|
|
79
|
-
}
|
|
80
39
|
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9taXhpbnMvdGVybS91bmlmeS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IEJyYWNrZXRlZENvbnN0cnVjdG9yIGZyb20gXCIuLi8uLi9jb25zdHJ1Y3Rvci9icmFja2V0ZWRcIjtcblxuZnVuY3Rpb24gdW5pZnlXaXRoQnJhY2tldGVkQ29uc3RydWN0b3IodGVybSwgY29udGV4dCwgdmVyaWZ5QWhlYWQpIHtcbiAgbGV0IHVuaWZpZWRXaXRoQnJhY2tldGVkQ29uc3RydWN0b3I7XG5cbiAgY29uc3QgYnJhY2tldGVkQ29uc3RydWN0b3IgPSBCcmFja2V0ZWRDb25zdHJ1Y3Rvci5mcm9tTm90aGluZygpO1xuXG4gIHVuaWZpZWRXaXRoQnJhY2tldGVkQ29uc3RydWN0b3IgPSBicmFja2V0ZWRDb25zdHJ1Y3Rvci51bmlmeVRlcm0odGVybSwgY29udGV4dCwgdmVyaWZ5QWhlYWQpO1xuXG4gIHJldHVybiB1bmlmaWVkV2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yO1xufVxuXG5mdW5jdGlvbiB1bmlmeVdpdGhDb25zdHJ1Y3RvcnModGVybSwgY29udGV4dCwgdmVyaWZ5QWhlYWQpIHtcbiAgbGV0IHVuaWZpZWRXaXRoQ29uc3RydWN0b3JzO1xuXG4gIGNvbnN0IGNvbnN0cnVjdG9ycyA9IGNvbnRleHQuZ2V0Q29uc3RydWN0b3JzKCk7XG5cbiAgdW5pZmllZFdpdGhDb25zdHJ1Y3RvcnMgPSBjb25zdHJ1Y3RvcnMuc29tZSgoY29uc3RydWN0b3IpID0+IHtcbiAgICBjb25zdCB1bmlmaWVkV2l0aENvbnN0cnVjdG9yID0gY29uc3RydWN0b3IudW5pZnlUZXJtKHRlcm0sIGNvbnRleHQsIHZlcmlmeUFoZWFkKTtcblxuICAgIGlmICh1bmlmaWVkV2l0aENvbnN0cnVjdG9yKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiB1bmlmaWVkV2l0aENvbnN0cnVjdG9ycztcbn1cblxuY29uc3QgdW5pZnlNaXhpbnMgPSBbXG4gIHVuaWZ5V2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yLFxuICB1bmlmeVdpdGhDb25zdHJ1Y3RvcnNcbl07XG5cbmV4cG9ydCBkZWZhdWx0IHVuaWZ5TWl4aW5zO1xuIl0sIm5hbWVzIjpbInVuaWZ5V2l0aEJyYWNrZXRlZENvbnN0cnVjdG9yIiwidGVybSIsImNvbnRleHQiLCJ2ZXJpZnlBaGVhZCIsInVuaWZpZWRXaXRoQnJhY2tldGVkQ29uc3RydWN0b3IiLCJicmFja2V0ZWRDb25zdHJ1Y3RvciIsIkJyYWNrZXRlZENvbnN0cnVjdG9yIiwiZnJvbU5vdGhpbmciLCJ1bmlmeVRlcm0iLCJ1bmlmeVdpdGhDb25zdHJ1Y3RvcnMiLCJ1bmlmaWVkV2l0aENvbnN0cnVjdG9ycyIsImNvbnN0cnVjdG9ycyIsImdldENvbnN0cnVjdG9ycyIsInNvbWUiLCJjb25zdHJ1Y3RvciIsInVuaWZpZWRXaXRoQ29uc3RydWN0b3IiLCJ1bmlmeU1peGlucyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBbUNBOzs7ZUFBQTs7O2dFQWpDaUM7Ozs7OztBQUVqQyxTQUFTQSw4QkFBOEJDLElBQUksRUFBRUMsT0FBTyxFQUFFQyxXQUFXO0lBQy9ELElBQUlDO0lBRUosSUFBTUMsdUJBQXVCQyxrQkFBb0IsQ0FBQ0MsV0FBVztJQUU3REgsa0NBQWtDQyxxQkFBcUJHLFNBQVMsQ0FBQ1AsTUFBTUMsU0FBU0M7SUFFaEYsT0FBT0M7QUFDVDtBQUVBLFNBQVNLLHNCQUFzQlIsSUFBSSxFQUFFQyxPQUFPLEVBQUVDLFdBQVc7SUFDdkQsSUFBSU87SUFFSixJQUFNQyxlQUFlVCxRQUFRVSxlQUFlO0lBRTVDRiwwQkFBMEJDLGFBQWFFLElBQUksQ0FBQyxTQUFDQztRQUMzQyxJQUFNQyx5QkFBeUJELFlBQVlOLFNBQVMsQ0FBQ1AsTUFBTUMsU0FBU0M7UUFFcEUsSUFBSVksd0JBQXdCO1lBQzFCLE9BQU87UUFDVDtJQUNGO0lBRUEsT0FBT0w7QUFDVDtBQUVBLElBQU1NLGNBQWM7SUFDbEJoQjtJQUNBUztDQUNEO0lBRUQsV0FBZU8ifQ==
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "occam-verify-cli",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.1110",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-verify-cli",
|
|
7
7
|
"description": "Occam's Verifier",
|
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"argumentative": "^2.0.32",
|
|
14
14
|
"necessary": "^14.2.1",
|
|
15
|
-
"occam-custom-grammars": "^5.0.
|
|
16
|
-
"occam-entities": "^1.0.
|
|
17
|
-
"occam-file-system": "^6.0.
|
|
15
|
+
"occam-custom-grammars": "^5.0.904",
|
|
16
|
+
"occam-entities": "^1.0.177",
|
|
17
|
+
"occam-file-system": "^6.0.215",
|
|
18
18
|
"occam-grammar-utilities": "^8.0.220",
|
|
19
19
|
"occam-lexers": "^23.0.11",
|
|
20
20
|
"occam-parsers": "^23.0.14",
|
|
@@ -4,11 +4,33 @@ import shim from "../shim";
|
|
|
4
4
|
import Combinator from "../combinator";
|
|
5
5
|
import CombinatorBracketedContext from "../context/bracketed/combinator";
|
|
6
6
|
|
|
7
|
+
import { unifyStatementWithCombinator } from "../utilities/unification";
|
|
8
|
+
|
|
7
9
|
const combinatorBracketedContext = CombinatorBracketedContext.fromNothing();
|
|
8
10
|
|
|
9
11
|
export const bracketedStatementNode = combinatorBracketedContext.getBracketedStatementNode(); ///
|
|
10
12
|
|
|
11
13
|
export default class BracketedCombinator extends Combinator {
|
|
14
|
+
unifyStatement(statement, assignments, stated, context) {
|
|
15
|
+
let statementUnified;
|
|
16
|
+
|
|
17
|
+
const statementString = statement.getString();
|
|
18
|
+
|
|
19
|
+
context.trace(`Unifying the '${statementString}' statement with the bracketed combinator...`);
|
|
20
|
+
|
|
21
|
+
const bracketedCombinator = this, ///
|
|
22
|
+
combinator = bracketedCombinator, ///
|
|
23
|
+
statementUnifiedWithCombinator = unifyStatementWithCombinator(statement, combinator, assignments, stated, context);
|
|
24
|
+
|
|
25
|
+
statementUnified = statementUnifiedWithCombinator;
|
|
26
|
+
|
|
27
|
+
if (statementUnified) {
|
|
28
|
+
context.debug(`...unified the '${statementString}' statement with the bracketed combinator.`);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return statementUnified;
|
|
32
|
+
}
|
|
33
|
+
|
|
12
34
|
static fromNothing() {
|
|
13
35
|
const { Statement } = shim,
|
|
14
36
|
statementNode = bracketedStatementNode, ///
|
package/src/combinator.js
CHANGED
|
@@ -4,6 +4,7 @@ import shim from "./shim";
|
|
|
4
4
|
import LocalContext from "./context/local";
|
|
5
5
|
|
|
6
6
|
import { nodeQuery } from "./utilities/query";
|
|
7
|
+
import { unifyStatementWithCombinator } from "./utilities/unification";
|
|
7
8
|
import { statementFromJSON, statementToStatementJSON } from "./utilities/json";
|
|
8
9
|
|
|
9
10
|
const statementNodeQuery = nodeQuery("/combinatorDeclaration/statement");
|
|
@@ -25,6 +26,26 @@ class Combinator {
|
|
|
25
26
|
return statementNode;
|
|
26
27
|
}
|
|
27
28
|
|
|
29
|
+
unifyStatement(statement, assignments, stated, context) {
|
|
30
|
+
let statementUnified;
|
|
31
|
+
|
|
32
|
+
const combinator = this, ///
|
|
33
|
+
statementString = statement.getString(),
|
|
34
|
+
combinatorString = combinator.getString();
|
|
35
|
+
|
|
36
|
+
context.trace(`Unifying the '${statementString}' statement with the '${combinatorString}' combinator...`);
|
|
37
|
+
|
|
38
|
+
const statementUnifiedWithCombinator = unifyStatementWithCombinator(statement, combinator, assignments, stated, context);
|
|
39
|
+
|
|
40
|
+
statementUnified = statementUnifiedWithCombinator; ///
|
|
41
|
+
|
|
42
|
+
if (statementUnified) {
|
|
43
|
+
context.debug(`...unified the '${statementString}' statement with the '${combinatorString}' combinator.`);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
return statementUnified;
|
|
47
|
+
}
|
|
48
|
+
|
|
28
49
|
verifyWhenDeclared(fileContext) {
|
|
29
50
|
let verifiedWhenDeclared;
|
|
30
51
|
|
|
@@ -4,13 +4,59 @@ import shim from "../shim";
|
|
|
4
4
|
import Constructor from "../constructor";
|
|
5
5
|
import ConstructorBracketedContext from "../context/bracketed/constructor";
|
|
6
6
|
|
|
7
|
+
import { nodeQuery } from "../utilities/query";
|
|
7
8
|
import { stringFromTermAndType } from "../constructor";
|
|
8
9
|
|
|
10
|
+
const termNodeQuery = nodeQuery("/term/argument/term");
|
|
11
|
+
|
|
9
12
|
const constructorBracketedContext = ConstructorBracketedContext.fromNothing();
|
|
10
13
|
|
|
11
14
|
export const bracketedTermNode = constructorBracketedContext.getBracketedTermNode();
|
|
12
15
|
|
|
13
16
|
export default class BracketedConstructor extends Constructor {
|
|
17
|
+
unifyTerm(term, context, verifyAhead) {
|
|
18
|
+
let termUnified;
|
|
19
|
+
|
|
20
|
+
const termString = term.getString();
|
|
21
|
+
|
|
22
|
+
context.trace(`Unifying the '${termString}' term with the bracketed constructor...`, term);
|
|
23
|
+
|
|
24
|
+
termUnified = super.unifyTerm(term, context, () => {
|
|
25
|
+
let verifiedAhead = false;
|
|
26
|
+
|
|
27
|
+
const { Term } = shim,
|
|
28
|
+
bracketedTerm = term, ///
|
|
29
|
+
bracketedTermNode = bracketedTerm.getNode(),
|
|
30
|
+
termNode = termNodeQuery(bracketedTermNode); ///
|
|
31
|
+
|
|
32
|
+
term = Term.fromTermNode(termNode, context);
|
|
33
|
+
|
|
34
|
+
if (term !== null) {
|
|
35
|
+
const termVVerified = term.verify(context, () => {
|
|
36
|
+
let verifiedAhead;
|
|
37
|
+
|
|
38
|
+
const type = term.getType();
|
|
39
|
+
|
|
40
|
+
bracketedTerm.setType(type);
|
|
41
|
+
|
|
42
|
+
verifiedAhead = verifyAhead();
|
|
43
|
+
|
|
44
|
+
return verifiedAhead;
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
verifiedAhead = termVVerified; ///
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
return verifiedAhead;
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
if (termUnified) {
|
|
54
|
+
context.debug(`...unified the '${termString}' term with the bracketed constructor.`, term);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return termUnified;
|
|
58
|
+
}
|
|
59
|
+
|
|
14
60
|
static fromNothing() {
|
|
15
61
|
const { Term } = shim,
|
|
16
62
|
termNode = bracketedTermNode, ///
|
package/src/constructor.js
CHANGED
|
@@ -4,6 +4,7 @@ import shim from "./shim";
|
|
|
4
4
|
import LocalContext from "./context/local";
|
|
5
5
|
|
|
6
6
|
import { nodeQuery } from "./utilities/query";
|
|
7
|
+
import { unifyTermWithConstructor } from "./utilities/unification";
|
|
7
8
|
import { termFromJSON, termToTermJSON } from "./utilities/json";
|
|
8
9
|
|
|
9
10
|
const termNodeQuery = nodeQuery("/constructorDeclaration/term"),
|
|
@@ -25,6 +26,36 @@ class Constructor {
|
|
|
25
26
|
|
|
26
27
|
getType() { return this.term.getType(); }
|
|
27
28
|
|
|
29
|
+
unifyTerm(term, context, verifyAhead) {
|
|
30
|
+
let termUnified = false;
|
|
31
|
+
|
|
32
|
+
const constructor = this, ///
|
|
33
|
+
termString = term.getString(),
|
|
34
|
+
constructorString = constructor.getString();
|
|
35
|
+
|
|
36
|
+
context.trace(`Unifying the '${termString}' term with the '${constructorString}' constructor...`, term);
|
|
37
|
+
|
|
38
|
+
const termUnifiedWithConstructor = unifyTermWithConstructor(term, constructor, context);
|
|
39
|
+
|
|
40
|
+
if (termUnifiedWithConstructor) {
|
|
41
|
+
let verifiedAhead;
|
|
42
|
+
|
|
43
|
+
const type = constructor.getType();
|
|
44
|
+
|
|
45
|
+
term.setType(type);
|
|
46
|
+
|
|
47
|
+
verifiedAhead = verifyAhead();
|
|
48
|
+
|
|
49
|
+
termUnified = verifiedAhead; ///
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
if (termUnified) {
|
|
53
|
+
context.debug(`...unified the '${termString}' term with the '${constructorString}' constructor.`, term);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return termUnified;
|
|
57
|
+
}
|
|
58
|
+
|
|
28
59
|
verifyWhenDeclared(fileContext) {
|
|
29
60
|
let verifiedWhenDeclared;
|
|
30
61
|
|
|
@@ -2,24 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
import BracketedCombinator from "../../combinator/bracketed";
|
|
4
4
|
|
|
5
|
-
import { unifyStatementWithCombinator } from "../../utilities/unification";
|
|
6
|
-
|
|
7
5
|
function unifyWithBracketedCombinator(statement, assignments, stated, context) {
|
|
8
6
|
let unifiedWithBracketedCombinator;
|
|
9
7
|
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
context.trace(`Unifying the '${statementString}' statement with the bracketed combinator...`);
|
|
13
|
-
|
|
14
|
-
const bracketedCombinator = BracketedCombinator.fromNothing(),
|
|
15
|
-
combinator = bracketedCombinator, ///
|
|
16
|
-
statementUnifiedWithCombinator = unifyStatementWithCombinator(statement, combinator, assignments, stated, context);
|
|
8
|
+
const bracketedCombinator = BracketedCombinator.fromNothing();
|
|
17
9
|
|
|
18
|
-
unifiedWithBracketedCombinator =
|
|
19
|
-
|
|
20
|
-
if (unifiedWithBracketedCombinator) {
|
|
21
|
-
context.debug(`...unified the '${statementString}' statement with the bracketed combinator.`);
|
|
22
|
-
}
|
|
10
|
+
unifiedWithBracketedCombinator = bracketedCombinator.unifyStatement(statement, assignments, stated, context);
|
|
23
11
|
|
|
24
12
|
return unifiedWithBracketedCombinator;
|
|
25
13
|
}
|
|
@@ -34,7 +22,7 @@ function unifyWithCombinators(statement, assignments, stated, context) {
|
|
|
34
22
|
assignments = null; ///
|
|
35
23
|
|
|
36
24
|
unifiedWithCombinators = combinators.some((combinator) => {
|
|
37
|
-
const unifiedWithCombinator =
|
|
25
|
+
const unifiedWithCombinator = combinator.unifyStatement(statement, assignments, stated, context);
|
|
38
26
|
|
|
39
27
|
if (unifiedWithCombinator) {
|
|
40
28
|
return true;
|
|
@@ -51,22 +39,3 @@ const unifyMixins = [
|
|
|
51
39
|
];
|
|
52
40
|
|
|
53
41
|
export default unifyMixins;
|
|
54
|
-
|
|
55
|
-
function unifyWithCombinator(statement, combinator, assignments, stated, context) {
|
|
56
|
-
let unifiedWithCombinator;
|
|
57
|
-
|
|
58
|
-
const statementString = statement.getString(),
|
|
59
|
-
combinatorString = combinator.getString();
|
|
60
|
-
|
|
61
|
-
context.trace(`Unifying the '${statementString}' statement with the '${combinatorString}' combinator...`);
|
|
62
|
-
|
|
63
|
-
const statementUnifiedWithCombinator = unifyStatementWithCombinator(statement, combinator, assignments, stated, context);
|
|
64
|
-
|
|
65
|
-
unifiedWithCombinator = statementUnifiedWithCombinator; ///
|
|
66
|
-
|
|
67
|
-
if (unifiedWithCombinator) {
|
|
68
|
-
context.debug(`...unified the '${statementString}' statement with the '${combinatorString}' combinator.`);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
return unifiedWithCombinator;
|
|
72
|
-
}
|
package/src/mixins/term/unify.js
CHANGED
|
@@ -1,54 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import shim from "../../shim";
|
|
4
3
|
import BracketedConstructor from "../../constructor/bracketed";
|
|
5
4
|
|
|
6
|
-
import { nodeQuery } from "../../utilities/query";
|
|
7
|
-
import { unifyTermWithConstructor } from "../../utilities/unification";
|
|
8
|
-
|
|
9
|
-
const termNodeQuery = nodeQuery("/term/argument/term");
|
|
10
|
-
|
|
11
5
|
function unifyWithBracketedConstructor(term, context, verifyAhead) {
|
|
12
6
|
let unifiedWithBracketedConstructor;
|
|
13
7
|
|
|
14
|
-
const termString = term.getString();
|
|
15
|
-
|
|
16
|
-
context.trace(`Unifying the '${termString}' term with the bracketed constructor...`, term);
|
|
17
|
-
|
|
18
8
|
const bracketedConstructor = BracketedConstructor.fromNothing();
|
|
19
9
|
|
|
20
|
-
unifiedWithBracketedConstructor =
|
|
21
|
-
let verifiedAhead = false;
|
|
22
|
-
|
|
23
|
-
const { Term } = shim,
|
|
24
|
-
bracketedTerm = term, ///
|
|
25
|
-
bracketedTermNode = bracketedTerm.getNode(),
|
|
26
|
-
termNode = termNodeQuery(bracketedTermNode); ///
|
|
27
|
-
|
|
28
|
-
term = Term.fromTermNode(termNode, context);
|
|
29
|
-
|
|
30
|
-
if (term !== null) {
|
|
31
|
-
const termVVerified = term.verify(context, () => {
|
|
32
|
-
let verifiedAhead;
|
|
33
|
-
|
|
34
|
-
const type = term.getType();
|
|
35
|
-
|
|
36
|
-
bracketedTerm.setType(type);
|
|
37
|
-
|
|
38
|
-
verifiedAhead = verifyAhead();
|
|
39
|
-
|
|
40
|
-
return verifiedAhead;
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
verifiedAhead = termVVerified; ///
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
return verifiedAhead;
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
if (unifiedWithBracketedConstructor) {
|
|
50
|
-
context.debug(`...unified the '${termString}' term with the bracketed constructor.`, term);
|
|
51
|
-
}
|
|
10
|
+
unifiedWithBracketedConstructor = bracketedConstructor.unifyTerm(term, context, verifyAhead);
|
|
52
11
|
|
|
53
12
|
return unifiedWithBracketedConstructor;
|
|
54
13
|
}
|
|
@@ -59,7 +18,7 @@ function unifyWithConstructors(term, context, verifyAhead) {
|
|
|
59
18
|
const constructors = context.getConstructors();
|
|
60
19
|
|
|
61
20
|
unifiedWithConstructors = constructors.some((constructor) => {
|
|
62
|
-
const unifiedWithConstructor =
|
|
21
|
+
const unifiedWithConstructor = constructor.unifyTerm(term, context, verifyAhead);
|
|
63
22
|
|
|
64
23
|
if (unifiedWithConstructor) {
|
|
65
24
|
return true;
|
|
@@ -75,32 +34,3 @@ const unifyMixins = [
|
|
|
75
34
|
];
|
|
76
35
|
|
|
77
36
|
export default unifyMixins;
|
|
78
|
-
|
|
79
|
-
function unifyWithConstructor(term, constructor, context, verifyAhead) {
|
|
80
|
-
let unifiedWithConstructor = false;
|
|
81
|
-
|
|
82
|
-
const termString = term.getString(),
|
|
83
|
-
constructorString = constructor.getString();
|
|
84
|
-
|
|
85
|
-
context.trace(`Unifying the '${termString}' term with the '${constructorString}' constructor...`, term);
|
|
86
|
-
|
|
87
|
-
const termUnifiedWithConstructor = unifyTermWithConstructor(term, constructor, context);
|
|
88
|
-
|
|
89
|
-
if (termUnifiedWithConstructor) {
|
|
90
|
-
let verifiedAhead;
|
|
91
|
-
|
|
92
|
-
const type = constructor.getType();
|
|
93
|
-
|
|
94
|
-
term.setType(type);
|
|
95
|
-
|
|
96
|
-
verifiedAhead = verifyAhead();
|
|
97
|
-
|
|
98
|
-
unifiedWithConstructor = verifiedAhead; ///
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
if (unifiedWithConstructor) {
|
|
102
|
-
context.debug(`...unified the '${termString}' term with the '${constructorString}' constructor.`, term);
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
return unifiedWithConstructor;
|
|
106
|
-
}
|