occam-verify-cli 0.0.903 → 0.0.904

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.
@@ -10,6 +10,7 @@ import { verifyNodes } from "../../utilities/verifier";
10
10
 
11
11
  const termNodeQuery = nodeQuery("/term!"),
12
12
  statementNodeQuery = nodeQuery("/statement!"),
13
+ nonTerminalNodeQuery = nodeQuery("/*"),
13
14
  termVariableNodeQuery = nodeQuery("/term/variable!"),
14
15
  metastatementNodeQuery = nodeQuery("/metastatement!"),
15
16
  metaArgumentStatementNodeQuery = nodeQuery("/metaArgument/statement!"),
@@ -88,6 +89,22 @@ class IntrinsicLevelAgainstMetaLevelNodesVerifier extends NodesVerifier {
88
89
 
89
90
  nonTerminalNodeVerified = termVariableNodeVerifiedAgainstTermNode; ///
90
91
 
92
+ return nonTerminalNodeVerified;
93
+ }
94
+ },
95
+ {
96
+ nodeQueryA: nonTerminalNodeQuery,
97
+ nodeQueryB: nonTerminalNodeQuery,
98
+ verifyNodes: (nodeA, nodeB, substitutions, localMetaContextA, localMetaContextB, verifyAhead) => {
99
+ let nonTerminalNodeVerified;
100
+
101
+ const nonTerminalNodeA = nodeA, ///
102
+ nonTerminalNodeB = nodeB; ///
103
+
104
+ nonTerminalNodeVerified =
105
+
106
+ super.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localMetaContextA, localMetaContextB, verifyAhead);
107
+
91
108
  return nonTerminalNodeVerified;
92
109
  }
93
110
  }
@@ -95,9 +112,7 @@ class IntrinsicLevelAgainstMetaLevelNodesVerifier extends NodesVerifier {
95
112
 
96
113
  const nodesVerified = verifyNodes(nodeQueryMaps, nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, verifyAhead);
97
114
 
98
- nonTerminalNodeVerified = nodesVerified ?
99
- true :
100
- super.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, verifyAhead);
115
+ nonTerminalNodeVerified = nodesVerified; ///
101
116
 
102
117
  return nonTerminalNodeVerified;
103
118
  }
@@ -8,6 +8,7 @@ import { nodeQuery } from "../../utilities/query";
8
8
  import { verifyNodes } from "../../utilities/verifier";
9
9
 
10
10
  const argumentNodeQuery = nodeQuery("/argument!"),
11
+ nonTerminalNodeQuery = nodeQuery("/*"),
11
12
  metaArgumentMetaTypeNodeQuery = nodeQuery("/metaArgument/metaType!"),
12
13
  metaArgumentStatementNodeQuery = nodeQuery("/metaArgument/statement!");
13
14
 
@@ -47,6 +48,22 @@ class StatementAgainstCombinatorNodesVerifier extends NodesVerifier {
47
48
 
48
49
  nonTerminalNodeVerified = argumentNodeVerifiedAgainstArgumentNode; ///
49
50
 
51
+ return nonTerminalNodeVerified;
52
+ }
53
+ },
54
+ {
55
+ nodeQueryA: nonTerminalNodeQuery,
56
+ nodeQueryB: nonTerminalNodeQuery,
57
+ verifyNodes: (nodeA, nodeB, substitutions, localMetaContextA, localMetaContextB, verifyAhead) => {
58
+ let nonTerminalNodeVerified;
59
+
60
+ const nonTerminalNodeA = nodeA, ///
61
+ nonTerminalNodeB = nodeB; ///
62
+
63
+ nonTerminalNodeVerified =
64
+
65
+ super.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localMetaContextA, localMetaContextB, verifyAhead);
66
+
50
67
  return nonTerminalNodeVerified;
51
68
  }
52
69
  }
@@ -54,9 +71,7 @@ class StatementAgainstCombinatorNodesVerifier extends NodesVerifier {
54
71
 
55
72
  const nodesVerified = verifyNodes(nodeQueryMaps, nonTerminalNodeA, nonTerminalNodeB, localContext, verifyAhead);
56
73
 
57
- nonTerminalNodeVerified = nodesVerified ?
58
- true :
59
- super.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, localContext, verifyAhead);
74
+ nonTerminalNodeVerified = nodesVerified; ///
60
75
 
61
76
  return nonTerminalNodeVerified;
62
77
  }
@@ -7,7 +7,8 @@ import { nodeQuery } from "../../utilities/query";
7
7
  import { verifyNodes } from "../../utilities/verifier";
8
8
 
9
9
  const termNodeQuery = nodeQuery("/argument/term!"),
10
- typeNodeQuery = nodeQuery("/argument/type!");
10
+ typeNodeQuery = nodeQuery("/argument/type!"),
11
+ nonTerminalNodeQuery = nodeQuery("/*");
11
12
 
12
13
  class TermAgainstConstructorNodesVerifier extends NodesVerifier {
13
14
  verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, localContext, verifyAhead) {
@@ -28,6 +29,22 @@ class TermAgainstConstructorNodesVerifier extends NodesVerifier {
28
29
 
29
30
  nonTerminalNodeVerified = termNodeVerifiedAgainstTypeNode; ///
30
31
 
32
+ return nonTerminalNodeVerified;
33
+ }
34
+ },
35
+ {
36
+ nodeQueryA: nonTerminalNodeQuery,
37
+ nodeQueryB: nonTerminalNodeQuery,
38
+ verifyNodes: (nodeA, nodeB, substitutions, localMetaContextA, localMetaContextB, verifyAhead) => {
39
+ let nonTerminalNodeVerified;
40
+
41
+ const nonTerminalNodeA = nodeA, ///
42
+ nonTerminalNodeB = nodeB; ///
43
+
44
+ nonTerminalNodeVerified =
45
+
46
+ super.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localMetaContextA, localMetaContextB, verifyAhead);
47
+
31
48
  return nonTerminalNodeVerified;
32
49
  }
33
50
  }
@@ -35,9 +52,7 @@ class TermAgainstConstructorNodesVerifier extends NodesVerifier {
35
52
 
36
53
  const nodesVerified = verifyNodes(nodeQueryMaps, nonTerminalNodeA, nonTerminalNodeB, localContext, verifyAhead);
37
54
 
38
- nonTerminalNodeVerified = nodesVerified ?
39
- true :
40
- super.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, localContext, verifyAhead);
55
+ nonTerminalNodeVerified = nodesVerified; ///
41
56
 
42
57
  return nonTerminalNodeVerified;
43
58
  }
@@ -45,8 +45,8 @@ function verifyStatement(statementNode, assignments, derived, localContext) {
45
45
  return statementVerified;
46
46
  }
47
47
 
48
- export function verifyStandaloneStatement(statementNode, localContext) {
49
- let standaloneStatementVerified;
48
+ export function verifyStandaloneStatement(statementNode, localContext, verifyAhead) {
49
+ let standaloneStatementVerified = false;
50
50
 
51
51
  const statementString = localContext.nodeAsString(statementNode);
52
52
 
@@ -56,7 +56,11 @@ export function verifyStandaloneStatement(statementNode, localContext) {
56
56
  assignments = [],
57
57
  statementVerified = verifyStatement(statementNode, assignments, derived);
58
58
 
59
- standaloneStatementVerified = statementVerified; ///
59
+ if (statementVerified) {
60
+ const verifiedAhead = verifyAhead();
61
+
62
+ standaloneStatementVerified = verifiedAhead; ///
63
+ }
60
64
 
61
65
  if (standaloneStatementVerified) {
62
66
  localContext.debug(`...verified the '${statementString}' standalone statement.`, statementNode);
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  import Combinator from "../combinator";
4
- import LocalContext from "../context/local";
5
4
  import statementAsCombinatorNodeVerifier from "../verifier/node/statementAsCombinator";
6
5
 
7
6
  export default function verifyStatementAsCombinator(statementNode, fileContext) {