occam-verify-cli 0.0.928 → 0.0.930

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.
@@ -8,12 +8,14 @@ import verifySubproofAssertion from "../verify/assertion/subproof";
8
8
  import verifyContainedAssertion from "../verify/assertion/contained";
9
9
  import statementAgainstCombinatorNodesVerifier from "../verifier/nodes/statementAgainstCombinator";
10
10
 
11
- import { nodeQuery } from "../utilities/query";
11
+ import { nodeQuery, nodesQuery } from "../utilities/query";
12
12
  import { STATEMENT_META_TYPE_NAME } from "../metaTypeNames";
13
13
 
14
14
  const equalityNodeQuery = nodeQuery("/statement/equality!"),
15
15
  judgementNodeQuery = nodeQuery("/statement/judgement!"),
16
+ variableNodesQuery = nodesQuery("/substitution/term/variable!"),
16
17
  metavariableNodeQuery = nodeQuery("/statement/metavariable!"),
18
+ substitutionNodeQuery = nodeQuery("/statement/substitution!"),
17
19
  typeAssertionNodeQuery = nodeQuery("/statement/typeAssertion!"),
18
20
  definedAssertionNodeQuery = nodeQuery("/statement/definedAssertion!"),
19
21
  subproofAssertionNodeQuery = nodeQuery("/statement/subproofAssertion!"),
@@ -162,12 +164,13 @@ function verifyStatementAsMetavariable(statementNode, assignments, derived, loca
162
164
 
163
165
  localContext.trace(`Verifying the '${statementString}' statement as a metavariable...`, statementNode);
164
166
 
165
- const metavariable = localContext.findMetavariableByMetavariableNode(metavariableNode);
167
+ const metavariableVerified = verifyMetavariable(metavariableNode, localContext);
166
168
 
167
- if (metavariable !== null) {
168
- const metaTypeName = metavariable.getMetaTypeName();
169
+ if (metavariableVerified) {
170
+ const substitutionNode = substitutionNodeQuery(statementNode),
171
+ substitutionVerified = verifySubstitution(substitutionNode, localContext);
169
172
 
170
- if (metaTypeName === STATEMENT_META_TYPE_NAME) {
173
+ if (substitutionVerified) {
171
174
  statementVerifiedAsMetavariable = true;
172
175
  }
173
176
  }
@@ -315,4 +318,40 @@ function verifyStatementAgainstCombinator(statementNode, combinator, localContex
315
318
  }
316
319
 
317
320
  return statementVerifiedAgainstCombinator;
318
- }
321
+ }
322
+
323
+ function verifyMetavariable(metavariableNode, localContext) {
324
+ let metavariableVerified = false;
325
+
326
+ const metavariable = localContext.findMetavariableByMetavariableNode(metavariableNode);
327
+
328
+ if (metavariable !== null) {
329
+ const metaTypeName = metavariable.getMetaTypeName();
330
+
331
+ if (metaTypeName === STATEMENT_META_TYPE_NAME) {
332
+ metavariableVerified = true;
333
+ }
334
+ }
335
+
336
+ return metavariableVerified;
337
+ }
338
+
339
+ function verifySubstitution(substitutionNode, localContext) {
340
+ let substitutionVerified;
341
+
342
+ if (substitutionNode === null) {
343
+ substitutionVerified = true;
344
+ } else {
345
+ const variableNodes = variableNodesQuery(substitutionNode);
346
+
347
+ substitutionVerified = variableNodes.every((variableNode) => {
348
+ const variablePresent = localContext.isVariablePresentByVariableNode(variableNode);
349
+
350
+ if (variablePresent) {
351
+ return true;
352
+ }
353
+ });
354
+ }
355
+
356
+ return substitutionVerified;
357
+ }
@@ -5,14 +5,22 @@ import { STATEMENT_META_TYPE_NAME } from "../metaTypeNames";
5
5
 
6
6
  const metaTypeTerminalNodeQuery = nodeQuery("/metaType/@meta-type!");
7
7
 
8
- export default function verifyStatementAgainstMetaType(statementNode, metaTypeNode, localContext, verifyAhead) {
8
+ export default function verifyStatementAgainstMetaType(statementNode, metaTypeNode, localContext, verifyAhead, verifyStatement) {
9
9
  let statementVerifiedAgainstMetaType = false;
10
10
 
11
11
  const metaTypeTerminalNode = metaTypeTerminalNodeQuery(metaTypeNode),
12
12
  content = metaTypeTerminalNode.getContent();
13
13
 
14
14
  if (content === STATEMENT_META_TYPE_NAME) {
15
- const verifiedAhead = verifyAhead();
15
+ let verifiedAhead = false;
16
+
17
+ const derived = false,
18
+ assignments = [],
19
+ statementVerified = verifyStatement(statementNode, assignments, derived, localContext);
20
+
21
+ if (statementVerified) {
22
+ verifiedAhead = verifyAhead();
23
+ }
16
24
 
17
25
  statementVerifiedAgainstMetaType = verifiedAhead; ///
18
26
  }
@@ -1,92 +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 _metaLevel = /*#__PURE__*/ _interop_require_default(require("../verifier/node/metaLevel"));
12
- var _query = require("../utilities/query");
13
- function _interop_require_default(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
18
- var judgementNodeQuery = (0, _query.nodeQuery)("/statement/judgement!");
19
- function verifyStatement(statementNode, assignments, derived, localContext) {
20
- var statementVerified;
21
- var statementString = localContext.nodeAsString(statementNode);
22
- localContext.trace("Verifying the '".concat(statementString, "' statement..."), statementNode);
23
- var verifyStatementFunctions = [
24
- verifyStatementAsIs
25
- ];
26
- statementVerified = verifyStatementFunctions.some(function(verifyStatementFunction) {
27
- var statementVerified = verifyStatementFunction(statementNode, assignments, derived, localContext);
28
- if (statementVerified) {
29
- return true;
30
- }
31
- });
32
- if (statementVerified) {
33
- localContext.debug("...verified the '".concat(statementString, "' statement."), statementNode);
34
- }
35
- return statementVerified;
36
- }
37
- Object.assign(_metaLevel.default, {
38
- verifyStatement: verifyStatement
39
- });
40
- var _default = verifyStatement;
41
- function verifyStatementAsIs(statementNode, assignments, derived, localContext) {
42
- var statementVerifiedAsIs;
43
- var statementJudgement = isStatementJudgement(statementNode);
44
- if (!statementJudgement) {
45
- var statementString = localContext.nodeAsString(statementNode);
46
- localContext.trace("Verifying the '".concat(statementString, "' statement as is..."), statementNode);
47
- var verifyStatementAsIsFunctions = [
48
- verifyDerivedStatementAsIs,
49
- verifyStatedStatementAsIs
50
- ];
51
- statementVerifiedAsIs = verifyStatementAsIsFunctions.some(function(verifyStatementAsIsFunction) {
52
- var statementVerifiedAsIs = verifyStatementAsIsFunction(statementNode, assignments, derived, localContext);
53
- if (statementVerifiedAsIs) {
54
- return true;
55
- }
56
- });
57
- if (statementVerifiedAsIs) {
58
- localContext.debug("...verified the '".concat(statementString, "' statement as is."), statementNode);
59
- }
60
- }
61
- return statementVerifiedAsIs;
62
- }
63
- function verifyDerivedStatementAsIs(statementNode, assignments, derived, localContext) {
64
- var derivedStatementVerifiedAsIs = false;
65
- if (derived) {
66
- var statementString = localContext.nodeAsString(statementNode);
67
- localContext.debug("Cannot verify the '".concat(statementString, "' derived statement as is."), statementNode);
68
- }
69
- return derivedStatementVerifiedAsIs;
70
- }
71
- function verifyStatedStatementAsIs(statementNode, assignments, derived, localContext) {
72
- var statedStatementVerifiedAsIs = false;
73
- if (!derived) {
74
- var statementString = localContext.nodeAsString(statementNode);
75
- localContext.trace("Verifying the '".concat(statementString, "' stated statement as is..."), statementNode);
76
- var nonTerminalNode = statementNode, nonTerminalNodeVerified = _metaLevel.default.verifyNonTerminalNode(nonTerminalNode, localContext, function() {
77
- var verifiedAhead = true;
78
- return verifiedAhead;
79
- });
80
- statedStatementVerifiedAsIs = nonTerminalNodeVerified; ///
81
- if (statedStatementVerifiedAsIs) {
82
- localContext.debug("...verified the '".concat(statementString, "' stated statement as is."), statementNode);
83
- }
84
- }
85
- return statedStatementVerifiedAsIs;
86
- }
87
- function isStatementJudgement(statementNode) {
88
- var judgementNode = judgementNodeQuery(statementNode), statementJudgement = judgementNode !== null;
89
- return statementJudgement;
90
- }
91
-
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IG1ldGFMZXZlbE5vZGVWZXJpZmllciBmcm9tIFwiLi4vdmVyaWZpZXIvbm9kZS9tZXRhTGV2ZWxcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBqdWRnZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3RhdGVtZW50L2p1ZGdlbWVudCFcIik7XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YXRlbWVudChzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdGF0ZW1lbnRWZXJpZmllZDtcblxuICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHN0YXRlbWVudE5vZGUpO1xuXG4gIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQuLi5gLCBzdGF0ZW1lbnROb2RlKTtcblxuICBjb25zdCB2ZXJpZnlTdGF0ZW1lbnRGdW5jdGlvbnMgPSBbXG4gICAgdmVyaWZ5U3RhdGVtZW50QXNJc1xuICBdO1xuXG4gIHN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5U3RhdGVtZW50RnVuY3Rpb25zLnNvbWUoKHZlcmlmeVN0YXRlbWVudEZ1bmN0aW9uKSA9PiB7XG4gICAgY29uc3Qgc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlTdGF0ZW1lbnRGdW5jdGlvbihzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICBpZiAoc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQuYCwgc3RhdGVtZW50Tm9kZSk7XG4gIH1cblxuICByZXR1cm4gc3RhdGVtZW50VmVyaWZpZWQ7XG59XG5cbk9iamVjdC5hc3NpZ24obWV0YUxldmVsTm9kZVZlcmlmaWVyLCB7XG4gIHZlcmlmeVN0YXRlbWVudFxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IHZlcmlmeVN0YXRlbWVudDtcblxuZnVuY3Rpb24gdmVyaWZ5U3RhdGVtZW50QXNJcyhzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdGF0ZW1lbnRWZXJpZmllZEFzSXM7XG5cbiAgY29uc3Qgc3RhdGVtZW50SnVkZ2VtZW50ID0gaXNTdGF0ZW1lbnRKdWRnZW1lbnQoc3RhdGVtZW50Tm9kZSk7XG5cbiAgaWYgKCFzdGF0ZW1lbnRKdWRnZW1lbnQpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHN0YXRlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBpcy4uLmAsIHN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uc3QgdmVyaWZ5U3RhdGVtZW50QXNJc0Z1bmN0aW9ucyA9IFtcbiAgICAgIHZlcmlmeURlcml2ZWRTdGF0ZW1lbnRBc0lzLFxuICAgICAgdmVyaWZ5U3RhdGVkU3RhdGVtZW50QXNJc1xuICAgIF07XG5cbiAgICBzdGF0ZW1lbnRWZXJpZmllZEFzSXMgPSB2ZXJpZnlTdGF0ZW1lbnRBc0lzRnVuY3Rpb25zLnNvbWUoKHZlcmlmeVN0YXRlbWVudEFzSXNGdW5jdGlvbikgPT4ge1xuICAgICAgY29uc3Qgc3RhdGVtZW50VmVyaWZpZWRBc0lzID0gdmVyaWZ5U3RhdGVtZW50QXNJc0Z1bmN0aW9uKHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWRBc0lzKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKHN0YXRlbWVudFZlcmlmaWVkQXNJcykge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IGFzIGlzLmAsIHN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRWZXJpZmllZEFzSXM7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeURlcml2ZWRTdGF0ZW1lbnRBc0lzKHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IGRlcml2ZWRTdGF0ZW1lbnRWZXJpZmllZEFzSXMgPSBmYWxzZTtcblxuICBpZiAoZGVyaXZlZCkge1xuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQuZGVidWcoYENhbm5vdCB2ZXJpZnkgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIGRlcml2ZWQgc3RhdGVtZW50IGFzIGlzLmAsIHN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIGRlcml2ZWRTdGF0ZW1lbnRWZXJpZmllZEFzSXM7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YXRlZFN0YXRlbWVudEFzSXMoc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgc3RhdGVkU3RhdGVtZW50VmVyaWZpZWRBc0lzID0gZmFsc2U7XG5cbiAgaWYgKCFkZXJpdmVkKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhzdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZWQgc3RhdGVtZW50IGFzIGlzLi4uYCwgc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBzdGF0ZW1lbnROb2RlLCAvLy9cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IG1ldGFMZXZlbE5vZGVWZXJpZmllci52ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlLCBsb2NhbENvbnRleHQsICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZlcmlmaWVkQWhlYWQgPSB0cnVlO1xuXG4gICAgICAgICAgICByZXR1cm4gdmVyaWZpZWRBaGVhZDtcbiAgICAgICAgICB9KTtcblxuICAgIHN0YXRlZFN0YXRlbWVudFZlcmlmaWVkQXNJcyA9IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkOyAgLy8vXG5cbiAgICBpZiAoc3RhdGVkU3RhdGVtZW50VmVyaWZpZWRBc0lzKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZWQgc3RhdGVtZW50IGFzIGlzLmAsIHN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZWRTdGF0ZW1lbnRWZXJpZmllZEFzSXM7XG59XG5cbmZ1bmN0aW9uIGlzU3RhdGVtZW50SnVkZ2VtZW50KHN0YXRlbWVudE5vZGUpIHtcbiAgY29uc3QganVkZ2VtZW50Tm9kZSA9IGp1ZGdlbWVudE5vZGVRdWVyeShzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgc3RhdGVtZW50SnVkZ2VtZW50ID0gKGp1ZGdlbWVudE5vZGUgIT09IG51bGwpO1xuXG4gIHJldHVybiBzdGF0ZW1lbnRKdWRnZW1lbnQ7XG59Il0sIm5hbWVzIjpbImp1ZGdlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInZlcmlmeVN0YXRlbWVudCIsInN0YXRlbWVudE5vZGUiLCJhc3NpZ25tZW50cyIsImRlcml2ZWQiLCJsb2NhbENvbnRleHQiLCJzdGF0ZW1lbnRWZXJpZmllZCIsInN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwidmVyaWZ5U3RhdGVtZW50RnVuY3Rpb25zIiwidmVyaWZ5U3RhdGVtZW50QXNJcyIsInNvbWUiLCJ2ZXJpZnlTdGF0ZW1lbnRGdW5jdGlvbiIsImRlYnVnIiwiT2JqZWN0IiwiYXNzaWduIiwibWV0YUxldmVsTm9kZVZlcmlmaWVyIiwic3RhdGVtZW50VmVyaWZpZWRBc0lzIiwic3RhdGVtZW50SnVkZ2VtZW50IiwiaXNTdGF0ZW1lbnRKdWRnZW1lbnQiLCJ2ZXJpZnlTdGF0ZW1lbnRBc0lzRnVuY3Rpb25zIiwidmVyaWZ5RGVyaXZlZFN0YXRlbWVudEFzSXMiLCJ2ZXJpZnlTdGF0ZWRTdGF0ZW1lbnRBc0lzIiwidmVyaWZ5U3RhdGVtZW50QXNJc0Z1bmN0aW9uIiwiZGVyaXZlZFN0YXRlbWVudFZlcmlmaWVkQXNJcyIsInN0YXRlZFN0YXRlbWVudFZlcmlmaWVkQXNJcyIsIm5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZVZlcmlmaWVkIiwidmVyaWZ5Tm9uVGVybWluYWxOb2RlIiwidmVyaWZpZWRBaGVhZCIsImp1ZGdlbWVudE5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQXNDQTs7O2VBQUE7OztnRUFwQ2tDO3FCQUVSOzs7Ozs7QUFFMUIsSUFBTUEscUJBQXFCQyxJQUFBQSxnQkFBUyxFQUFDO0FBRXJDLFNBQVNDLGdCQUFnQkMsYUFBYSxFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsWUFBWTtJQUN4RSxJQUFJQztJQUVKLElBQU1DLGtCQUFrQkYsYUFBYUcsWUFBWSxDQUFDTjtJQUVsREcsYUFBYUksS0FBSyxDQUFDLEFBQUMsa0JBQWlDLE9BQWhCRixpQkFBZ0IsbUJBQWlC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
@@ -1,114 +0,0 @@
1
- "use strict";
2
-
3
- import metaLevelNodeVerifier from "../verifier/node/metaLevel";
4
-
5
- import { nodeQuery } from "../utilities/query";
6
-
7
- const judgementNodeQuery = nodeQuery("/statement/judgement!");
8
-
9
- function verifyStatement(statementNode, assignments, derived, localContext) {
10
- let statementVerified;
11
-
12
- const statementString = localContext.nodeAsString(statementNode);
13
-
14
- localContext.trace(`Verifying the '${statementString}' statement...`, statementNode);
15
-
16
- const verifyStatementFunctions = [
17
- verifyStatementAsIs
18
- ];
19
-
20
- statementVerified = verifyStatementFunctions.some((verifyStatementFunction) => {
21
- const statementVerified = verifyStatementFunction(statementNode, assignments, derived, localContext);
22
-
23
- if (statementVerified) {
24
- return true;
25
- }
26
- });
27
-
28
- if (statementVerified) {
29
- localContext.debug(`...verified the '${statementString}' statement.`, statementNode);
30
- }
31
-
32
- return statementVerified;
33
- }
34
-
35
- Object.assign(metaLevelNodeVerifier, {
36
- verifyStatement
37
- });
38
-
39
- export default verifyStatement;
40
-
41
- function verifyStatementAsIs(statementNode, assignments, derived, localContext) {
42
- let statementVerifiedAsIs;
43
-
44
- const statementJudgement = isStatementJudgement(statementNode);
45
-
46
- if (!statementJudgement) {
47
- const statementString = localContext.nodeAsString(statementNode);
48
-
49
- localContext.trace(`Verifying the '${statementString}' statement as is...`, statementNode);
50
-
51
- const verifyStatementAsIsFunctions = [
52
- verifyDerivedStatementAsIs,
53
- verifyStatedStatementAsIs
54
- ];
55
-
56
- statementVerifiedAsIs = verifyStatementAsIsFunctions.some((verifyStatementAsIsFunction) => {
57
- const statementVerifiedAsIs = verifyStatementAsIsFunction(statementNode, assignments, derived, localContext);
58
-
59
- if (statementVerifiedAsIs) {
60
- return true;
61
- }
62
- });
63
-
64
- if (statementVerifiedAsIs) {
65
- localContext.debug(`...verified the '${statementString}' statement as is.`, statementNode);
66
- }
67
- }
68
-
69
- return statementVerifiedAsIs;
70
- }
71
-
72
- function verifyDerivedStatementAsIs(statementNode, assignments, derived, localContext) {
73
- let derivedStatementVerifiedAsIs = false;
74
-
75
- if (derived) {
76
- const statementString = localContext.nodeAsString(statementNode);
77
-
78
- localContext.debug(`Cannot verify the '${statementString}' derived statement as is.`, statementNode);
79
- }
80
-
81
- return derivedStatementVerifiedAsIs;
82
- }
83
-
84
- function verifyStatedStatementAsIs(statementNode, assignments, derived, localContext) {
85
- let statedStatementVerifiedAsIs = false;
86
-
87
- if (!derived) {
88
- const statementString = localContext.nodeAsString(statementNode);
89
-
90
- localContext.trace(`Verifying the '${statementString}' stated statement as is...`, statementNode);
91
-
92
- const nonTerminalNode = statementNode, ///
93
- nonTerminalNodeVerified = metaLevelNodeVerifier.verifyNonTerminalNode(nonTerminalNode, localContext, () => {
94
- const verifiedAhead = true;
95
-
96
- return verifiedAhead;
97
- });
98
-
99
- statedStatementVerifiedAsIs = nonTerminalNodeVerified; ///
100
-
101
- if (statedStatementVerifiedAsIs) {
102
- localContext.debug(`...verified the '${statementString}' stated statement as is.`, statementNode);
103
- }
104
- }
105
-
106
- return statedStatementVerifiedAsIs;
107
- }
108
-
109
- function isStatementJudgement(statementNode) {
110
- const judgementNode = judgementNodeQuery(statementNode),
111
- statementJudgement = (judgementNode !== null);
112
-
113
- return statementJudgement;
114
- }