occam-verify-cli 0.0.527 → 0.0.529
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/README.md +4 -0
- package/bin/abbreviations.js +5 -1
- package/bin/action/help.js +4 -0
- package/bin/action/verify.js +35 -13
- package/bin/actions.js +11 -6
- package/bin/defaults.js +4 -0
- package/bin/options.js +4 -0
- package/bin/utilities/releaseContext.js +5 -7
- package/lib/axiom.js +3 -3
- package/lib/axiomLemmaTheoremConjecture.js +5 -5
- package/lib/combinator.js +4 -3
- package/lib/conclusion.js +8 -7
- package/lib/conjecture.js +3 -3
- package/lib/consequence.js +6 -5
- package/lib/constants.js +8 -12
- package/lib/constructor.js +5 -4
- package/lib/context/file.js +13 -35
- package/lib/context/metaproof.js +12 -11
- package/lib/context/proof.js +11 -10
- package/lib/context/release/directory.js +6 -6
- package/lib/context/release/file.js +15 -26
- package/lib/context/release.js +32 -51
- package/lib/equality.js +5 -4
- package/lib/index.js +4 -4
- package/lib/label.js +4 -3
- package/lib/lemma.js +3 -3
- package/lib/log.js +146 -0
- package/lib/matcher.js +14 -23
- package/lib/metaTypeNames.js +13 -0
- package/lib/mixins/logging.js +13 -13
- package/lib/node/metastatement/bracketed.js +16 -0
- package/lib/node/statement/bracketed.js +16 -0
- package/lib/node/statement/combinator/bracketed.js +17 -0
- package/lib/node/statement/combinator/equality.js +17 -0
- package/lib/node/statement/equality.js +16 -0
- package/lib/ocmbinator/bracketed.js +3 -4
- package/lib/ocmbinator/equality.js +3 -4
- package/lib/premise.js +10 -9
- package/lib/rule.js +5 -5
- package/lib/step/metaproof.js +28 -25
- package/lib/step/proof.js +15 -14
- package/lib/substitution/metastatementForMetavariable.js +16 -13
- package/lib/substitution/statementForMetavariable.js +17 -18
- package/lib/substitution/termForVariable.js +8 -18
- package/lib/supposition.js +7 -6
- package/lib/theorem.js +3 -3
- package/lib/type.js +5 -5
- package/lib/utilities/metaproof.js +60 -0
- package/lib/utilities/node.js +56 -0
- package/lib/utilities/proof.js +60 -0
- package/lib/utilities/releaseContext.js +24 -12
- package/lib/utilities/string.js +1 -32
- package/lib/{matcher → verifier}/metastatementForMetavariable/conclusion.js +12 -12
- package/lib/{matcher → verifier}/metastatementForMetavariable/premise.js +12 -12
- package/lib/verifier/metastatementForMetavariable.js +198 -0
- package/lib/{matcher → verifier}/statementForMetavariable/conclusion.js +12 -12
- package/lib/{matcher → verifier}/statementForMetavariable/premise.js +12 -12
- package/lib/verifier/statementForMetavariable.js +203 -0
- package/lib/{matcher → verifier}/termForVariable/consequence.js +12 -12
- package/lib/{matcher → verifier}/termForVariable/supposition.js +12 -12
- package/lib/verifier/termForVariable.js +198 -0
- package/lib/verifier.js +92 -0
- package/lib/verify/assertion/type.js +6 -8
- package/lib/verify/axiom.js +3 -5
- package/lib/verify/conclusion.js +2 -4
- package/lib/verify/conjecture.js +3 -5
- package/lib/verify/consequence.js +2 -4
- package/lib/verify/declaration/combinator.js +1 -3
- package/lib/verify/declaration/constructor.js +1 -3
- package/lib/verify/declaration/topLevel.js +1 -3
- package/lib/verify/declaration/type.js +1 -3
- package/lib/verify/declaration/variable.js +1 -3
- package/lib/verify/derivation.js +1 -5
- package/lib/verify/label.js +1 -3
- package/lib/verify/lemma.js +3 -5
- package/lib/verify/metastatement/qualified.js +2 -4
- package/lib/verify/metastatement/unqualified.js +2 -4
- package/lib/verify/metastatement.js +1 -3
- package/lib/verify/premise.js +2 -4
- package/lib/verify/proof.js +3 -5
- package/lib/verify/rule.js +3 -5
- package/lib/verify/ruleDerivation.js +1 -5
- package/lib/verify/ruleProof.js +3 -5
- package/lib/verify/statement/qualified.js +2 -4
- package/lib/verify/statement/unqualified.js +2 -4
- package/lib/verify/statement.js +14 -17
- package/lib/verify/statementAsCombinator.js +4 -6
- package/lib/verify/supposition.js +2 -4
- package/lib/verify/term.js +4 -10
- package/lib/verify/termAsConstructor.js +6 -9
- package/lib/verify/theorem.js +3 -5
- package/lib/verify/type.js +5 -9
- package/lib/verify/variable.js +5 -9
- package/package.json +1 -1
- package/src/axiom.js +1 -1
- package/src/axiomLemmaTheoremConjecture.js +4 -4
- package/src/combinator.js +3 -3
- package/src/conclusion.js +7 -7
- package/src/conjecture.js +1 -1
- package/src/consequence.js +5 -5
- package/src/constants.js +2 -3
- package/src/constructor.js +4 -4
- package/src/context/file.js +6 -30
- package/src/context/metaproof.js +13 -10
- package/src/context/proof.js +11 -9
- package/src/context/release/directory.js +7 -7
- package/src/context/release/file.js +17 -32
- package/src/context/release.js +23 -32
- package/src/equality.js +6 -8
- package/src/index.js +2 -1
- package/src/label.js +3 -3
- package/src/lemma.js +1 -1
- package/src/log.js +116 -0
- package/src/matcher.js +11 -9
- package/src/metaTypeNames.js +3 -0
- package/src/mixins/logging.js +6 -6
- package/src/node/metastatement/bracketed.js +9 -0
- package/src/node/statement/bracketed.js +9 -0
- package/src/node/statement/combinator/bracketed.js +10 -0
- package/src/node/statement/combinator/equality.js +11 -0
- package/src/node/statement/equality.js +10 -0
- package/src/ocmbinator/bracketed.js +2 -5
- package/src/ocmbinator/equality.js +2 -5
- package/src/premise.js +9 -9
- package/src/rule.js +4 -4
- package/src/step/metaproof.js +32 -29
- package/src/step/proof.js +15 -14
- package/src/substitution/metastatementForMetavariable.js +10 -15
- package/src/substitution/statementForMetavariable.js +12 -24
- package/src/substitution/termForVariable.js +2 -30
- package/src/supposition.js +6 -6
- package/src/theorem.js +1 -1
- package/src/type.js +4 -4
- package/src/utilities/metaproof.js +62 -0
- package/src/utilities/node.js +73 -0
- package/src/utilities/proof.js +62 -0
- package/src/utilities/releaseContext.js +30 -12
- package/src/utilities/string.js +0 -47
- package/src/verifier/metastatementForMetavariable/conclusion.js +9 -0
- package/src/verifier/metastatementForMetavariable/premise.js +9 -0
- package/src/{matcher → verifier}/metastatementForMetavariable.js +2 -2
- package/src/verifier/statementForMetavariable/conclusion.js +9 -0
- package/src/verifier/statementForMetavariable/premise.js +9 -0
- package/src/{matcher → verifier}/statementForMetavariable.js +2 -2
- package/src/verifier/termForVariable/consequence.js +9 -0
- package/src/verifier/termForVariable/supposition.js +9 -0
- package/src/{matcher → verifier}/termForVariable.js +2 -2
- package/src/verifier.js +74 -0
- package/src/verify/assertion/type.js +5 -11
- package/src/verify/axiom.js +2 -8
- package/src/verify/conclusion.js +1 -7
- package/src/verify/conjecture.js +2 -8
- package/src/verify/consequence.js +1 -7
- package/src/verify/declaration/combinator.js +0 -6
- package/src/verify/declaration/constructor.js +0 -6
- package/src/verify/declaration/topLevel.js +0 -6
- package/src/verify/declaration/type.js +0 -6
- package/src/verify/declaration/variable.js +0 -6
- package/src/verify/derivation.js +0 -12
- package/src/verify/label.js +0 -6
- package/src/verify/lemma.js +4 -10
- package/src/verify/metastatement/qualified.js +1 -7
- package/src/verify/metastatement/unqualified.js +1 -7
- package/src/verify/metastatement.js +0 -6
- package/src/verify/premise.js +1 -7
- package/src/verify/proof.js +1 -7
- package/src/verify/rule.js +2 -8
- package/src/verify/ruleDerivation.js +0 -12
- package/src/verify/ruleProof.js +1 -7
- package/src/verify/statement/qualified.js +1 -7
- package/src/verify/statement/unqualified.js +1 -7
- package/src/verify/statement.js +24 -34
- package/src/verify/statementAsCombinator.js +3 -9
- package/src/verify/supposition.js +1 -7
- package/src/verify/term.js +3 -21
- package/src/verify/termAsConstructor.js +5 -13
- package/src/verify/theorem.js +2 -8
- package/src/verify/type.js +4 -13
- package/src/verify/variable.js +4 -13
- package/bin/callbacks.js +0 -48
- package/lib/callbacks.js +0 -75
- package/lib/context/release/combinator.js +0 -64
- package/lib/matcher/metastatementForMetavariable.js +0 -198
- package/lib/matcher/statementForMetavariable.js +0 -203
- package/lib/matcher/termForVariable.js +0 -198
- package/lib/mixins/callbacks.js +0 -27
- package/lib/utilities/substitution.js +0 -60
- package/src/callbacks.js +0 -39
- package/src/context/release/combinator.js +0 -39
- package/src/matcher/metastatementForMetavariable/conclusion.js +0 -9
- package/src/matcher/metastatementForMetavariable/premise.js +0 -9
- package/src/matcher/statementForMetavariable/conclusion.js +0 -9
- package/src/matcher/statementForMetavariable/premise.js +0 -9
- package/src/matcher/termForVariable/consequence.js +0 -9
- package/src/matcher/termForVariable/supposition.js +0 -9
- package/src/mixins/callbacks.js +0 -15
- package/src/utilities/substitution.js +0 -81
package/src/verify/theorem.js
CHANGED
|
@@ -18,13 +18,11 @@ const proofNodeQuery = nodeQuery("/theorem/proof!"),
|
|
|
18
18
|
export default function verifyTheorem(theoremNode, fileContext) {
|
|
19
19
|
let theoremVerified = false;
|
|
20
20
|
|
|
21
|
-
fileContext.begin(theoremNode);
|
|
22
|
-
|
|
23
21
|
const labelNodes = labelNodesQuery(theoremNode),
|
|
24
22
|
labelsString = fileContext.nodesAsString(labelNodes),
|
|
25
23
|
proofContext = ProofContext.fromFileContext(fileContext);
|
|
26
24
|
|
|
27
|
-
fileContext.debug(`Verifying the '${labelsString}' theorem
|
|
25
|
+
fileContext.debug(`Verifying the '${labelsString}' theorem...`, theoremNode);
|
|
28
26
|
|
|
29
27
|
const labels = [],
|
|
30
28
|
labelsVerified = verifyLabels(labelNodes, labels, fileContext);
|
|
@@ -63,12 +61,8 @@ export default function verifyTheorem(theoremNode, fileContext) {
|
|
|
63
61
|
}
|
|
64
62
|
|
|
65
63
|
if (theoremVerified) {
|
|
66
|
-
fileContext.info(`Verified the '${labelsString}' theorem
|
|
64
|
+
fileContext.info(`Verified the '${labelsString}' theorem.`, theoremNode);
|
|
67
65
|
}
|
|
68
66
|
|
|
69
|
-
theoremVerified ?
|
|
70
|
-
fileContext.complete(theoremNode) :
|
|
71
|
-
fileContext.complete(theoremNode);
|
|
72
|
-
|
|
73
67
|
return theoremVerified;
|
|
74
68
|
}
|
package/src/verify/type.js
CHANGED
|
@@ -7,17 +7,12 @@ import { typeNameFromTypeNode } from "../utilities/query";
|
|
|
7
7
|
export default function verifyType(typeNode, superTypeNode, fileContext) {
|
|
8
8
|
let typeVerified = false;
|
|
9
9
|
|
|
10
|
-
fileContext.begin(typeNode);
|
|
11
|
-
|
|
12
|
-
const typeString = fileContext.nodeAsString(typeNode);
|
|
13
|
-
|
|
14
|
-
fileContext.debug(`Verifying the '${typeString}' type...`);
|
|
15
|
-
|
|
16
10
|
const typeName = typeNameFromTypeNode(typeNode),
|
|
11
|
+
typeString = fileContext.nodeAsString(typeNode),
|
|
17
12
|
typePresent = fileContext.isTypePresentByTypeName(typeName);
|
|
18
13
|
|
|
19
14
|
if (typePresent) {
|
|
20
|
-
fileContext.error(`The type '${typeName}' is already present
|
|
15
|
+
fileContext.error(`The type '${typeName}' is already present.`, typeNode);
|
|
21
16
|
} else {
|
|
22
17
|
let type;
|
|
23
18
|
|
|
@@ -29,7 +24,7 @@ export default function verifyType(typeNode, superTypeNode, fileContext) {
|
|
|
29
24
|
const superType = fileContext.findTypeByTypeName(superTypeName);
|
|
30
25
|
|
|
31
26
|
if (superType === null) {
|
|
32
|
-
fileContext.error(`The super-type '${superTypeName}' is
|
|
27
|
+
fileContext.error(`The super-type '${superTypeName}' is not present.`, typeNode);
|
|
33
28
|
} else {
|
|
34
29
|
type = Type.fromTypeNameAndSuperType(typeName, superType);
|
|
35
30
|
}
|
|
@@ -43,12 +38,8 @@ export default function verifyType(typeNode, superTypeNode, fileContext) {
|
|
|
43
38
|
}
|
|
44
39
|
|
|
45
40
|
if (typeVerified) {
|
|
46
|
-
fileContext.info(`Verified the '${typeString}' type
|
|
41
|
+
fileContext.info(`Verified the '${typeString}' type.`, typeNode);
|
|
47
42
|
}
|
|
48
43
|
|
|
49
|
-
typeVerified ?
|
|
50
|
-
fileContext.complete(typeNode):
|
|
51
|
-
fileContext.halt(typeNode);
|
|
52
|
-
|
|
53
44
|
return typeVerified;
|
|
54
45
|
}
|
package/src/verify/variable.js
CHANGED
|
@@ -8,17 +8,12 @@ import { typeNameFromTypeNode, variableNameFromVariableNode } from "../utilities
|
|
|
8
8
|
export default function verifyVariable(variableNode, typeNode, fileContext) {
|
|
9
9
|
let variableVerified = false;
|
|
10
10
|
|
|
11
|
-
fileContext.begin(variableNode);
|
|
12
|
-
|
|
13
|
-
const variableString = fileContext.nodeAsString(variableNode);
|
|
14
|
-
|
|
15
|
-
fileContext.debug(`Verifying the '${variableString}' variable...`);
|
|
16
|
-
|
|
17
11
|
const variableName = variableNameFromVariableNode(variableNode),
|
|
12
|
+
variableString = fileContext.nodeAsString(variableNode),
|
|
18
13
|
variablePresent = fileContext.isVariablePresentByVariableName(variableName);
|
|
19
14
|
|
|
20
15
|
if (variablePresent) {
|
|
21
|
-
fileContext.error(`The variable '${variableName}' is already present
|
|
16
|
+
fileContext.error(`The variable '${variableName}' is already present.`, variableNode);
|
|
22
17
|
} else {
|
|
23
18
|
let variable;
|
|
24
19
|
|
|
@@ -33,7 +28,7 @@ export default function verifyVariable(variableNode, typeNode, fileContext) {
|
|
|
33
28
|
const type = fileContext.findTypeByTypeName(typeName);
|
|
34
29
|
|
|
35
30
|
if (type === null) {
|
|
36
|
-
fileContext.error(`The '${variableName}' variable's '${typeName}' type is
|
|
31
|
+
fileContext.error(`The '${variableName}' variable's '${typeName}' type is not present.`, variableNode);
|
|
37
32
|
} else {
|
|
38
33
|
const name = variableName; ///
|
|
39
34
|
|
|
@@ -49,12 +44,8 @@ export default function verifyVariable(variableNode, typeNode, fileContext) {
|
|
|
49
44
|
}
|
|
50
45
|
|
|
51
46
|
if (variableVerified) {
|
|
52
|
-
fileContext.info(`Verified the '${variableString}' variable
|
|
47
|
+
fileContext.info(`Verified the '${variableString}' variable.`, variableNode);
|
|
53
48
|
}
|
|
54
49
|
|
|
55
|
-
variableVerified ?
|
|
56
|
-
fileContext.complete(variableNode) :
|
|
57
|
-
fileContext.halt(variableNode);
|
|
58
|
-
|
|
59
50
|
return variableVerified;
|
|
60
51
|
}
|
package/bin/callbacks.js
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
const { Callbacks } = require("../lib/index"), ///
|
|
4
|
-
{ loggingUtilities } = require("necessary");
|
|
5
|
-
|
|
6
|
-
const { log } = loggingUtilities,
|
|
7
|
-
{ trace } = log,
|
|
8
|
-
{ HALT_MESSAGE, BEGIN_MESSAGE, COMPLETED_MESSAGE } = Callbacks;
|
|
9
|
-
|
|
10
|
-
function halt(filePath, leastLineIndex, greatestLineIndex) {
|
|
11
|
-
let message = HALT_MESSAGE;
|
|
12
|
-
|
|
13
|
-
message = formatMessage(message, filePath, leastLineIndex, greatestLineIndex); ///
|
|
14
|
-
|
|
15
|
-
trace(message);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
function begin(filePath, leastLineIndex, greatestLineIndex) {
|
|
19
|
-
let message = BEGIN_MESSAGE;
|
|
20
|
-
|
|
21
|
-
message = formatMessage(message, filePath, leastLineIndex, greatestLineIndex); ///
|
|
22
|
-
|
|
23
|
-
trace(message);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
function complete(filePath, leastLineIndex, greatestLineIndex) {
|
|
27
|
-
let message = COMPLETED_MESSAGE;
|
|
28
|
-
|
|
29
|
-
message = formatMessage(message, filePath, leastLineIndex, greatestLineIndex); ///
|
|
30
|
-
|
|
31
|
-
trace(message);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
const callbacks = Callbacks.fromHaltBeginAndComplete(halt, begin, complete);
|
|
35
|
-
|
|
36
|
-
module.exports = callbacks;
|
|
37
|
-
|
|
38
|
-
function formatMessage(message, filePath, leastLineIndex, greatestLineIndex) {
|
|
39
|
-
if (leastLineIndex === greatestLineIndex) {
|
|
40
|
-
const lineIndex = leastLineIndex; ///
|
|
41
|
-
|
|
42
|
-
message = `'${filePath}' : [${lineIndex}] - ${message}`;
|
|
43
|
-
} else {
|
|
44
|
-
message = `'${filePath}' : [${leastLineIndex}-${greatestLineIndex}] - ${message}`;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
return message;
|
|
48
|
-
}
|
package/lib/callbacks.js
DELETED
|
@@ -1,75 +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
|
-
function _classCallCheck(instance, Constructor) {
|
|
12
|
-
if (!(instance instanceof Constructor)) {
|
|
13
|
-
throw new TypeError("Cannot call a class as a function");
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
function _defineProperties(target, props) {
|
|
17
|
-
for(var i = 0; i < props.length; i++){
|
|
18
|
-
var descriptor = props[i];
|
|
19
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
20
|
-
descriptor.configurable = true;
|
|
21
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
22
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
function _createClass(Constructor, protoProps, staticProps) {
|
|
26
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
27
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
28
|
-
return Constructor;
|
|
29
|
-
}
|
|
30
|
-
var HALT_MESSAGE = "Halted verification.", BEGIN_MESSAGE = "Begun verification...", COMPLETED_MESSAGE = "...completed verification.";
|
|
31
|
-
var Callbacks = /*#__PURE__*/ function() {
|
|
32
|
-
function Callbacks(halt, begin, complete) {
|
|
33
|
-
_classCallCheck(this, Callbacks);
|
|
34
|
-
this.halt = halt;
|
|
35
|
-
this.begin = begin;
|
|
36
|
-
this.complete = complete;
|
|
37
|
-
}
|
|
38
|
-
_createClass(Callbacks, [
|
|
39
|
-
{
|
|
40
|
-
key: "getHalt",
|
|
41
|
-
value: function getHalt() {
|
|
42
|
-
return this.halt;
|
|
43
|
-
}
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
key: "getBegin",
|
|
47
|
-
value: function getBegin() {
|
|
48
|
-
return this.begin;
|
|
49
|
-
}
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
key: "getComplete",
|
|
53
|
-
value: function getComplete() {
|
|
54
|
-
return this.complete;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
], [
|
|
58
|
-
{
|
|
59
|
-
key: "fromHaltBeginAndComplete",
|
|
60
|
-
value: function fromHaltBeginAndComplete(halt, begin, complete) {
|
|
61
|
-
var callbacks = new Callbacks(halt, begin, complete);
|
|
62
|
-
return callbacks;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
]);
|
|
66
|
-
return Callbacks;
|
|
67
|
-
}();
|
|
68
|
-
Object.assign(Callbacks, {
|
|
69
|
-
HALT_MESSAGE: HALT_MESSAGE,
|
|
70
|
-
BEGIN_MESSAGE: BEGIN_MESSAGE,
|
|
71
|
-
COMPLETED_MESSAGE: COMPLETED_MESSAGE
|
|
72
|
-
});
|
|
73
|
-
var _default = Callbacks;
|
|
74
|
-
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jYWxsYmFja3MuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmNvbnN0IEhBTFRfTUVTU0FHRSA9IFwiSGFsdGVkIHZlcmlmaWNhdGlvbi5cIixcbiAgICAgIEJFR0lOX01FU1NBR0UgPSBcIkJlZ3VuIHZlcmlmaWNhdGlvbi4uLlwiLFxuICAgICAgQ09NUExFVEVEX01FU1NBR0UgPSBcIi4uLmNvbXBsZXRlZCB2ZXJpZmljYXRpb24uXCI7XG5cbmNsYXNzIENhbGxiYWNrcyB7XG4gIGNvbnN0cnVjdG9yKGhhbHQsIGJlZ2luLCBjb21wbGV0ZSkge1xuICAgIHRoaXMuaGFsdCA9IGhhbHQ7XG4gICAgdGhpcy5iZWdpbiA9IGJlZ2luO1xuICAgIHRoaXMuY29tcGxldGUgPSBjb21wbGV0ZTtcbiAgfVxuXG4gIGdldEhhbHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaGFsdDtcbiAgfVxuXG4gIGdldEJlZ2luKCkge1xuICAgIHJldHVybiB0aGlzLmJlZ2luO1xuICB9XG5cbiAgZ2V0Q29tcGxldGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29tcGxldGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbUhhbHRCZWdpbkFuZENvbXBsZXRlKGhhbHQsIGJlZ2luLCBjb21wbGV0ZSkge1xuICAgIGNvbnN0IGNhbGxiYWNrcyA9IG5ldyBDYWxsYmFja3MoaGFsdCwgYmVnaW4sIGNvbXBsZXRlKTtcblxuICAgIHJldHVybiBjYWxsYmFja3M7XG4gIH1cbn1cblxuT2JqZWN0LmFzc2lnbihDYWxsYmFja3MsIHtcbiAgSEFMVF9NRVNTQUdFLFxuICBCRUdJTl9NRVNTQUdFLFxuICBDT01QTEVURURfTUVTU0FHRVxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IENhbGxiYWNrcztcbiJdLCJuYW1lcyI6WyJIQUxUX01FU1NBR0UiLCJCRUdJTl9NRVNTQUdFIiwiQ09NUExFVEVEX01FU1NBR0UiLCJDYWxsYmFja3MiLCJoYWx0IiwiYmVnaW4iLCJjb21wbGV0ZSIsImdldEhhbHQiLCJnZXRCZWdpbiIsImdldENvbXBsZXRlIiwiZnJvbUhhbHRCZWdpbkFuZENvbXBsZXRlIiwiY2FsbGJhY2tzIiwiT2JqZWN0IiwiYXNzaWduIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFzQ0E7OztlQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBcENBLElBQU1BLGVBQWUsd0JBQ2ZDLGdCQUFnQix5QkFDaEJDLG9CQUFvQjtBQUUxQixJQUFBLEFBQU1DLDBCQTBCSCxBQTFCSDthQUFNQSxVQUNRQyxJQUFJLEVBQUVDLEtBQUssRUFBRUMsUUFBUTs4QkFEN0JIO1FBRUYsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxLQUFLLEdBQUdBO1FBQ2IsSUFBSSxDQUFDQyxRQUFRLEdBQUdBOztpQkFKZEg7O1lBT0pJLEtBQUFBO21CQUFBQSxTQUFBQSxVQUFVO2dCQUNSLE9BQU8sSUFBSSxDQUFDSCxJQUFJO1lBQ2xCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBLFdBQVc7Z0JBQ1QsT0FBTyxJQUFJLENBQUNILEtBQUs7WUFDbkI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsY0FBYztnQkFDWixPQUFPLElBQUksQ0FBQ0gsUUFBUTtZQUN0Qjs7OztZQUVPSSxLQUFBQTttQkFBUCxTQUFPQSx5QkFBeUJOLElBQUksRUFBRUMsS0FBSyxFQUFFQyxRQUFRLEVBQUU7Z0JBQ3JELElBQU1LLFlBQVksSUFwQmhCUixVQW9COEJDLE1BQU1DLE9BQU9DO2dCQUU3QyxPQUFPSztZQUNUOzs7V0F2QklSOztBQTBCTlMsT0FBT0MsTUFBTSxDQUFDVixXQUFXO0lBQ3ZCSCxjQUFBQTtJQUNBQyxlQUFBQTtJQUNBQyxtQkFBQUE7QUFDRjtJQUVBLFdBQWVDIn0=
|
|
@@ -1,64 +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 _occamGrammarUtilities = require("occam-grammar-utilities");
|
|
12
|
-
var _occamCustomGrammars = require("occam-custom-grammars");
|
|
13
|
-
var _customGrammar = require("../../utilities/customGrammar");
|
|
14
|
-
function _classCallCheck(instance, Constructor) {
|
|
15
|
-
if (!(instance instanceof Constructor)) {
|
|
16
|
-
throw new TypeError("Cannot call a class as a function");
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
function _defineProperties(target, props) {
|
|
20
|
-
for(var i = 0; i < props.length; i++){
|
|
21
|
-
var descriptor = props[i];
|
|
22
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
23
|
-
descriptor.configurable = true;
|
|
24
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
25
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
function _createClass(Constructor, protoProps, staticProps) {
|
|
29
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
30
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
31
|
-
return Constructor;
|
|
32
|
-
}
|
|
33
|
-
var florenceLexerFromCombinedCustomGrammar = _occamCustomGrammars.lexersUtilities.florenceLexerFromCombinedCustomGrammar, florenceParserFromCombinedCustomGrammar = _occamCustomGrammars.parsersUtilities.florenceParserFromCombinedCustomGrammar;
|
|
34
|
-
var combinedCustomGrammar = (0, _customGrammar.combinedCustomGrammarFromNothing)(), florenceLexer = florenceLexerFromCombinedCustomGrammar(combinedCustomGrammar), florenceParser = florenceParserFromCombinedCustomGrammar(combinedCustomGrammar);
|
|
35
|
-
var CombinatorReleaseContext = /*#__PURE__*/ function() {
|
|
36
|
-
function CombinatorReleaseContext() {
|
|
37
|
-
_classCallCheck(this, CombinatorReleaseContext);
|
|
38
|
-
}
|
|
39
|
-
_createClass(CombinatorReleaseContext, [
|
|
40
|
-
{
|
|
41
|
-
key: "nodeFromContentAndRuleName",
|
|
42
|
-
value: function nodeFromContentAndRuleName(content, ruleName) {
|
|
43
|
-
var ruleMap = florenceParser.getRuleMap(), rule = ruleMap[ruleName], tokens = florenceLexer.tokenise(content), node = florenceParser.parse(tokens, rule);
|
|
44
|
-
if (node !== null) {
|
|
45
|
-
(0, _occamGrammarUtilities.rewriteNodes)(node);
|
|
46
|
-
}
|
|
47
|
-
return node;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
], [
|
|
51
|
-
{
|
|
52
|
-
key: "fromNothing",
|
|
53
|
-
value: function fromNothing() {
|
|
54
|
-
var combinatorReleaseContext = new CombinatorReleaseContext();
|
|
55
|
-
return combinatorReleaseContext;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
]);
|
|
59
|
-
return CombinatorReleaseContext;
|
|
60
|
-
}();
|
|
61
|
-
var combinatorReleaseContext = CombinatorReleaseContext.fromNothing();
|
|
62
|
-
var _default = combinatorReleaseContext;
|
|
63
|
-
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0L3JlbGVhc2UvY29tYmluYXRvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgcmV3cml0ZU5vZGVzIH0gZnJvbSBcIm9jY2FtLWdyYW1tYXItdXRpbGl0aWVzXCI7XG5pbXBvcnQgeyBsZXhlcnNVdGlsaXRpZXMsIHBhcnNlcnNVdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tY3VzdG9tLWdyYW1tYXJzXCI7XG5cbmltcG9ydCB7IGNvbWJpbmVkQ3VzdG9tR3JhbW1hckZyb21Ob3RoaW5nIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9jdXN0b21HcmFtbWFyXCI7XG5cbmNvbnN0IHsgZmxvcmVuY2VMZXhlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIgfSA9IGxleGVyc1V0aWxpdGllcyxcbiAgICAgIHsgZmxvcmVuY2VQYXJzZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyIH0gPSBwYXJzZXJzVXRpbGl0aWVzO1xuXG5jb25zdCBjb21iaW5lZEN1c3RvbUdyYW1tYXIgPSBjb21iaW5lZEN1c3RvbUdyYW1tYXJGcm9tTm90aGluZygpLFxuICAgICAgZmxvcmVuY2VMZXhlciA9IGZsb3JlbmNlTGV4ZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyKGNvbWJpbmVkQ3VzdG9tR3JhbW1hciksXG4gICAgICBmbG9yZW5jZVBhcnNlciA9IGZsb3JlbmNlUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hcihjb21iaW5lZEN1c3RvbUdyYW1tYXIpO1xuXG5jbGFzcyBDb21iaW5hdG9yUmVsZWFzZUNvbnRleHQge1xuICBub2RlRnJvbUNvbnRlbnRBbmRSdWxlTmFtZShjb250ZW50LCBydWxlTmFtZSkge1xuICAgIGNvbnN0IHJ1bGVNYXAgPSBmbG9yZW5jZVBhcnNlci5nZXRSdWxlTWFwKCksXG4gICAgICAgICAgcnVsZSA9IHJ1bGVNYXBbcnVsZU5hbWVdLFxuICAgICAgICAgIHRva2VucyA9IGZsb3JlbmNlTGV4ZXIudG9rZW5pc2UoY29udGVudCksXG4gICAgICAgICAgbm9kZSA9IGZsb3JlbmNlUGFyc2VyLnBhcnNlKHRva2VucywgcnVsZSk7XG5cbiAgICBpZiAobm9kZSAhPT0gbnVsbCkge1xuICAgICAgcmV3cml0ZU5vZGVzKG5vZGUpO1xuICAgIH1cblxuICAgIHJldHVybiBub2RlO1xuICB9XG5cbiAgc3RhdGljIGZyb21Ob3RoaW5nKCkge1xuICAgIGNvbnN0IGNvbWJpbmF0b3JSZWxlYXNlQ29udGV4dCA9IG5ldyBDb21iaW5hdG9yUmVsZWFzZUNvbnRleHQoKTtcblxuICAgIHJldHVybiBjb21iaW5hdG9yUmVsZWFzZUNvbnRleHQ7XG4gIH1cbn1cblxuY29uc3QgY29tYmluYXRvclJlbGVhc2VDb250ZXh0ID0gQ29tYmluYXRvclJlbGVhc2VDb250ZXh0LmZyb21Ob3RoaW5nKCk7XG5cbmV4cG9ydCBkZWZhdWx0IGNvbWJpbmF0b3JSZWxlYXNlQ29udGV4dDtcblxuIl0sIm5hbWVzIjpbImZsb3JlbmNlTGV4ZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyIiwibGV4ZXJzVXRpbGl0aWVzIiwiZmxvcmVuY2VQYXJzZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyIiwicGFyc2Vyc1V0aWxpdGllcyIsImNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsImNvbWJpbmVkQ3VzdG9tR3JhbW1hckZyb21Ob3RoaW5nIiwiZmxvcmVuY2VMZXhlciIsImZsb3JlbmNlUGFyc2VyIiwiQ29tYmluYXRvclJlbGVhc2VDb250ZXh0Iiwibm9kZUZyb21Db250ZW50QW5kUnVsZU5hbWUiLCJjb250ZW50IiwicnVsZU5hbWUiLCJydWxlTWFwIiwiZ2V0UnVsZU1hcCIsInJ1bGUiLCJ0b2tlbnMiLCJ0b2tlbmlzZSIsIm5vZGUiLCJwYXJzZSIsInJld3JpdGVOb2RlcyIsImZyb21Ob3RoaW5nIiwiY29tYmluYXRvclJlbGVhc2VDb250ZXh0Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFxQ0E7OztlQUFBOzs7cUNBbkM2QjttQ0FDcUI7NkJBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWpELElBQU0sQUFBRUEseUNBQTJDQyxvQ0FBZSxDQUExREQsd0NBQ0YsQUFBRUUsMENBQTRDQyxxQ0FBZ0IsQ0FBNUREO0FBRVIsSUFBTUUsd0JBQXdCQyxJQUFBQSwrQ0FBZ0MsS0FDeERDLGdCQUFnQk4sdUNBQXVDSSx3QkFDdkRHLGlCQUFpQkwsd0NBQXdDRTtBQUUvRCxJQUFBLEFBQU1JLHlDQXFCSCxBQXJCSDthQUFNQTs4QkFBQUE7O2lCQUFBQTs7WUFDSkMsS0FBQUE7bUJBQUFBLFNBQUFBLDJCQUEyQkMsT0FBTyxFQUFFQyxRQUFRLEVBQUU7Z0JBQzVDLElBQU1DLFVBQVVMLGVBQWVNLFVBQVUsSUFDbkNDLE9BQU9GLE9BQU8sQ0FBQ0QsU0FBUyxFQUN4QkksU0FBU1QsY0FBY1UsUUFBUSxDQUFDTixVQUNoQ08sT0FBT1YsZUFBZVcsS0FBSyxDQUFDSCxRQUFRRDtnQkFFMUMsSUFBSUcsU0FBUyxJQUFJLEVBQUU7b0JBQ2pCRSxJQUFBQSxtQ0FBWSxFQUFDRjtnQkFDZixDQUFDO2dCQUVELE9BQU9BO1lBQ1Q7Ozs7WUFFT0csS0FBQUE7bUJBQVAsU0FBT0EsY0FBYztnQkFDbkIsSUFBTUMsMkJBQTJCLElBZi9CYjtnQkFpQkYsT0FBT2E7WUFDVDs7O1dBbEJJYjs7QUFxQk4sSUFBTWEsMkJBQTJCYix5QkFBeUJZLFdBQVc7SUFFckUsV0FBZUMifQ==
|
|
@@ -1,198 +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 MetastatementForMetavariableMatcher;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _matcher = /*#__PURE__*/ _interopRequireDefault(require("../matcher"));
|
|
12
|
-
var _metastatementForMetavariable = /*#__PURE__*/ _interopRequireDefault(require("../substitution/metastatementForMetavariable"));
|
|
13
|
-
var _query = require("../utilities/query");
|
|
14
|
-
var _ruleNames = require("../ruleNames");
|
|
15
|
-
function _assertThisInitialized(self) {
|
|
16
|
-
if (self === void 0) {
|
|
17
|
-
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
18
|
-
}
|
|
19
|
-
return self;
|
|
20
|
-
}
|
|
21
|
-
function _classCallCheck(instance, Constructor) {
|
|
22
|
-
if (!(instance instanceof Constructor)) {
|
|
23
|
-
throw new TypeError("Cannot call a class as a function");
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
function _defineProperties(target, props) {
|
|
27
|
-
for(var i = 0; i < props.length; i++){
|
|
28
|
-
var descriptor = props[i];
|
|
29
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
30
|
-
descriptor.configurable = true;
|
|
31
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
32
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
function _createClass(Constructor, protoProps, staticProps) {
|
|
36
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
37
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
38
|
-
return Constructor;
|
|
39
|
-
}
|
|
40
|
-
function _get(target, property, receiver) {
|
|
41
|
-
if (typeof Reflect !== "undefined" && Reflect.get) {
|
|
42
|
-
_get = Reflect.get;
|
|
43
|
-
} else {
|
|
44
|
-
_get = function _get(target, property, receiver) {
|
|
45
|
-
var base = _superPropBase(target, property);
|
|
46
|
-
if (!base) return;
|
|
47
|
-
var desc = Object.getOwnPropertyDescriptor(base, property);
|
|
48
|
-
if (desc.get) {
|
|
49
|
-
return desc.get.call(receiver);
|
|
50
|
-
}
|
|
51
|
-
return desc.value;
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
return _get(target, property, receiver || target);
|
|
55
|
-
}
|
|
56
|
-
function _getPrototypeOf(o) {
|
|
57
|
-
_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
|
|
58
|
-
return o.__proto__ || Object.getPrototypeOf(o);
|
|
59
|
-
};
|
|
60
|
-
return _getPrototypeOf(o);
|
|
61
|
-
}
|
|
62
|
-
function _inherits(subClass, superClass) {
|
|
63
|
-
if (typeof superClass !== "function" && superClass !== null) {
|
|
64
|
-
throw new TypeError("Super expression must either be null or a function");
|
|
65
|
-
}
|
|
66
|
-
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
67
|
-
constructor: {
|
|
68
|
-
value: subClass,
|
|
69
|
-
writable: true,
|
|
70
|
-
configurable: true
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
if (superClass) _setPrototypeOf(subClass, superClass);
|
|
74
|
-
}
|
|
75
|
-
function _interopRequireDefault(obj) {
|
|
76
|
-
return obj && obj.__esModule ? obj : {
|
|
77
|
-
default: obj
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
function _possibleConstructorReturn(self, call) {
|
|
81
|
-
if (call && (_typeof(call) === "object" || typeof call === "function")) {
|
|
82
|
-
return call;
|
|
83
|
-
}
|
|
84
|
-
return _assertThisInitialized(self);
|
|
85
|
-
}
|
|
86
|
-
function _setPrototypeOf(o, p) {
|
|
87
|
-
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
|
|
88
|
-
o.__proto__ = p;
|
|
89
|
-
return o;
|
|
90
|
-
};
|
|
91
|
-
return _setPrototypeOf(o, p);
|
|
92
|
-
}
|
|
93
|
-
function _superPropBase(object, property) {
|
|
94
|
-
while(!Object.prototype.hasOwnProperty.call(object, property)){
|
|
95
|
-
object = _getPrototypeOf(object);
|
|
96
|
-
if (object === null) break;
|
|
97
|
-
}
|
|
98
|
-
return object;
|
|
99
|
-
}
|
|
100
|
-
var _typeof = function(obj) {
|
|
101
|
-
"@swc/helpers - typeof";
|
|
102
|
-
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
103
|
-
};
|
|
104
|
-
function _isNativeReflectConstruct() {
|
|
105
|
-
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
|
|
106
|
-
if (Reflect.construct.sham) return false;
|
|
107
|
-
if (typeof Proxy === "function") return true;
|
|
108
|
-
try {
|
|
109
|
-
Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
110
|
-
return true;
|
|
111
|
-
} catch (e) {
|
|
112
|
-
return false;
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
function _createSuper(Derived) {
|
|
116
|
-
var hasNativeReflectConstruct = _isNativeReflectConstruct();
|
|
117
|
-
return function _createSuperInternal() {
|
|
118
|
-
var Super = _getPrototypeOf(Derived), result;
|
|
119
|
-
if (hasNativeReflectConstruct) {
|
|
120
|
-
var NewTarget = _getPrototypeOf(this).constructor;
|
|
121
|
-
result = Reflect.construct(Super, arguments, NewTarget);
|
|
122
|
-
} else {
|
|
123
|
-
result = Super.apply(this, arguments);
|
|
124
|
-
}
|
|
125
|
-
return _possibleConstructorReturn(this, result);
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
var metavariableNodeQuery = (0, _query.nodeQuery)("/metastatement/metavariable!");
|
|
129
|
-
var MetastatementForMetavariableMatcher = /*#__PURE__*/ function(Matcher) {
|
|
130
|
-
_inherits(MetastatementForMetavariableMatcher, Matcher);
|
|
131
|
-
var _super = _createSuper(MetastatementForMetavariableMatcher);
|
|
132
|
-
function MetastatementForMetavariableMatcher() {
|
|
133
|
-
_classCallCheck(this, MetastatementForMetavariableMatcher);
|
|
134
|
-
return _super.apply(this, arguments);
|
|
135
|
-
}
|
|
136
|
-
_createClass(MetastatementForMetavariableMatcher, [
|
|
137
|
-
{
|
|
138
|
-
key: "matchNonTerminalNode",
|
|
139
|
-
value: function matchNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions) {
|
|
140
|
-
var nonTerminalNodeMatches = false;
|
|
141
|
-
var nonTerminalNodeARuleName = nonTerminalNodeA.getRuleName(), nonTerminalNodeBRuleName = nonTerminalNodeB.getRuleName();
|
|
142
|
-
if (nonTerminalNodeBRuleName === nonTerminalNodeARuleName) {
|
|
143
|
-
var nonTerminalNodeARuleNameMetastatementRuleName = nonTerminalNodeARuleName === _ruleNames.METASTATEMENT_RULE_NAME, nonTerminalNodeBRuleNameMetastatementRuleName = nonTerminalNodeBRuleName === _ruleNames.METASTATEMENT_RULE_NAME;
|
|
144
|
-
if (nonTerminalNodeARuleNameMetastatementRuleName && nonTerminalNodeBRuleNameMetastatementRuleName) {
|
|
145
|
-
var metastatementNodeA = nonTerminalNodeA, metastatementNodeB = nonTerminalNodeB, metastatementNodeMatches = this.matchMetastatementNode(metastatementNodeA, metastatementNodeB, substitutions);
|
|
146
|
-
if (metastatementNodeMatches) {
|
|
147
|
-
nonTerminalNodeMatches = true; ///
|
|
148
|
-
} else {
|
|
149
|
-
nonTerminalNodeMatches = _get(_getPrototypeOf(MetastatementForMetavariableMatcher.prototype), "matchNonTerminalNode", this).call(this, nonTerminalNodeA, nonTerminalNodeB, substitutions);
|
|
150
|
-
}
|
|
151
|
-
} else {
|
|
152
|
-
nonTerminalNodeMatches = _get(_getPrototypeOf(MetastatementForMetavariableMatcher.prototype), "matchNonTerminalNode", this).call(this, nonTerminalNodeA, nonTerminalNodeB, substitutions);
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
return nonTerminalNodeMatches;
|
|
156
|
-
}
|
|
157
|
-
},
|
|
158
|
-
{
|
|
159
|
-
key: "matchMetastatementNode",
|
|
160
|
-
value: function matchMetastatementNode(metastatementNodeA, metastatementNodeB, substitutions) {
|
|
161
|
-
var metastatementNodeMatches = false;
|
|
162
|
-
var metavariableNodeA = metavariableNodeQuery(metastatementNodeA);
|
|
163
|
-
if (metavariableNodeA !== null) {
|
|
164
|
-
var metaVariableNodeMatches = this.matchMetavariableNode(metavariableNodeA, metastatementNodeB, substitutions);
|
|
165
|
-
metastatementNodeMatches = metaVariableNodeMatches; ///
|
|
166
|
-
}
|
|
167
|
-
return metastatementNodeMatches;
|
|
168
|
-
}
|
|
169
|
-
},
|
|
170
|
-
{
|
|
171
|
-
key: "matchMetavariableNode",
|
|
172
|
-
value: function matchMetavariableNode(metavariableNodeA, metastatementNodeB, substitutions) {
|
|
173
|
-
var metavariableNodeMatches;
|
|
174
|
-
var metavariableNameA = (0, _query.metavariableNameFromMetavariableNode)(metavariableNodeA), substitution = substitutions.find(function(substitution) {
|
|
175
|
-
var metavariableName = substitution.getMetavariableName();
|
|
176
|
-
if (metavariableName === metavariableNameA) {
|
|
177
|
-
return true;
|
|
178
|
-
}
|
|
179
|
-
}) || null;
|
|
180
|
-
if (substitution !== null) {
|
|
181
|
-
var metastatementNode = metastatementNodeB, substitutionNodesMatch = substitution.matchMetastatementNode(metastatementNode);
|
|
182
|
-
metavariableNodeMatches = substitutionNodesMatch; ///
|
|
183
|
-
} else {
|
|
184
|
-
var createSubstitutions = this.constructor.createSubstitutions;
|
|
185
|
-
if (createSubstitutions) {
|
|
186
|
-
var metavariableName = metavariableNameA, metastatementNode1 = metastatementNodeB, metastatementForMetavariableSubstitution = _metastatementForMetavariable.default.fromMetavariableNameAndMetastatementNode(metavariableName, metastatementNode1), substitution1 = metastatementForMetavariableSubstitution; ///
|
|
187
|
-
substitutions.push(substitution1);
|
|
188
|
-
}
|
|
189
|
-
metavariableNodeMatches = true;
|
|
190
|
-
}
|
|
191
|
-
return metavariableNodeMatches;
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
]);
|
|
195
|
-
return MetastatementForMetavariableMatcher;
|
|
196
|
-
}(_matcher.default);
|
|
197
|
-
|
|
198
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXRjaGVyL21ldGFzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGUuanMiLCI8PGpzeC1jb25maWctcHJhZ21hLmpzPj4iXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBNYXRjaGVyIGZyb20gXCIuLi9tYXRjaGVyXCI7XG5pbXBvcnQgTWV0YXN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiBmcm9tIFwiLi4vc3Vic3RpdHV0aW9uL21ldGFzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUgfSBmcm9tIFwiLi4vcnVsZU5hbWVzXCI7XG5pbXBvcnQgeyBtZXRhdmFyaWFibGVOYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IG1ldGF2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeSgnL21ldGFzdGF0ZW1lbnQvbWV0YXZhcmlhYmxlIScpO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNZXRhc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlTWF0Y2hlciBleHRlbmRzIE1hdGNoZXIge1xuICBtYXRjaE5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBzdWJzdGl0dXRpb25zKSB7XG4gICAgbGV0IG5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSBmYWxzZTtcblxuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUFSdWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZUEuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVCUnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGVCLmdldFJ1bGVOYW1lKCk7XG5cbiAgICBpZiAobm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lID09PSBub25UZXJtaW5hbE5vZGVBUnVsZU5hbWUpIHtcbiAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUFSdWxlTmFtZU1ldGFzdGF0ZW1lbnRSdWxlTmFtZSA9IChub25UZXJtaW5hbE5vZGVBUnVsZU5hbWUgPT09IE1FVEFTVEFURU1FTlRfUlVMRV9OQU1FKSxcbiAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZU1ldGFzdGF0ZW1lbnRSdWxlTmFtZSA9IChub25UZXJtaW5hbE5vZGVCUnVsZU5hbWUgPT09IE1FVEFTVEFURU1FTlRfUlVMRV9OQU1FKTtcblxuICAgICAgaWYgKG5vblRlcm1pbmFsTm9kZUFSdWxlTmFtZU1ldGFzdGF0ZW1lbnRSdWxlTmFtZSAmJiBub25UZXJtaW5hbE5vZGVCUnVsZU5hbWVNZXRhc3RhdGVtZW50UnVsZU5hbWUpIHtcbiAgICAgICAgY29uc3QgbWV0YXN0YXRlbWVudE5vZGVBID0gbm9uVGVybWluYWxOb2RlQSwgIC8vL1xuICAgICAgICAgICAgICBtZXRhc3RhdGVtZW50Tm9kZUIgPSBub25UZXJtaW5hbE5vZGVCLCAgLy8vXG4gICAgICAgICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IHRoaXMubWF0Y2hNZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZUEsIG1ldGFzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgICAgaWYgKG1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcykge1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZU1hdGNoZXMgPSB0cnVlOyAgLy8vXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlTWF0Y2hlcyA9IHN1cGVyLm1hdGNoTm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIHN1YnN0aXR1dGlvbnMpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBub25UZXJtaW5hbE5vZGVNYXRjaGVzID0gc3VwZXIubWF0Y2hOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgc3Vic3RpdHV0aW9ucyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5vblRlcm1pbmFsTm9kZU1hdGNoZXM7XG4gIH1cblxuICBtYXRjaE1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlQSwgbWV0YXN0YXRlbWVudE5vZGVCLCBzdWJzdGl0dXRpb25zKSB7XG4gICAgbGV0IG1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZUEgPSBtZXRhdmFyaWFibGVOb2RlUXVlcnkobWV0YXN0YXRlbWVudE5vZGVBKTtcblxuICAgIGlmIChtZXRhdmFyaWFibGVOb2RlQSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgbWV0YVZhcmlhYmxlTm9kZU1hdGNoZXMgPSB0aGlzLm1hdGNoTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlQSwgbWV0YXN0YXRlbWVudE5vZGVCLCBzdWJzdGl0dXRpb25zKTtcblxuICAgICAgbWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzID0gbWV0YVZhcmlhYmxlTm9kZU1hdGNoZXM7IC8vL1xuICAgIH1cblxuICAgIHJldHVybiBtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXM7XG4gIH1cblxuICBtYXRjaE1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZUEsIG1ldGFzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9ucykge1xuICAgIGxldCBtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcztcblxuICAgIGNvbnN0IG1ldGF2YXJpYWJsZU5hbWVBID0gbWV0YXZhcmlhYmxlTmFtZUZyb21NZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGVBKSxcbiAgICAgICAgICBzdWJzdGl0dXRpb24gPSBzdWJzdGl0dXRpb25zLmZpbmQoKHN1YnN0aXR1dGlvbikgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWV0YXZhcmlhYmxlTmFtZSA9IHN1YnN0aXR1dGlvbi5nZXRNZXRhdmFyaWFibGVOYW1lKCk7XG5cbiAgICAgICAgICAgIGlmIChtZXRhdmFyaWFibGVOYW1lID09PSBtZXRhdmFyaWFibGVOYW1lQSkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSB8fCBudWxsO1xuXG4gICAgaWYgKHN1YnN0aXR1dGlvbiAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgbWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZUIsIC8vL1xuICAgICAgICAgICAgc3Vic3RpdHV0aW9uTm9kZXNNYXRjaCA9IHN1YnN0aXR1dGlvbi5tYXRjaE1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgbWV0YXZhcmlhYmxlTm9kZU1hdGNoZXMgPSBzdWJzdGl0dXRpb25Ob2Rlc01hdGNoOyAgLy8vXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHsgY3JlYXRlU3Vic3RpdHV0aW9ucyB9ID0gdGhpcy5jb25zdHJ1Y3RvcjtcblxuICAgICAgaWYgKGNyZWF0ZVN1YnN0aXR1dGlvbnMpIHtcbiAgICAgICAgY29uc3QgbWV0YXZhcmlhYmxlTmFtZSA9IG1ldGF2YXJpYWJsZU5hbWVBLCAvLy9cbiAgICAgICAgICAgICAgbWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZUIsIC8vL1xuICAgICAgICAgICAgICBtZXRhc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uID0gTWV0YXN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbi5mcm9tTWV0YXZhcmlhYmxlTmFtZUFuZE1ldGFzdGF0ZW1lbnROb2RlKG1ldGF2YXJpYWJsZU5hbWUsIG1ldGFzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICAgICAgc3Vic3RpdHV0aW9uID0gbWV0YXN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbjsgIC8vL1xuXG4gICAgICAgIHN1YnN0aXR1dGlvbnMucHVzaChzdWJzdGl0dXRpb24pO1xuICAgICAgfVxuXG4gICAgICBtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcyA9IHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzO1xuICB9XG59XG4iLCJSZWFjdC5jcmVhdGVFbGVtZW50Il0sIm5hbWVzIjpbIk1ldGFzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVNYXRjaGVyIiwibWV0YXZhcmlhYmxlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWF0Y2hOb25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGVBIiwibm9uVGVybWluYWxOb2RlQiIsInN1YnN0aXR1dGlvbnMiLCJub25UZXJtaW5hbE5vZGVNYXRjaGVzIiwibm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJub25UZXJtaW5hbE5vZGVCUnVsZU5hbWUiLCJub25UZXJtaW5hbE5vZGVBUnVsZU5hbWVNZXRhc3RhdGVtZW50UnVsZU5hbWUiLCJNRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSIsIm5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZU1ldGFzdGF0ZW1lbnRSdWxlTmFtZSIsIm1ldGFzdGF0ZW1lbnROb2RlQSIsIm1ldGFzdGF0ZW1lbnROb2RlQiIsIm1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyIsIm1hdGNoTWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhdmFyaWFibGVOb2RlQSIsIm1ldGFWYXJpYWJsZU5vZGVNYXRjaGVzIiwibWF0Y2hNZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlTm9kZU1hdGNoZXMiLCJtZXRhdmFyaWFibGVOYW1lQSIsIm1ldGF2YXJpYWJsZU5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZSIsInN1YnN0aXR1dGlvbiIsImZpbmQiLCJtZXRhdmFyaWFibGVOYW1lIiwiZ2V0TWV0YXZhcmlhYmxlTmFtZSIsIm1ldGFzdGF0ZW1lbnROb2RlIiwic3Vic3RpdHV0aW9uTm9kZXNNYXRjaCIsImNyZWF0ZVN1YnN0aXR1dGlvbnMiLCJjb25zdHJ1Y3RvciIsIm1ldGFzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24iLCJNZXRhc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uIiwiZnJvbU1ldGF2YXJpYWJsZU5hbWVBbmRNZXRhc3RhdGVtZW50Tm9kZSIsInB1c2giLCJNYXRjaGVyIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVdxQkE7Ozs0REFURDtpRkFDaUM7cUJBRTNCO3lCQUNjOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHeEMsSUFBTUMsd0JBQXdCQyxJQUFBQSxnQkFBUyxFQUFDO0FBRXpCLElBQUEsQUFBTUYsb0RBQU47Y0FBTUE7OEJBQUFBO2FBQUFBOzhCQUFBQTs7O2lCQUFBQTs7WUFDbkJHLEtBQUFBO21CQUFBQSxTQUFBQSxxQkFBcUJDLGdCQUFnQixFQUFFQyxnQkFBZ0IsRUFBRUMsYUFBYSxFQUFFO2dCQUN0RSxJQUFJQyx5QkFBeUIsS0FBSztnQkFFbEMsSUFBTUMsMkJBQTJCSixpQkFBaUJLLFdBQVcsSUFDdkRDLDJCQUEyQkwsaUJBQWlCSSxXQUFXO2dCQUU3RCxJQUFJQyw2QkFBNkJGLDBCQUEwQjtvQkFDekQsSUFBTUcsZ0RBQWlESCw2QkFBNkJJLGtDQUF1QixFQUNyR0MsZ0RBQWlESCw2QkFBNkJFLGtDQUF1QjtvQkFFM0csSUFBSUQsaURBQWlERSwrQ0FBK0M7d0JBQ2xHLElBQU1DLHFCQUFxQlYsa0JBQ3JCVyxxQkFBcUJWLGtCQUNyQlcsMkJBQTJCLElBQUksQ0FBQ0Msc0JBQXNCLENBQUNILG9CQUFvQkMsb0JBQW9CVDt3QkFFckcsSUFBSVUsMEJBQTBCOzRCQUM1QlQseUJBQXlCLElBQUksRUFBRyxHQUFHO3dCQUNyQyxPQUFPOzRCQUNMQSx5QkFBeUIscUJBbkJkUCxnREFtQm9CRyx3QkFBTixJQUFLLGFBQXNCQyxrQkFBa0JDLGtCQUFrQkM7d0JBQzFGLENBQUM7b0JBQ0gsT0FBTzt3QkFDTEMseUJBQXlCLHFCQXRCWlAsZ0RBc0JrQkcsd0JBQU4sSUFBSyxhQUFzQkMsa0JBQWtCQyxrQkFBa0JDO29CQUMxRixDQUFDO2dCQUNILENBQUM7Z0JBRUQsT0FBT0M7WUFDVDs7O1lBRUFVLEtBQUFBO21CQUFBQSxTQUFBQSx1QkFBdUJILGtCQUFrQixFQUFFQyxrQkFBa0IsRUFBRVQsYUFBYSxFQUFFO2dCQUM1RSxJQUFJVSwyQkFBMkIsS0FBSztnQkFFcEMsSUFBTUUsb0JBQW9CakIsc0JBQXNCYTtnQkFFaEQsSUFBSUksc0JBQXNCLElBQUksRUFBRTtvQkFDOUIsSUFBTUMsMEJBQTBCLElBQUksQ0FBQ0MscUJBQXFCLENBQUNGLG1CQUFtQkgsb0JBQW9CVDtvQkFFbEdVLDJCQUEyQkcseUJBQXlCLEdBQUc7Z0JBQ3pELENBQUM7Z0JBRUQsT0FBT0g7WUFDVDs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQSxzQkFBc0JGLGlCQUFpQixFQUFFSCxrQkFBa0IsRUFBRVQsYUFBYSxFQUFFO2dCQUMxRSxJQUFJZTtnQkFFSixJQUFNQyxvQkFBb0JDLElBQUFBLDJDQUFvQyxFQUFDTCxvQkFDekRNLGVBQWVsQixjQUFjbUIsSUFBSSxDQUFDLFNBQUNELGNBQWlCO29CQUNsRCxJQUFNRSxtQkFBbUJGLGFBQWFHLG1CQUFtQjtvQkFFekQsSUFBSUQscUJBQXFCSixtQkFBbUI7d0JBQzFDLE9BQU8sSUFBSTtvQkFDYixDQUFDO2dCQUNILE1BQU0sSUFBSTtnQkFFaEIsSUFBSUUsaUJBQWlCLElBQUksRUFBRTtvQkFDekIsSUFBTUksb0JBQW9CYixvQkFDcEJjLHlCQUF5QkwsYUFBYVAsc0JBQXNCLENBQUNXO29CQUVuRVAsMEJBQTBCUSx3QkFBeUIsR0FBRztnQkFDeEQsT0FBTztvQkFDTCxJQUFNLEFBQUVDLHNCQUF3QixJQUFJLENBQUNDLFdBQVcsQ0FBeENEO29CQUVSLElBQUlBLHFCQUFxQjt3QkFDdkIsSUFBTUosbUJBQW1CSixtQkFDbkJNLHFCQUFvQmIsb0JBQ3BCaUIsMkNBQTJDQyxxQ0FBd0MsQ0FBQ0Msd0NBQXdDLENBQUNSLGtCQUFrQkUscUJBQy9JSixnQkFBZVEsMENBQTJDLEdBQUc7d0JBRW5FMUIsY0FBYzZCLElBQUksQ0FBQ1g7b0JBQ3JCLENBQUM7b0JBRURILDBCQUEwQixJQUFJO2dCQUNoQyxDQUFDO2dCQUVELE9BQU9BO1lBQ1Q7OztXQTVFbUJyQjtFQUE0Q29DLGdCQUFPIn0=
|