occam-verify-cli 0.0.834 → 0.0.835
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/conclusion.js +5 -5
- package/lib/consequent.js +3 -3
- package/lib/premise.js +7 -7
- package/lib/supposition.js +4 -4
- package/lib/verifier/nodes/intrinsicLevel.js +223 -0
- package/lib/verifier/nodes/metaLevel.js +204 -0
- package/lib/verifier/nodes/metaLevelToIntrinsicLevel.js +203 -0
- package/lib/verifier/nodes/statement.js +7 -7
- package/lib/verifier/nodes/term.js +3 -2
- package/package.json +2 -2
- package/src/conclusion.js +4 -4
- package/src/consequent.js +2 -2
- package/src/premise.js +6 -6
- package/src/supposition.js +3 -3
- package/src/verifier/nodes/{termForVariable.js → intrinsicLevel.js} +22 -15
- package/src/verifier/nodes/{metastatementForMetavariable.js → metaLevel.js} +22 -15
- package/src/verifier/nodes/{statementForMetavariable.js → metaLevelToIntrinsicLevel.js} +4 -3
- package/src/verifier/nodes/statement.js +10 -10
- package/src/verifier/nodes/term.js +4 -1
- package/lib/verifier/nodes/metastatementForMetavariable.js +0 -197
- package/lib/verifier/nodes/statementForMetavariable.js +0 -202
- package/lib/verifier/nodes/termForVariable.js +0 -216
package/src/premise.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
import
|
|
3
|
+
import metaLevelNodesVerifier from "./verifier/nodes/metaLevel";
|
|
4
|
+
import metaLevelToIntrinsicLevelNodesVerifier from "./verifier/nodes/metaLevelToIntrinsicLevel";
|
|
5
5
|
|
|
6
6
|
import { match } from "./utilities/array";
|
|
7
7
|
import { nodeAsString } from "./utilities/string";
|
|
@@ -46,7 +46,7 @@ export default class Premise {
|
|
|
46
46
|
nonTerminalNodeB = subproofStatementNode, ///
|
|
47
47
|
fileContextA = fileContext, ///
|
|
48
48
|
localContextB = statementLocalContext, ///
|
|
49
|
-
nonTerminalNodeVerified =
|
|
49
|
+
nonTerminalNodeVerified = metaLevelToIntrinsicLevelNodesVerifier.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, fileContextA, localContextB, () => {
|
|
50
50
|
const verifiedAhead = true;
|
|
51
51
|
|
|
52
52
|
return verifiedAhead;
|
|
@@ -67,7 +67,7 @@ export default class Premise {
|
|
|
67
67
|
nonTerminalNodeB = statementNode, ///
|
|
68
68
|
fileContextA = fileContext, ///
|
|
69
69
|
localContextB = statementLocalContext, ///
|
|
70
|
-
nonTerminalNodeVerified =
|
|
70
|
+
nonTerminalNodeVerified = metaLevelToIntrinsicLevelNodesVerifier.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, fileContextA, localContextB, () => {
|
|
71
71
|
const verifiedAhead = true;
|
|
72
72
|
|
|
73
73
|
return verifiedAhead;
|
|
@@ -99,7 +99,7 @@ export default class Premise {
|
|
|
99
99
|
nonTerminalNodeB = ruleSubproofMetastatementNode, ///
|
|
100
100
|
fileContextA = fileContext, ///
|
|
101
101
|
localMetaContextB = metastatementLocalMetaContext, ///
|
|
102
|
-
nonTerminalNodeVerified =
|
|
102
|
+
nonTerminalNodeVerified = metaLevelNodesVerifier.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, fileContextA, localMetaContextB, () => {
|
|
103
103
|
const verifiedAhead = true;
|
|
104
104
|
|
|
105
105
|
return verifiedAhead;
|
|
@@ -120,7 +120,7 @@ export default class Premise {
|
|
|
120
120
|
nonTerminalNodeB = metastatementNode, ///
|
|
121
121
|
fileContextA = fileContext, ///
|
|
122
122
|
localMetaContextB = metastatementLocalMetaContext, ///
|
|
123
|
-
nonTerminalNodeVerified =
|
|
123
|
+
nonTerminalNodeVerified = metaLevelNodesVerifier.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, fileContextA, localMetaContextB, () => {
|
|
124
124
|
const verifiedAhead = true;
|
|
125
125
|
|
|
126
126
|
return verifiedAhead;
|
package/src/supposition.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import intrinsicLevelNodesVerifier from "./verifier/nodes/intrinsicLevel";
|
|
4
4
|
|
|
5
5
|
import { match } from "./utilities/array";
|
|
6
6
|
import { nodeAsString } from "./utilities/string";
|
|
@@ -43,7 +43,7 @@ export default class Supposition {
|
|
|
43
43
|
nonTerminalNodeB = subproofStatementNode, ///
|
|
44
44
|
localContextA = localContext, ///
|
|
45
45
|
localContextB = statementLocalContext, ///
|
|
46
|
-
nonTerminalNodeVerified =
|
|
46
|
+
nonTerminalNodeVerified = intrinsicLevelNodesVerifier.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, () => {
|
|
47
47
|
const verifiedAhead = true;
|
|
48
48
|
|
|
49
49
|
return verifiedAhead;
|
|
@@ -64,7 +64,7 @@ export default class Supposition {
|
|
|
64
64
|
nonTerminalNodeB = statementNode, ///
|
|
65
65
|
localContextA = localContext, ///
|
|
66
66
|
localContextB = statementLocalContext, ///
|
|
67
|
-
nonTerminalNodeVerified =
|
|
67
|
+
nonTerminalNodeVerified = intrinsicLevelNodesVerifier.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, () => {
|
|
68
68
|
const verifiedAhead = true;
|
|
69
69
|
|
|
70
70
|
return verifiedAhead;
|
|
@@ -10,29 +10,36 @@ import { TERM_RULE_NAME } from "../../ruleNames";
|
|
|
10
10
|
|
|
11
11
|
const variableNodeQuery = nodeQuery('/term/variable!');
|
|
12
12
|
|
|
13
|
-
class
|
|
13
|
+
class IntrinsicLevelNodesVerifier extends NodesVerifier {
|
|
14
14
|
verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, verifyAhead) {
|
|
15
15
|
let nonTerminalNodeVerified = false;
|
|
16
16
|
|
|
17
17
|
const nonTerminalNodeARuleName = nonTerminalNodeA.getRuleName(),
|
|
18
18
|
nonTerminalNodeBRuleName = nonTerminalNodeB.getRuleName();
|
|
19
19
|
|
|
20
|
-
if (
|
|
21
|
-
const
|
|
22
|
-
nonTerminalNodeBRuleNameTermRuleName = (nonTerminalNodeBRuleName === TERM_RULE_NAME);
|
|
20
|
+
if (nonTerminalNodeARuleName === nonTerminalNodeBRuleName) {
|
|
21
|
+
const ruleName = nonTerminalNodeARuleName; ///
|
|
23
22
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
switch (ruleName) {
|
|
24
|
+
case TERM_RULE_NAME: {
|
|
25
|
+
const termNodeA = nonTerminalNodeA, ///
|
|
26
|
+
termNodeB = nonTerminalNodeB, ///
|
|
27
|
+
termNodeVerified = this.verifyTermNode(termNodeA, termNodeB, substitutions, localContextA, localContextB, verifyAhead);
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
if (termNodeVerified) {
|
|
30
|
+
nonTerminalNodeVerified = true; ///
|
|
31
|
+
} else {
|
|
32
|
+
nonTerminalNodeVerified = super.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, verifyAhead);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
default: {
|
|
32
39
|
nonTerminalNodeVerified = super.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, verifyAhead);
|
|
40
|
+
|
|
41
|
+
break;
|
|
33
42
|
}
|
|
34
|
-
} else {
|
|
35
|
-
nonTerminalNodeVerified = super.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, verifyAhead);
|
|
36
43
|
}
|
|
37
44
|
}
|
|
38
45
|
|
|
@@ -115,6 +122,6 @@ class TermForVariableNodesVerifier extends NodesVerifier {
|
|
|
115
122
|
}
|
|
116
123
|
}
|
|
117
124
|
|
|
118
|
-
const
|
|
125
|
+
const intrinsicLevelNodesVerifier = new IntrinsicLevelNodesVerifier();
|
|
119
126
|
|
|
120
|
-
export default
|
|
127
|
+
export default intrinsicLevelNodesVerifier;
|
|
@@ -8,29 +8,36 @@ import { METASTATEMENT_RULE_NAME } from "../../ruleNames";
|
|
|
8
8
|
|
|
9
9
|
const metavariableNodeQuery = nodeQuery('/metastatement/metavariable!');
|
|
10
10
|
|
|
11
|
-
class
|
|
11
|
+
class MetaLevelNodesVerifier extends NodesVerifier {
|
|
12
12
|
verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, fileContextA, localMetaContextB, verifyAhead) {
|
|
13
13
|
let nonTerminalNodeVerified = false;
|
|
14
14
|
|
|
15
15
|
const nonTerminalNodeARuleName = nonTerminalNodeA.getRuleName(),
|
|
16
16
|
nonTerminalNodeBRuleName = nonTerminalNodeB.getRuleName();
|
|
17
17
|
|
|
18
|
-
if (
|
|
19
|
-
const
|
|
20
|
-
nonTerminalNodeBRuleNameMetastatementRuleName = (nonTerminalNodeBRuleName === METASTATEMENT_RULE_NAME);
|
|
18
|
+
if (nonTerminalNodeARuleName === nonTerminalNodeBRuleName) {
|
|
19
|
+
const ruleName = nonTerminalNodeARuleName; ///
|
|
21
20
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
switch (ruleName) {
|
|
22
|
+
case METASTATEMENT_RULE_NAME: {
|
|
23
|
+
const metastatementNodeA = nonTerminalNodeA, ///
|
|
24
|
+
metastatementNodeB = nonTerminalNodeB, ///
|
|
25
|
+
metastatementNodeVerified = this.verifyMetastatementNode(metastatementNodeA, metastatementNodeB, substitutions, fileContextA, localMetaContextB, verifyAhead);
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
if (metastatementNodeVerified) {
|
|
28
|
+
nonTerminalNodeVerified = true; ///
|
|
29
|
+
} else {
|
|
30
|
+
nonTerminalNodeVerified = super.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, fileContextA, localMetaContextB, verifyAhead);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
break;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
default: {
|
|
30
37
|
nonTerminalNodeVerified = super.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, fileContextA, localMetaContextB, verifyAhead);
|
|
38
|
+
|
|
39
|
+
break;
|
|
31
40
|
}
|
|
32
|
-
} else {
|
|
33
|
-
nonTerminalNodeVerified = super.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, fileContextA, localMetaContextB, verifyAhead);
|
|
34
41
|
}
|
|
35
42
|
}
|
|
36
43
|
|
|
@@ -82,6 +89,6 @@ class MetastatementForMetavariableNodesVerifier extends NodesVerifier {
|
|
|
82
89
|
}
|
|
83
90
|
}
|
|
84
91
|
|
|
85
|
-
const
|
|
92
|
+
const metaLevelNodesVerifier = new MetaLevelNodesVerifier();
|
|
86
93
|
|
|
87
|
-
export default
|
|
94
|
+
export default metaLevelNodesVerifier;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import NodesVerifier from "../../verifier/nodes";
|
|
4
|
+
import TermForVariableSubstitution from "../../substitution/termForVariable";
|
|
4
5
|
import StatementForMetavariableSubstitution from "../../substitution/statementForMetavariable";
|
|
5
6
|
|
|
6
7
|
import { nodeQuery } from "../../utilities/query";
|
|
@@ -9,7 +10,7 @@ import { STATEMENT_RULE_NAME, METASTATEMENT_RULE_NAME, META_ARGUMENT_RULE_NAME }
|
|
|
9
10
|
const metavariableNodeQuery = nodeQuery('/metastatement/metavariable!'),
|
|
10
11
|
metaArgumentChildNodeNodeQuery = nodeQuery('/metaArgument/*!');
|
|
11
12
|
|
|
12
|
-
class
|
|
13
|
+
class MetaLevelToIntrinsicLevelNodesVerifier extends NodesVerifier {
|
|
13
14
|
verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, fileContextA, localContext) {
|
|
14
15
|
let nonTerminalNodeVerified = false;
|
|
15
16
|
|
|
@@ -98,6 +99,6 @@ class StatementForMetavariableNodesVerifier extends NodesVerifier {
|
|
|
98
99
|
}
|
|
99
100
|
}
|
|
100
101
|
|
|
101
|
-
const
|
|
102
|
+
const metaLevelToIntrinsicLevelNodesVerifier = new MetaLevelToIntrinsicLevelNodesVerifier();
|
|
102
103
|
|
|
103
|
-
export default
|
|
104
|
+
export default metaLevelToIntrinsicLevelNodesVerifier;
|
|
@@ -23,16 +23,6 @@ class StatementNodesVerifier extends NodesVerifier {
|
|
|
23
23
|
|
|
24
24
|
if (ruleName === combinatorRuleName) {
|
|
25
25
|
switch (ruleName) {
|
|
26
|
-
case ARGUMENT_RULE_NAME: {
|
|
27
|
-
const argumentNode = nonTerminalNode, ///
|
|
28
|
-
constructorArgumentNode = combinatorNonTerminalNode, ///
|
|
29
|
-
argumentNodeVerified = termNodesVerifier.verifyArgumentNode(argumentNode, constructorArgumentNode, context, verifyAhead);
|
|
30
|
-
|
|
31
|
-
nonTerminalNodeVerified = argumentNodeVerified; ///
|
|
32
|
-
|
|
33
|
-
break;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
26
|
case META_ARGUMENT_RULE_NAME: {
|
|
37
27
|
const metaArgumentNode = nonTerminalNode, ///
|
|
38
28
|
combinatorMetaargumentNode = combinatorNonTerminalNode, ///
|
|
@@ -43,6 +33,16 @@ class StatementNodesVerifier extends NodesVerifier {
|
|
|
43
33
|
break;
|
|
44
34
|
}
|
|
45
35
|
|
|
36
|
+
case ARGUMENT_RULE_NAME: {
|
|
37
|
+
const argumentNode = nonTerminalNode, ///
|
|
38
|
+
constructorArgumentNode = combinatorNonTerminalNode, ///
|
|
39
|
+
argumentNodeVerified = termNodesVerifier.verifyArgumentNode(argumentNode, constructorArgumentNode, context, verifyAhead);
|
|
40
|
+
|
|
41
|
+
nonTerminalNodeVerified = argumentNodeVerified; ///
|
|
42
|
+
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
46
|
default: {
|
|
47
47
|
nonTerminalNodeVerified = super.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, context, verifyAhead);
|
|
48
48
|
|
|
@@ -10,9 +10,12 @@ const termNodeQuery = nodeQuery("/argument/term!"),
|
|
|
10
10
|
typeNodeQuery = nodeQuery("/argument/type!");
|
|
11
11
|
|
|
12
12
|
class TermNodesVerifier extends NodesVerifier {
|
|
13
|
-
verifyNonTerminalNode(
|
|
13
|
+
verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, context, verifyAhead) {
|
|
14
14
|
let nonTerminalNodeVerified = false;
|
|
15
15
|
|
|
16
|
+
const nonTerminalNode = nonTerminalNodeA, ///
|
|
17
|
+
constructorNonTerminalNode = nonTerminalNodeB; ///
|
|
18
|
+
|
|
16
19
|
const ruleName = nonTerminalNode.getRuleName(), ///
|
|
17
20
|
constructorRuleName = constructorNonTerminalNode.getRuleName(); ///
|
|
18
21
|
|
|
@@ -1,197 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _nodes = /*#__PURE__*/ _interop_require_default(require("../../verifier/nodes"));
|
|
12
|
-
var _metastatementForMetavariable = /*#__PURE__*/ _interop_require_default(require("../../substitution/metastatementForMetavariable"));
|
|
13
|
-
var _query = require("../../utilities/query");
|
|
14
|
-
var _ruleNames = require("../../ruleNames");
|
|
15
|
-
function _assert_this_initialized(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 _class_call_check(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 _create_class(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 = _super_prop_base(target, property);
|
|
46
|
-
if (!base) return;
|
|
47
|
-
var desc = Object.getOwnPropertyDescriptor(base, property);
|
|
48
|
-
if (desc.get) {
|
|
49
|
-
return desc.get.call(receiver || target);
|
|
50
|
-
}
|
|
51
|
-
return desc.value;
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
return _get(target, property, receiver || target);
|
|
55
|
-
}
|
|
56
|
-
function _get_prototype_of(o) {
|
|
57
|
-
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
|
|
58
|
-
return o.__proto__ || Object.getPrototypeOf(o);
|
|
59
|
-
};
|
|
60
|
-
return _get_prototype_of(o);
|
|
61
|
-
}
|
|
62
|
-
function _inherits(subClass, superClass) {
|
|
63
|
-
if (typeof superClass !== "function" && superClass !== null) {
|
|
64
|
-
throw new TypeError("Super expression must either be null or a function");
|
|
65
|
-
}
|
|
66
|
-
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
67
|
-
constructor: {
|
|
68
|
-
value: subClass,
|
|
69
|
-
writable: true,
|
|
70
|
-
configurable: true
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
if (superClass) _set_prototype_of(subClass, superClass);
|
|
74
|
-
}
|
|
75
|
-
function _interop_require_default(obj) {
|
|
76
|
-
return obj && obj.__esModule ? obj : {
|
|
77
|
-
default: obj
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
function _possible_constructor_return(self, call) {
|
|
81
|
-
if (call && (_type_of(call) === "object" || typeof call === "function")) {
|
|
82
|
-
return call;
|
|
83
|
-
}
|
|
84
|
-
return _assert_this_initialized(self);
|
|
85
|
-
}
|
|
86
|
-
function _set_prototype_of(o, p) {
|
|
87
|
-
_set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
|
|
88
|
-
o.__proto__ = p;
|
|
89
|
-
return o;
|
|
90
|
-
};
|
|
91
|
-
return _set_prototype_of(o, p);
|
|
92
|
-
}
|
|
93
|
-
function _super_prop_base(object, property) {
|
|
94
|
-
while(!Object.prototype.hasOwnProperty.call(object, property)){
|
|
95
|
-
object = _get_prototype_of(object);
|
|
96
|
-
if (object === null) break;
|
|
97
|
-
}
|
|
98
|
-
return object;
|
|
99
|
-
}
|
|
100
|
-
function _type_of(obj) {
|
|
101
|
-
"@swc/helpers - typeof";
|
|
102
|
-
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
103
|
-
}
|
|
104
|
-
function _is_native_reflect_construct() {
|
|
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 _create_super(Derived) {
|
|
116
|
-
var hasNativeReflectConstruct = _is_native_reflect_construct();
|
|
117
|
-
return function _createSuperInternal() {
|
|
118
|
-
var Super = _get_prototype_of(Derived), result;
|
|
119
|
-
if (hasNativeReflectConstruct) {
|
|
120
|
-
var NewTarget = _get_prototype_of(this).constructor;
|
|
121
|
-
result = Reflect.construct(Super, arguments, NewTarget);
|
|
122
|
-
} else {
|
|
123
|
-
result = Super.apply(this, arguments);
|
|
124
|
-
}
|
|
125
|
-
return _possible_constructor_return(this, result);
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
var metavariableNodeQuery = (0, _query.nodeQuery)('/metastatement/metavariable!');
|
|
129
|
-
var MetastatementForMetavariableNodesVerifier = /*#__PURE__*/ function(NodesVerifier) {
|
|
130
|
-
_inherits(MetastatementForMetavariableNodesVerifier, NodesVerifier);
|
|
131
|
-
var _super = _create_super(MetastatementForMetavariableNodesVerifier);
|
|
132
|
-
function MetastatementForMetavariableNodesVerifier() {
|
|
133
|
-
_class_call_check(this, MetastatementForMetavariableNodesVerifier);
|
|
134
|
-
return _super.apply(this, arguments);
|
|
135
|
-
}
|
|
136
|
-
_create_class(MetastatementForMetavariableNodesVerifier, [
|
|
137
|
-
{
|
|
138
|
-
key: "verifyNonTerminalNode",
|
|
139
|
-
value: function verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, fileContextA, localMetaContextB, verifyAhead) {
|
|
140
|
-
var nonTerminalNodeVerified = 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, metastatementNodeVerified = this.verifyMetastatementNode(metastatementNodeA, metastatementNodeB, substitutions, fileContextA, localMetaContextB, verifyAhead);
|
|
146
|
-
if (metastatementNodeVerified) {
|
|
147
|
-
nonTerminalNodeVerified = true; ///
|
|
148
|
-
} else {
|
|
149
|
-
nonTerminalNodeVerified = _get(_get_prototype_of(MetastatementForMetavariableNodesVerifier.prototype), "verifyNonTerminalNode", this).call(this, nonTerminalNodeA, nonTerminalNodeB, substitutions, fileContextA, localMetaContextB, verifyAhead);
|
|
150
|
-
}
|
|
151
|
-
} else {
|
|
152
|
-
nonTerminalNodeVerified = _get(_get_prototype_of(MetastatementForMetavariableNodesVerifier.prototype), "verifyNonTerminalNode", this).call(this, nonTerminalNodeA, nonTerminalNodeB, substitutions, fileContextA, localMetaContextB, verifyAhead);
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
return nonTerminalNodeVerified;
|
|
156
|
-
}
|
|
157
|
-
},
|
|
158
|
-
{
|
|
159
|
-
key: "verifyMetastatementNode",
|
|
160
|
-
value: function verifyMetastatementNode(metastatementNodeA, metastatementNodeB, substitutions, fileContextA, localMetaContextB, verifyAhead) {
|
|
161
|
-
var metastatementNodeVerified = false;
|
|
162
|
-
var metavariableNodeA = metavariableNodeQuery(metastatementNodeA);
|
|
163
|
-
if (metavariableNodeA !== null) {
|
|
164
|
-
var metaVariableNodeVerified = this.verifyMetavariableNode(metavariableNodeA, metastatementNodeB, substitutions, fileContextA, localMetaContextB, verifyAhead);
|
|
165
|
-
metastatementNodeVerified = metaVariableNodeVerified; ///
|
|
166
|
-
}
|
|
167
|
-
return metastatementNodeVerified;
|
|
168
|
-
}
|
|
169
|
-
},
|
|
170
|
-
{
|
|
171
|
-
key: "verifyMetavariableNode",
|
|
172
|
-
value: function verifyMetavariableNode(metavariableNodeA, metastatementNodeB, substitutions, fileContextA, localMetaContextB, verifyAhead) {
|
|
173
|
-
var metavariableNodeVerified;
|
|
174
|
-
var substitution = substitutions.find(function(substitution) {
|
|
175
|
-
var substitutionMatchesMetavariableNodeA = substitution.matchMetavariableNode(metavariableNodeA);
|
|
176
|
-
if (substitutionMatchesMetavariableNodeA) {
|
|
177
|
-
return true;
|
|
178
|
-
}
|
|
179
|
-
}) || null;
|
|
180
|
-
if (substitution !== null) {
|
|
181
|
-
var metastatementNode = metastatementNodeB, metastatementNodeMatches = substitution.matchMetastatementNode(metastatementNode);
|
|
182
|
-
metavariableNodeVerified = metastatementNodeMatches; ///
|
|
183
|
-
} else {
|
|
184
|
-
var metavariableNode = metavariableNodeA, metastatementNode1 = metastatementNodeB, metastatementForMetavariableSubstitution = _metastatementForMetavariable.default.fromMetavariableNodeAndMetastatementNode(metavariableNode, metastatementNode1), substitution1 = metastatementForMetavariableSubstitution; ///
|
|
185
|
-
substitutions.push(substitution1);
|
|
186
|
-
metavariableNodeVerified = true;
|
|
187
|
-
}
|
|
188
|
-
return metavariableNodeVerified;
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
]);
|
|
192
|
-
return MetastatementForMetavariableNodesVerifier;
|
|
193
|
-
}(_nodes.default);
|
|
194
|
-
var metastatementForMetavariableNodesVerifier = new MetastatementForMetavariableNodesVerifier();
|
|
195
|
-
var _default = metastatementForMetavariableNodesVerifier;
|
|
196
|
-
|
|
197
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZmllci9ub2Rlcy9tZXRhc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTm9kZXNWZXJpZmllciBmcm9tIFwiLi4vLi4vdmVyaWZpZXIvbm9kZXNcIjtcbmltcG9ydCBNZXRhc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uIGZyb20gXCIuLi8uLi9zdWJzdGl0dXRpb24vbWV0YXN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBNRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSB9IGZyb20gXCIuLi8uLi9ydWxlTmFtZXNcIjtcblxuY29uc3QgbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KCcvbWV0YXN0YXRlbWVudC9tZXRhdmFyaWFibGUhJyk7XG5cbmNsYXNzIE1ldGFzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVOb2Rlc1ZlcmlmaWVyIGV4dGVuZHMgTm9kZXNWZXJpZmllciB7XG4gIHZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dEEsIGxvY2FsTWV0YUNvbnRleHRCLCB2ZXJpZnlBaGVhZCkge1xuICAgIGxldCBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlQS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZUIuZ2V0UnVsZU5hbWUoKTtcblxuICAgIGlmIChub25UZXJtaW5hbE5vZGVCUnVsZU5hbWUgPT09IG5vblRlcm1pbmFsTm9kZUFSdWxlTmFtZSkge1xuICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lTWV0YXN0YXRlbWVudFJ1bGVOYW1lID0gKG5vblRlcm1pbmFsTm9kZUFSdWxlTmFtZSA9PT0gTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUpLFxuICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lTWV0YXN0YXRlbWVudFJ1bGVOYW1lID0gKG5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZSA9PT0gTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUpO1xuXG4gICAgICBpZiAobm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lTWV0YXN0YXRlbWVudFJ1bGVOYW1lICYmIG5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZU1ldGFzdGF0ZW1lbnRSdWxlTmFtZSkge1xuICAgICAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZUEgPSBub25UZXJtaW5hbE5vZGVBLCAgLy8vXG4gICAgICAgICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlQiA9IG5vblRlcm1pbmFsTm9kZUIsICAvLy9cbiAgICAgICAgICAgICAgbWV0YXN0YXRlbWVudE5vZGVWZXJpZmllZCA9IHRoaXMudmVyaWZ5TWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGVBLCBtZXRhc3RhdGVtZW50Tm9kZUIsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0QSwgbG9jYWxNZXRhQ29udGV4dEIsIHZlcmlmeUFoZWFkKTtcblxuICAgICAgICBpZiAobWV0YXN0YXRlbWVudE5vZGVWZXJpZmllZCkge1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gdHJ1ZTsgIC8vL1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gc3VwZXIudmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0QSwgbG9jYWxNZXRhQ29udGV4dEIsIHZlcmlmeUFoZWFkKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBzdXBlci52ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHRBLCBsb2NhbE1ldGFDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBub25UZXJtaW5hbE5vZGVWZXJpZmllZDtcbiAgfVxuXG4gIHZlcmlmeU1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlQSwgbWV0YXN0YXRlbWVudE5vZGVCLCBzdWJzdGl0dXRpb25zLCBmaWxlQ29udGV4dEEsIGxvY2FsTWV0YUNvbnRleHRCLCB2ZXJpZnlBaGVhZCkge1xuICAgIGxldCBtZXRhc3RhdGVtZW50Tm9kZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlQSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShtZXRhc3RhdGVtZW50Tm9kZUEpO1xuXG4gICAgaWYgKG1ldGF2YXJpYWJsZU5vZGVBICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBtZXRhVmFyaWFibGVOb2RlVmVyaWZpZWQgPSB0aGlzLnZlcmlmeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZUEsIG1ldGFzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHRBLCBsb2NhbE1ldGFDb250ZXh0QiwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICBtZXRhc3RhdGVtZW50Tm9kZVZlcmlmaWVkID0gbWV0YVZhcmlhYmxlTm9kZVZlcmlmaWVkOyAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gbWV0YXN0YXRlbWVudE5vZGVWZXJpZmllZDtcbiAgfVxuXG4gIHZlcmlmeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZUEsIG1ldGFzdGF0ZW1lbnROb2RlQiwgc3Vic3RpdHV0aW9ucywgZmlsZUNvbnRleHRBLCBsb2NhbE1ldGFDb250ZXh0QiwgdmVyaWZ5QWhlYWQpIHtcbiAgICBsZXQgbWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkO1xuXG4gICAgY29uc3Qgc3Vic3RpdHV0aW9uID0gc3Vic3RpdHV0aW9ucy5maW5kKChzdWJzdGl0dXRpb24pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHN1YnN0aXR1dGlvbk1hdGNoZXNNZXRhdmFyaWFibGVOb2RlQSA9IHN1YnN0aXR1dGlvbi5tYXRjaE1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZUEpO1xuXG4gICAgICAgICAgICBpZiAoc3Vic3RpdHV0aW9uTWF0Y2hlc01ldGF2YXJpYWJsZU5vZGVBKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pIHx8IG51bGw7XG5cbiAgICBpZiAoc3Vic3RpdHV0aW9uICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlQiwgLy8vXG4gICAgICAgICAgICBtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMgPSBzdWJzdGl0dXRpb24ubWF0Y2hNZXRhc3RhdGVtZW50Tm9kZShtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgIG1ldGF2YXJpYWJsZU5vZGVWZXJpZmllZCA9IG1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlczsgIC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlTm9kZUEsIC8vL1xuICAgICAgICAgICAgbWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZUIsIC8vL1xuICAgICAgICAgICAgbWV0YXN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiA9IE1ldGFzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24uZnJvbU1ldGF2YXJpYWJsZU5vZGVBbmRNZXRhc3RhdGVtZW50Tm9kZShtZXRhdmFyaWFibGVOb2RlLCBtZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICBzdWJzdGl0dXRpb24gPSBtZXRhc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uOyAgLy8vXG5cbiAgICAgIHN1YnN0aXR1dGlvbnMucHVzaChzdWJzdGl0dXRpb24pO1xuXG4gICAgICBtZXRhdmFyaWFibGVOb2RlVmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBtZXRhdmFyaWFibGVOb2RlVmVyaWZpZWQ7XG4gIH1cbn1cblxuY29uc3QgbWV0YXN0YXRlbWVudEZvck1ldGF2YXJpYWJsZU5vZGVzVmVyaWZpZXIgPSBuZXcgTWV0YXN0YXRlbWVudEZvck1ldGF2YXJpYWJsZU5vZGVzVmVyaWZpZXIoKTtcblxuZXhwb3J0IGRlZmF1bHQgbWV0YXN0YXRlbWVudEZvck1ldGF2YXJpYWJsZU5vZGVzVmVyaWZpZXI7XG4iXSwibmFtZXMiOlsibWV0YXZhcmlhYmxlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwiTWV0YXN0YXRlbWVudEZvck1ldGF2YXJpYWJsZU5vZGVzVmVyaWZpZXIiLCJ2ZXJpZnlOb25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGVBIiwibm9uVGVybWluYWxOb2RlQiIsInN1YnN0aXR1dGlvbnMiLCJmaWxlQ29udGV4dEEiLCJsb2NhbE1ldGFDb250ZXh0QiIsInZlcmlmeUFoZWFkIiwibm9uVGVybWluYWxOb2RlVmVyaWZpZWQiLCJub25UZXJtaW5hbE5vZGVBUnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsIm5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZSIsIm5vblRlcm1pbmFsTm9kZUFSdWxlTmFtZU1ldGFzdGF0ZW1lbnRSdWxlTmFtZSIsIk1FVEFTVEFURU1FTlRfUlVMRV9OQU1FIiwibm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lTWV0YXN0YXRlbWVudFJ1bGVOYW1lIiwibWV0YXN0YXRlbWVudE5vZGVBIiwibWV0YXN0YXRlbWVudE5vZGVCIiwibWV0YXN0YXRlbWVudE5vZGVWZXJpZmllZCIsInZlcmlmeU1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YXZhcmlhYmxlTm9kZUEiLCJtZXRhVmFyaWFibGVOb2RlVmVyaWZpZWQiLCJ2ZXJpZnlNZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlTm9kZVZlcmlmaWVkIiwic3Vic3RpdHV0aW9uIiwiZmluZCIsInN1YnN0aXR1dGlvbk1hdGNoZXNNZXRhdmFyaWFibGVOb2RlQSIsIm1hdGNoTWV0YXZhcmlhYmxlTm9kZSIsIm1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzIiwibWF0Y2hNZXRhc3RhdGVtZW50Tm9kZSIsIm1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uIiwiTWV0YXN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiIsImZyb21NZXRhdmFyaWFibGVOb2RlQW5kTWV0YXN0YXRlbWVudE5vZGUiLCJwdXNoIiwiTm9kZXNWZXJpZmllciIsIm1ldGFzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVOb2Rlc1ZlcmlmaWVyIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFzRkE7OztlQUFBOzs7NERBcEYwQjttRkFDMkI7cUJBRTNCO3lCQUNjOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFeEMsSUFBTUEsd0JBQXdCQyxJQUFBQSxnQkFBUyxFQUFDO0FBRXhDLElBQUEsQUFBTUMsMERBQUQsQUFBTDtjQUFNQTsrQkFBQUE7YUFBQUE7Z0NBQUFBOzs7a0JBQUFBOztZQUNKQyxLQUFBQTttQkFBQUEsU0FBQUEsc0JBQXNCQyxnQkFBZ0IsRUFB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
|