occam-verify-cli 0.0.985 → 0.0.987
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/resolve/complexSubstitutionAgainstSimpleSubstitution.js +3 -3
- package/lib/substitution/frameForMetavariable.js +7 -59
- package/lib/substitution/statementForMetavariable.js +1 -8
- package/lib/substitution/termForVariable.js +2 -3
- package/lib/unifier/statementWithCombinator.js +11 -2
- package/lib/unify/frameWithMetaType.js +24 -0
- package/lib/verify/assertion/contained.js +33 -36
- package/lib/verify/assertion/defined.js +23 -26
- package/lib/verify/frame.js +7 -2
- package/lib/verify/frameGivenMetaType.js +37 -0
- package/lib/verify/statementGivenMetaType.js +2 -1
- package/package.json +4 -4
- package/src/resolve/complexSubstitutionAgainstSimpleSubstitution.js +3 -3
- package/src/substitution/frameForMetavariable.js +8 -67
- package/src/substitution/statementForMetavariable.js +0 -6
- package/src/substitution/termForVariable.js +2 -3
- package/src/unifier/statementWithCombinator.js +13 -0
- package/src/unify/frameWithMetaType.js +14 -0
- package/src/verify/assertion/contained.js +42 -45
- package/src/verify/assertion/defined.js +29 -32
- package/src/verify/frame.js +8 -1
- package/src/verify/frameGivenMetaType.js +31 -0
- package/src/verify/statementGivenMetaType.js +2 -0
|
@@ -55,43 +55,40 @@ function verifyDerivedDefinedAssertion(definedAssertionNode, assignments, stated
|
|
|
55
55
|
|
|
56
56
|
localContext.trace(`Verifying the '${definedAssertionString}' derived defined assertion...`, definedAssertionNode);
|
|
57
57
|
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
if (metavariableDefinedByMetavariableName) {
|
|
72
|
-
derivedDefinedAssertionVerified = true;
|
|
73
|
-
}
|
|
58
|
+
const assertionNegated = isAssertionNegated(definedAssertionNode),
|
|
59
|
+
metavariableNode = metavariableNodeQuery(definedAssertionNode),
|
|
60
|
+
variableNode = variableNodeQuery(definedAssertionNode);
|
|
61
|
+
|
|
62
|
+
if (false) {
|
|
63
|
+
///
|
|
64
|
+
} else if (metavariableNode !== null) {
|
|
65
|
+
const metavariableName = metavariableNameFromMetavariableNode(metavariableNode),
|
|
66
|
+
metavariableDefinedByMetavariableName = localContext.isMetavariableDefinedByMetavariableName(metavariableName);
|
|
67
|
+
|
|
68
|
+
if (!assertionNegated) {
|
|
69
|
+
if (metavariableDefinedByMetavariableName) {
|
|
70
|
+
derivedDefinedAssertionVerified = true;
|
|
74
71
|
}
|
|
72
|
+
}
|
|
75
73
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
}
|
|
74
|
+
if (assertionNegated) {
|
|
75
|
+
if (!metavariableDefinedByMetavariableName) {
|
|
76
|
+
derivedDefinedAssertionVerified = true;
|
|
80
77
|
}
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
78
|
+
}
|
|
79
|
+
} else if (variableNode !== null) {
|
|
80
|
+
const variable = localContext.findVariableByVariableNode(variableNode),
|
|
81
|
+
variableDefined = localContext.isVariableDefined(variable);
|
|
82
|
+
|
|
83
|
+
if (!assertionNegated) {
|
|
84
|
+
if (variableDefined) {
|
|
85
|
+
derivedDefinedAssertionVerified = true;
|
|
89
86
|
}
|
|
87
|
+
}
|
|
90
88
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
}
|
|
89
|
+
if (assertionNegated) {
|
|
90
|
+
if (!variableDefined) {
|
|
91
|
+
derivedDefinedAssertionVerified = true;
|
|
95
92
|
}
|
|
96
93
|
}
|
|
97
94
|
}
|
package/src/verify/frame.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import shim from "../shim";
|
|
3
4
|
import Frame from "../frame";
|
|
4
5
|
import frameMetaType from "../metaType/frame";
|
|
5
6
|
import verifyDeclaration from "../verify/declaration";
|
|
@@ -17,7 +18,7 @@ const verifyFrameFunctions = [
|
|
|
17
18
|
verifyStatedFrame
|
|
18
19
|
];
|
|
19
20
|
|
|
20
|
-
|
|
21
|
+
function verifyFrame(frameNode, frames, stated, localContext) {
|
|
21
22
|
let frameVerified;
|
|
22
23
|
|
|
23
24
|
const frameString = localContext.nodeAsString(frameNode);
|
|
@@ -39,6 +40,12 @@ export default function verifyFrame(frameNode, frames, stated, localContext) {
|
|
|
39
40
|
return frameVerified;
|
|
40
41
|
}
|
|
41
42
|
|
|
43
|
+
Object.assign(shim, {
|
|
44
|
+
verifyFrame
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
export default verifyFrame;
|
|
48
|
+
|
|
42
49
|
function verifyDerivedFrame(frameNode, frames, stated, localContext) {
|
|
43
50
|
let derivedFrameVerified;
|
|
44
51
|
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import shim from "../shim";
|
|
4
|
+
|
|
5
|
+
import { FRAME_META_TYPE_NAME } from "../metaTypeNames";
|
|
6
|
+
|
|
7
|
+
export default function verifyFrameGivenMetaType(frameNode, metaType, assignments, stated, localContext) {
|
|
8
|
+
let frameVerifiedGivenMetaType;
|
|
9
|
+
|
|
10
|
+
const metaTypeName = metaType.getName();
|
|
11
|
+
|
|
12
|
+
switch (metaTypeName) {
|
|
13
|
+
case FRAME_META_TYPE_NAME: {
|
|
14
|
+
const { verifyFrame } = shim,
|
|
15
|
+
frames = [],
|
|
16
|
+
frameVerified = verifyFrame(frameNode, frames, stated, localContext)
|
|
17
|
+
|
|
18
|
+
frameVerifiedGivenMetaType = frameVerified; ///
|
|
19
|
+
|
|
20
|
+
break;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
default: {
|
|
24
|
+
debugger
|
|
25
|
+
|
|
26
|
+
break;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return frameVerifiedGivenMetaType;
|
|
31
|
+
}
|
|
@@ -16,6 +16,8 @@ export default function verifyStatementGivenMetaType(statementNode, metaType, as
|
|
|
16
16
|
switch (metaTypeName) {
|
|
17
17
|
case FRAME_META_TYPE_NAME:
|
|
18
18
|
case REFERENCE_META_TYPE_NAME: {
|
|
19
|
+
debugger
|
|
20
|
+
|
|
19
21
|
statementVerifiedGivenMetaType = false;
|
|
20
22
|
|
|
21
23
|
const metavariableNode = metavariableNodeQuery(statementNode);
|