occam-verify-cli 0.0.704 → 0.0.706

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.
@@ -32,6 +32,28 @@ export default class NodeVerifier {
32
32
  return childNodesVerify;
33
33
  }
34
34
 
35
+ verifyTerminalNode(terminalNode, ...remainingArguments) {
36
+ let terminalNodeVerified;
37
+
38
+ const verifyAhead = remainingArguments.pop(), ///
39
+ verifiedAhead = verifyAhead(); ///
40
+
41
+ terminalNodeVerified = verifiedAhead; ///
42
+
43
+ return terminalNodeVerified;
44
+ }
45
+
46
+ verifyNonTerminalNode(nonTerminalNode, ...remainingArguments) {
47
+ let nonTerminalNodeVerified;
48
+
49
+ const childNodes = nonTerminalNode.getChildNodes(), ///
50
+ childNodesVerify = this.verifyChildNodes(childNodes, ...remainingArguments);
51
+
52
+ nonTerminalNodeVerified = childNodesVerify; ///
53
+
54
+ return nonTerminalNodeVerified;
55
+ }
56
+
35
57
  verifyChildNodesAhead(index, childNodes, ...remainingArguments) {
36
58
  let childNodesVerify;
37
59
 
@@ -46,11 +68,10 @@ export default class NodeVerifier {
46
68
  const childNode = childNodes[index],
47
69
  node = childNode, ///
48
70
  nodeVerified = this.verifyNode(node, ...remainingArguments, () => {
49
- index++;
50
-
51
71
  remainingArguments.push(verifyAhead);
52
72
 
53
- const childNodesVerifyAhead = this.verifyChildNodesAhead(index, childNodes, ...remainingArguments);
73
+ const aheadIndex = index + 1,
74
+ childNodesVerifyAhead = this.verifyChildNodesAhead(aheadIndex, childNodes, ...remainingArguments);
54
75
 
55
76
  return childNodesVerifyAhead;
56
77
  });
@@ -60,26 +81,4 @@ export default class NodeVerifier {
60
81
 
61
82
  return childNodesVerify;
62
83
  }
63
-
64
- verifyTerminalNode(terminalNode, ...remainingArguments) {
65
- let terminalNodeVerified;
66
-
67
- const verifyAhead = remainingArguments.pop(), ///
68
- verifiedAhead = verifyAhead(); ///
69
-
70
- terminalNodeVerified = verifiedAhead; ///
71
-
72
- return terminalNodeVerified;
73
- }
74
-
75
- verifyNonTerminalNode(nonTerminalNode, ...remainingArguments) {
76
- let nonTerminalNodeVerified;
77
-
78
- const childNodes = nonTerminalNode.getChildNodes(), ///
79
- childNodesVerify = this.verifyChildNodes(childNodes, ...remainingArguments);
80
-
81
- nonTerminalNodeVerified = childNodesVerify; ///
82
-
83
- return nonTerminalNodeVerified;
84
- }
85
84
  }
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
 
3
3
  import NodesVerifier from "../../verifier/nodes";
4
+ import termNodesVerifier from "../../verifier/nodes/term";
4
5
 
5
6
  import { nodeQuery } from "../../utilities/query";
6
- import { verifyArgument } from "../../verifier/nodes/term";
7
7
  import { STATEMENT_META_TYPE } from "../../metaTypes";
8
8
  import { ARGUMENT_RULE_NAME, META_ARGUMENT_RULE_NAME } from "../../ruleNames";
9
9
 
@@ -26,9 +26,9 @@ class StatementNodesVerifier extends NodesVerifier {
26
26
  case ARGUMENT_RULE_NAME: {
27
27
  const argumentNode = nonTerminalNode, ///
28
28
  constructorArgumentNode = combinatorNonTerminalNode, ///
29
- argumentVerified = verifyArgument(argumentNode, constructorArgumentNode, context, verifyAhead);
29
+ argumentNodeVerified = termNodesVerifier.verifyArgumentNode(argumentNode, constructorArgumentNode, context, verifyAhead);
30
30
 
31
- nonTerminalNodeVerified = argumentVerified; ///
31
+ nonTerminalNodeVerified = argumentNodeVerified; ///
32
32
 
33
33
  break;
34
34
  }
@@ -36,8 +36,7 @@ class StatementNodesVerifier extends NodesVerifier {
36
36
  case META_ARGUMENT_RULE_NAME: {
37
37
  const metaArgumentNode = nonTerminalNode, ///
38
38
  combinatorMetaargumentNode = combinatorNonTerminalNode, ///
39
- metaArgumentVerified = verifyMetaargument(metaArgumentNode, combinatorMetaargumentNode, context, verifyAhead),
40
- metaArgumentNodeVerified = metaArgumentVerified; ///
39
+ metaArgumentNodeVerified = this.verifyMetaargumentNode(metaArgumentNode, combinatorMetaargumentNode, context, verifyAhead);
41
40
 
42
41
  nonTerminalNodeVerified = metaArgumentNodeVerified; ///
43
42
 
@@ -54,47 +53,41 @@ class StatementNodesVerifier extends NodesVerifier {
54
53
 
55
54
  return nonTerminalNodeVerified;
56
55
  }
57
- }
58
-
59
- const statementNodesVerifier = new StatementNodesVerifier();
60
-
61
- export default statementNodesVerifier;
62
-
63
- export function verifyMetaargument(metaArgumentNode, combinatorMetaargumentNode, context, verifyAhead) {
64
- let metaArgumentVerified = false;
65
56
 
66
- const metaArgumentString = context.nodeAsString(metaArgumentNode);
57
+ verifyMetaargumentNode(metaArgumentNode, combinatorMetaargumentNode, context, verifyAhead) {
58
+ let metaArgumentNodeVerified = false;
67
59
 
68
- context.trace(`Verifying the '${metaArgumentString}' metaargument...`, metaArgumentNode);
60
+ const metaArgumentString = context.nodeAsString(metaArgumentNode);
69
61
 
70
- const statementNode = statementNodeQuery(metaArgumentNode),
71
- combinatorMetaTYpeNode = metaTypeNodeQuery(combinatorMetaargumentNode);
62
+ const statementNode = statementNodeQuery(metaArgumentNode),
63
+ combinatorMetaTYpeNode = metaTypeNodeQuery(combinatorMetaargumentNode);
72
64
 
73
- if (statementNode === null) {
74
- context.debug(`Expected a statement but got a '${metaArgumentString}' meta-type.`, metaArgumentNode);
75
- } else {
76
- if (combinatorMetaTYpeNode === null) {
77
- const combinatorMetaargumentString = context.nodeAsString(combinatorMetaargumentNode);
78
-
79
- context.debug(`Expected a meta-type but got a '${combinatorMetaargumentString}' statement.`, metaArgumentNode);
65
+ if (statementNode === null) {
66
+ context.debug(`Expected a statement but got a '${metaArgumentString}' meta-type.`, metaArgumentNode);
80
67
  } else {
81
- const combinatorMetaTypeTerminalNode = metaTypeTerminalNodeQuery(combinatorMetaTYpeNode),
82
- content = combinatorMetaTypeTerminalNode.getContent(),
83
- contentStatementMetaType = (content === STATEMENT_META_TYPE);
68
+ if (combinatorMetaTYpeNode === null) {
69
+ const combinatorMetaargumentString = context.nodeAsString(combinatorMetaargumentNode);
84
70
 
85
- if (!contentStatementMetaType) {
86
- context.debug(`Expected the meta-type of the combinator to be '${STATEMENT_META_TYPE}' but got '${content}' instead.`, metaArgumentNode);
71
+ context.debug(`Expected a meta-type but got a '${combinatorMetaargumentString}' statement.`, metaArgumentNode);
87
72
  } else {
88
- const verifiedAhead = verifyAhead();
73
+ const combinatorMetaTypeTerminalNode = metaTypeTerminalNodeQuery(combinatorMetaTYpeNode),
74
+ content = combinatorMetaTypeTerminalNode.getContent(),
75
+ contentStatementMetaType = (content === STATEMENT_META_TYPE);
76
+
77
+ if (!contentStatementMetaType) {
78
+ context.debug(`Expected the meta-type of the combinator to be '${STATEMENT_META_TYPE}' but got '${content}' instead.`, metaArgumentNode);
79
+ } else {
80
+ const verifiedAhead = verifyAhead();
89
81
 
90
- metaArgumentVerified = verifiedAhead; ///
82
+ metaArgumentNodeVerified = verifiedAhead; ///
83
+ }
91
84
  }
92
85
  }
93
- }
94
86
 
95
- if (metaArgumentVerified) {
96
- context.debug(`...verified the '${metaArgumentString}' metaargument.`, metaArgumentNode);
87
+ return metaArgumentNodeVerified;
97
88
  }
98
-
99
- return metaArgumentVerified;
100
89
  }
90
+
91
+ const statementNodesVerifier = new StatementNodesVerifier();
92
+
93
+ export default statementNodesVerifier;
@@ -21,8 +21,7 @@ class TermNodesVerifier extends NodesVerifier {
21
21
  case ARGUMENT_RULE_NAME: {
22
22
  const argumentNode = nonTerminalNode, ///
23
23
  constructorArgumentNode = constructorNonTerminalNode, ///
24
- argumentVerified = verifyArgument(argumentNode, constructorArgumentNode, context, verifyAhead),
25
- argumentNodeVerified = argumentVerified; ///
24
+ argumentNodeVerified = this.verifyArgumentNode(argumentNode, constructorArgumentNode, context, verifyAhead);
26
25
 
27
26
  nonTerminalNodeVerified = argumentNodeVerified; ///
28
27
 
@@ -39,69 +38,64 @@ class TermNodesVerifier extends NodesVerifier {
39
38
 
40
39
  return nonTerminalNodeVerified;
41
40
  }
42
- }
43
-
44
- const termNodesVerifier = new TermNodesVerifier();
45
-
46
- export default termNodesVerifier;
47
-
48
- export function verifyArgument(argumentNode, constructorArgumentNode, context, verifyAhead) {
49
- let argumentVerified = false;
50
41
 
51
- const argumentString = context.nodeAsString(argumentNode);
42
+ verifyArgumentNode(argumentNode, constructorArgumentNode, context, verifyAhead) {
43
+ let argumentNodeVerified = false;
52
44
 
53
- context.trace(`Verifying the '${argumentString}' argument...`, argumentNode);
45
+ const argumentString = context.nodeAsString(argumentNode);
54
46
 
55
- const typeNode = typeNodeQuery(argumentNode);
47
+ const typeNode = typeNodeQuery(argumentNode);
56
48
 
57
- if (typeNode !== null) {
58
- context.debug(`The '${argumentString}' argument should be a term, not a type.`, argumentNode);
59
- } else {
60
- const termNode = termNodeQuery(argumentNode);
49
+ if (typeNode !== null) {
50
+ context.debug(`The '${argumentString}' argument should be a term, not a type.`, argumentNode);
51
+ } else {
52
+ const termNode = termNodeQuery(argumentNode);
61
53
 
62
- if (!argumentVerified) {
63
- const constructorTermNode = termNodeQuery(constructorArgumentNode);
54
+ if (!argumentNodeVerified) {
55
+ const constructorTermNode = termNodeQuery(constructorArgumentNode);
64
56
 
65
- if (constructorTermNode !== null) {
66
- const node = termNode, ///
67
- constructorNode = constructorTermNode, ///
68
- nodeVerified = this.verifyNode(node, constructorNode, context, verifyAhead);
57
+ if (constructorTermNode !== null) {
58
+ const node = termNode, ///
59
+ constructorNode = constructorTermNode, ///
60
+ nodeVerified = this.verifyNode(node, constructorNode, context, verifyAhead);
69
61
 
70
- argumentVerified = nodeVerified; ///
62
+ argumentNodeVerified = nodeVerified; ///
63
+ }
71
64
  }
72
- }
73
65
 
74
- if (!argumentVerified) {
75
- const constructorTypeNode = typeNodeQuery(constructorArgumentNode);
66
+ if (!argumentNodeVerified) {
67
+ const constructorTypeNode = typeNodeQuery(constructorArgumentNode);
76
68
 
77
- if (constructorTypeNode !== null) {
78
- const { verifyTerm } = termNodesVerifier,
79
- terms = [],
80
- termVerified = verifyTerm(termNode, terms, context, () => {
81
- let verifiedAhead = false;
69
+ if (constructorTypeNode !== null) {
70
+ const { verifyTerm } = termNodesVerifier,
71
+ terms = [],
72
+ termVerified = verifyTerm(termNode, terms, context, () => {
73
+ let verifiedAhead = false;
82
74
 
83
- const constructorTypeName = typeNameFromTypeNode(constructorTypeNode),
84
- firstTerm = first(terms),
85
- term = firstTerm, ///
86
- termType = term.getType(),
87
- constructorType = context.findTypeByTypeName(constructorTypeName),
88
- termTypeEqualToOrSubTypeOfType = termType.isEqualToOrSubTypeOf(constructorType);
75
+ const constructorTypeName = typeNameFromTypeNode(constructorTypeNode),
76
+ firstTerm = first(terms),
77
+ term = firstTerm, ///
78
+ termType = term.getType(),
79
+ constructorType = context.findTypeByTypeName(constructorTypeName),
80
+ termTypeEqualToOrSubTypeOfType = termType.isEqualToOrSubTypeOf(constructorType);
89
81
 
90
- if (termTypeEqualToOrSubTypeOfType) {
91
- verifiedAhead = verifyAhead();
92
- }
82
+ if (termTypeEqualToOrSubTypeOfType) {
83
+ verifiedAhead = verifyAhead();
84
+ }
93
85
 
94
- return verifiedAhead;
95
- });
86
+ return verifiedAhead;
87
+ });
96
88
 
97
- argumentVerified = termVerified; ///
89
+ argumentNodeVerified = termVerified; ///
90
+ }
98
91
  }
99
92
  }
100
- }
101
93
 
102
- if (argumentVerified) {
103
- context.debug(`...verified the '${argumentString}' argument.`, argumentNode);
94
+ return argumentNodeVerified;
104
95
  }
105
-
106
- return argumentVerified;
107
96
  }
97
+
98
+ const termNodesVerifier = new TermNodesVerifier();
99
+
100
+ export default termNodesVerifier;
101
+
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ import { terminalNodeMapFromNodes, areTerminalNodeMapsEqual } from "../utilities/terminalNodes";
4
+
3
5
  export default class NodesVerifier {
4
6
  verifyNode(nodeA, nodeB, ...remainingArguments) {
5
7
  let nodeVerified = false;
@@ -35,15 +37,51 @@ export default class NodesVerifier {
35
37
  childNodesBLength = childNodesB.length;
36
38
 
37
39
  if (childNodesALength === childNodesBLength) {
38
- const index = 0,
39
- childNodesVerifyAhead = this.verifyChildNodesAhead(index, childNodesA, childNodesB, ...remainingArguments);
40
+ const childTerminalNodeMapA = terminalNodeMapFromNodes(childNodesA),
41
+ childTerminalNodeMapB = terminalNodeMapFromNodes(childNodesB),
42
+ terminalNodeMapsEqual = areTerminalNodeMapsEqual(childTerminalNodeMapA, childTerminalNodeMapB);
43
+
44
+ if (terminalNodeMapsEqual) {
45
+ const index = 0,
46
+ childNodesVerifyAhead = this.verifyChildNodesAhead(index, childNodesA, childNodesB, ...remainingArguments);
40
47
 
41
- childNodesVerify = childNodesVerifyAhead; ///
48
+ childNodesVerify = childNodesVerifyAhead; ///
49
+ }
42
50
  }
43
51
 
44
52
  return childNodesVerify;
45
53
  }
46
54
 
55
+ verifyTerminalNode(terminalNodeA, terminalNodeB, ...remainingArguments) { ///
56
+ let terminalNodeVerified;
57
+
58
+ const verifyAhead = remainingArguments.pop(),
59
+ verifiedAhead = verifyAhead();
60
+
61
+ terminalNodeVerified = verifiedAhead; ///
62
+
63
+ return terminalNodeVerified;
64
+ }
65
+
66
+ verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, ...remainingArguments) {
67
+ let nonTerminalNodeVerified = false;
68
+
69
+ const nonTerminalNodeARuleName = nonTerminalNodeA.getRuleName(), ///
70
+ nonTerminalNodeBRuleName = nonTerminalNodeB.getRuleName(); ///
71
+
72
+ if (nonTerminalNodeARuleName === nonTerminalNodeBRuleName) {
73
+ const nonTerminalNodeAChildNodes = nonTerminalNodeA.getChildNodes(),
74
+ nonTerminalNodeBChildNodes = nonTerminalNodeB.getChildNodes(),
75
+ childNodesA = nonTerminalNodeAChildNodes, ///
76
+ childNodesB = nonTerminalNodeBChildNodes, ///
77
+ childNodesVerify = this.verifyChildNodes(childNodesA, childNodesB, ...remainingArguments);
78
+
79
+ nonTerminalNodeVerified = childNodesVerify; ///
80
+ }
81
+
82
+ return nonTerminalNodeVerified;
83
+ }
84
+
47
85
  verifyChildNodesAhead(index, childNodesA, childNodesB, ...remainingArguments) {
48
86
  let childNodesVerify;
49
87
 
@@ -60,11 +98,10 @@ export default class NodesVerifier {
60
98
  nodeA = childNodeA, ///
61
99
  nodeB = childNodeB, ///
62
100
  nodeVerified = this.verifyNode(nodeA, nodeB, ...remainingArguments, () => {
63
- index++;
64
-
65
101
  remainingArguments.push(verifyAhead); ///
66
102
 
67
- const childNodesVerifyAhead = this.verifyChildNodesAhead(index, childNodesA, childNodesB, ...remainingArguments);
103
+ const aheadIndex = index + 1,
104
+ childNodesVerifyAhead = this.verifyChildNodesAhead(aheadIndex, childNodesA, childNodesB, ...remainingArguments);
68
105
 
69
106
  return childNodesVerifyAhead;
70
107
  });
@@ -74,38 +111,4 @@ export default class NodesVerifier {
74
111
 
75
112
  return childNodesVerify;
76
113
  }
77
-
78
- verifyTerminalNode(terminalNodeA, terminalNodeB, ...remainingArguments) {
79
- let terminalNodeVerified = false;
80
-
81
- const matches = terminalNodeA.match(terminalNodeB);
82
-
83
- if (matches) {
84
- const verifyAhead = remainingArguments.pop(),
85
- verifiedAhead = verifyAhead();
86
-
87
- terminalNodeVerified = verifiedAhead; ///
88
- }
89
-
90
- return terminalNodeVerified;
91
- }
92
-
93
- verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, ...remainingArguments) {
94
- let nonTerminalNodeVerified = false;
95
-
96
- const nonTerminalNodeARuleName = nonTerminalNodeA.getRuleName(), ///
97
- nonTerminalNodeBRuleName = nonTerminalNodeB.getRuleName(); ///
98
-
99
- if (nonTerminalNodeARuleName === nonTerminalNodeBRuleName) {
100
- const nonTerminalNodeAChildNodes = nonTerminalNodeA.getChildNodes(),
101
- nonTerminalNodeBChildNodes = nonTerminalNodeB.getChildNodes(),
102
- childNodesA = nonTerminalNodeAChildNodes, ///
103
- childNodesB = nonTerminalNodeBChildNodes, ///
104
- childNodesVerify = this.verifyChildNodes(childNodesA, childNodesB, ...remainingArguments);
105
-
106
- nonTerminalNodeVerified = childNodesVerify; ///
107
- }
108
-
109
- return nonTerminalNodeVerified;
110
- }
111
114
  }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ export default function verifyGivenVariable(variableNode, variables, context, verifyAhead) {
4
+ let givenVariableVerified = false;
5
+
6
+ const variableString = context.nodeAsString(variableNode);
7
+
8
+ context.trace(`Verifying the '${variableString}' given variable...`, variableNode);
9
+
10
+ const variable = context.findVariableByVariableNode(variableNode);
11
+
12
+ if (variable !== null) {
13
+ let verifiedAhead;
14
+
15
+ variables.push(variable);
16
+
17
+ verifiedAhead = verifyAhead();
18
+
19
+ if (!verifiedAhead) {
20
+ variables.pop();
21
+ }
22
+
23
+ givenVariableVerified = verifiedAhead; ///
24
+ }
25
+
26
+ if (givenVariableVerified) {
27
+ context.debug(`...verified the '${variableString}' given variable.`, variableNode);
28
+ }
29
+
30
+ return givenVariableVerified;
31
+ }
@@ -2,9 +2,12 @@
2
2
 
3
3
  import Term from "../term";
4
4
  import termNodesVerifier from "../verifier/nodes/term";
5
- import verifyTermAsGivenVariable from "../verify/termAsGivenVariable";
5
+ import verifyGivenVariable from "../verify/givenVariable";
6
6
 
7
7
  import { first } from "../utilities/array";
8
+ import { nodeQuery } from "../utilities/query";
9
+
10
+ const variableNodeQuery = nodeQuery("/term/variable!");
8
11
 
9
12
  function verifyTerm(termNode, terms, context, verifyAhead) {
10
13
  let termVerified;
@@ -60,53 +63,61 @@ Object.assign(termNodesVerifier, {
60
63
  export default verifyTerm;
61
64
 
62
65
  function verifyTermAsVariable(termNode, terms, context, verifyAhead) {
63
- let termVerifiedAsVariable;
66
+ let termVerifiedAsVariable = false;
64
67
 
65
- const termString = context.nodeAsString(termNode);
68
+ const variableNode = variableNodeQuery(termNode);
66
69
 
67
- context.trace(`Verifying the '${termString}' term as a variable...`, termNode);
70
+ if (variableNode !== null) {
71
+ const termString = context.nodeAsString(termNode);
68
72
 
69
- const variables = [],
70
- termVerifiedAsGivenVariable = verifyTermAsGivenVariable(termNode, variables, context, () => {
71
- let verifiedAhead;
73
+ context.trace(`Verifying the '${termString}' term as a variable...`, termNode);
72
74
 
73
- const firstVariable = first(variables),
74
- variable = firstVariable, ///
75
- type = variable.getType(),
76
- term = Term.fromTermNodeAndType(termNode, type);
75
+ const variables = [],
76
+ givenVariableVerified = verifyGivenVariable(variableNode, variables, context, () => {
77
+ let verifiedAhead;
77
78
 
78
- terms.push(term);
79
+ const firstVariable = first(variables),
80
+ variable = firstVariable, ///
81
+ type = variable.getType(),
82
+ term = Term.fromTermNodeAndType(termNode, type);
79
83
 
80
- verifiedAhead = verifyAhead();
84
+ terms.push(term);
81
85
 
82
- if (!verifiedAhead) {
83
- terms.pop();
84
- }
86
+ verifiedAhead = verifyAhead();
85
87
 
86
- return verifiedAhead;
87
- });
88
+ if (!verifiedAhead) {
89
+ terms.pop();
90
+ }
91
+
92
+ return verifiedAhead;
93
+ });
88
94
 
89
- termVerifiedAsVariable = termVerifiedAsGivenVariable; ///
95
+ termVerifiedAsVariable = givenVariableVerified; ///
90
96
 
91
- if (termVerifiedAsVariable) {
92
- context.debug(`...verified the '${termString}' term as a variable.`, termNode);
97
+ if (termVerifiedAsVariable) {
98
+ context.debug(`...verified the '${termString}' term as a variable.`, termNode);
99
+ }
93
100
  }
94
101
 
95
102
  return termVerifiedAsVariable;
96
103
  }
97
104
 
98
105
  function verifyTermAgainstConstructors(termNode, terms, context, verifyAhead) {
99
- let termVerifiedAgainstConstructors;
106
+ let termVerifiedAgainstConstructors = false;
100
107
 
101
- const constructors = context.getConstructors();
108
+ const variableNode = variableNodeQuery(termNode);
102
109
 
103
- termVerifiedAgainstConstructors = constructors.some((constructor) => {
104
- const termVerifiedAgainstConstructor = verifyTermAgainstConstructor(termNode, terms, constructor, context, verifyAhead);
110
+ if (variableNode === null) {
111
+ const constructors = context.getConstructors();
105
112
 
106
- if (termVerifiedAgainstConstructor) {
107
- return true;
108
- }
109
- });
113
+ termVerifiedAgainstConstructors = constructors.some((constructor) => {
114
+ const termVerifiedAgainstConstructor = verifyTermAgainstConstructor(termNode, terms, constructor, context, verifyAhead);
115
+
116
+ if (termVerifiedAgainstConstructor) {
117
+ return true;
118
+ }
119
+ });
120
+ }
110
121
 
111
122
  return termVerifiedAgainstConstructors;
112
123
  }
@@ -1,36 +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 verifyTermAsGivenVariable;
9
- }
10
- });
11
- var _query = require("../utilities/query");
12
- var variableNodeQuery = (0, _query.nodeQuery)("/term/variable!");
13
- function verifyTermAsGivenVariable(termNode, variables, context, verifyAhead) {
14
- var termVerifiedAsVariable = false;
15
- var variableNode = variableNodeQuery(termNode);
16
- if (variableNode !== null) {
17
- var termString = context.nodeAsString(termNode);
18
- context.trace("Verifying the '".concat(termString, "' term as a given variable..."), termNode);
19
- var variable = context.findVariableByVariableNode(variableNode);
20
- if (variable !== null) {
21
- var verifiedAhead;
22
- variables.push(variable);
23
- verifiedAhead = verifyAhead();
24
- if (!verifiedAhead) {
25
- variables.pop();
26
- }
27
- termVerifiedAsVariable = verifiedAhead; ///
28
- }
29
- if (termVerifiedAsVariable) {
30
- context.debug("...verified the '".concat(termString, "' term as a given variable."), termNode);
31
- }
32
- }
33
- return termVerifiedAsVariable;
34
- }
35
-
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdGVybUFzR2l2ZW5WYXJpYWJsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCB2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90ZXJtL3ZhcmlhYmxlIVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5VGVybUFzR2l2ZW5WYXJpYWJsZSh0ZXJtTm9kZSwgdmFyaWFibGVzLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICBsZXQgdGVybVZlcmlmaWVkQXNWYXJpYWJsZSA9IGZhbHNlO1xuXG4gIGNvbnN0IHZhcmlhYmxlTm9kZSA9IHZhcmlhYmxlTm9kZVF1ZXJ5KHRlcm1Ob2RlKTtcblxuICBpZiAodmFyaWFibGVOb2RlICE9PSBudWxsKSB7XG4gICAgY29uc3QgdGVybVN0cmluZyA9IGNvbnRleHQubm9kZUFzU3RyaW5nKHRlcm1Ob2RlKTtcblxuICAgIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7dGVybVN0cmluZ30nIHRlcm0gYXMgYSBnaXZlbiB2YXJpYWJsZS4uLmAsIHRlcm1Ob2RlKTtcblxuICAgIGNvbnN0IHZhcmlhYmxlID0gY29udGV4dC5maW5kVmFyaWFibGVCeVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUpO1xuXG4gICAgaWYgKHZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgICBsZXQgdmVyaWZpZWRBaGVhZDtcblxuICAgICAgdmFyaWFibGVzLnB1c2godmFyaWFibGUpO1xuXG4gICAgICB2ZXJpZmllZEFoZWFkID0gdmVyaWZ5QWhlYWQoKTtcblxuICAgICAgaWYgKCF2ZXJpZmllZEFoZWFkKSB7XG4gICAgICAgIHZhcmlhYmxlcy5wb3AoKTtcbiAgICAgIH1cblxuICAgICAgdGVybVZlcmlmaWVkQXNWYXJpYWJsZSA9IHZlcmlmaWVkQWhlYWQ7IC8vL1xuICAgIH1cblxuICAgIGlmICh0ZXJtVmVyaWZpZWRBc1ZhcmlhYmxlKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dGVybVN0cmluZ30nIHRlcm0gYXMgYSBnaXZlbiB2YXJpYWJsZS5gLCB0ZXJtTm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRlcm1WZXJpZmllZEFzVmFyaWFibGU7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5VGVybUFzR2l2ZW5WYXJpYWJsZSIsInZhcmlhYmxlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidGVybU5vZGUiLCJ2YXJpYWJsZXMiLCJjb250ZXh0IiwidmVyaWZ5QWhlYWQiLCJ0ZXJtVmVyaWZpZWRBc1ZhcmlhYmxlIiwidmFyaWFibGVOb2RlIiwidGVybVN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwidmFyaWFibGUiLCJmaW5kVmFyaWFibGVCeVZhcmlhYmxlTm9kZSIsInZlcmlmaWVkQWhlYWQiLCJwdXNoIiwicG9wIiwiZGVidWciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU1BOzs7ZUFBd0JBOzs7cUJBSkU7QUFFMUIsSUFBTUMsb0JBQW9CQyxJQUFBQSxnQkFBUyxFQUFDO0FBRXJCLFNBQVNGLDBCQUEwQkcsUUFBUSxFQUFFQyxTQUFTLEVBQUVDLE9BQU8sRUFBRUMsV0FBVztJQUN6RixJQUFJQyx5QkFBeUI7SUFFN0IsSUFBTUMsZUFBZVAsa0JBQWtCRTtJQUV2QyxJQUFJSyxpQkFBaUIsTUFBTTtRQUN6QixJQUFNQyxhQUFhSixRQUFRSyxZQUFZLENBQUNQO1FBRXhDRSxRQUFRTSxLQUFLLENBQUMsQUFBQyxrQkFBNEIsT0FBWEYsWUFBVyxrQ0FBZ0NOO1FBRTNFLElBQU1TLFdBQVdQLFFBQVFRLDBCQUEwQixDQUFDTDtRQUVwRCxJQUFJSSxhQUFhLE1BQU07WUFDckIsSUFBSUU7WUFFSlYsVUFBVVcsSUFBSSxDQUFDSDtZQUVmRSxnQkFBZ0JSO1lBRWhCLElBQUksQ0FBQ1EsZUFBZTtnQkFDbEJWLFVBQVVZLEdBQUc7WUFDZjtZQUVBVCx5QkFBeUJPLGVBQWUsR0FBRztRQUM3QztRQUVBLElBQUlQLHdCQUF3QjtZQUMxQkYsUUFBUVksS0FBSyxDQUFDLEFBQUMsb0JBQThCLE9BQVhSLFlBQVcsZ0NBQThCTjtRQUM3RTtJQUNGO0lBRUEsT0FBT0k7QUFDVCJ9
@@ -1,39 +0,0 @@
1
- "use strict";
2
-
3
- import { nodeQuery } from "../utilities/query";
4
-
5
- const variableNodeQuery = nodeQuery("/term/variable!");
6
-
7
- export default function verifyTermAsGivenVariable(termNode, variables, context, verifyAhead) {
8
- let termVerifiedAsVariable = false;
9
-
10
- const variableNode = variableNodeQuery(termNode);
11
-
12
- if (variableNode !== null) {
13
- const termString = context.nodeAsString(termNode);
14
-
15
- context.trace(`Verifying the '${termString}' term as a given variable...`, termNode);
16
-
17
- const variable = context.findVariableByVariableNode(variableNode);
18
-
19
- if (variable !== null) {
20
- let verifiedAhead;
21
-
22
- variables.push(variable);
23
-
24
- verifiedAhead = verifyAhead();
25
-
26
- if (!verifiedAhead) {
27
- variables.pop();
28
- }
29
-
30
- termVerifiedAsVariable = verifiedAhead; ///
31
- }
32
-
33
- if (termVerifiedAsVariable) {
34
- context.debug(`...verified the '${termString}' term as a given variable.`, termNode);
35
- }
36
- }
37
-
38
- return termVerifiedAsVariable;
39
- }