occam-verify-cli 0.0.1065 → 0.0.1066
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/combinator/bracketed.js +135 -0
- package/lib/constants.js +3 -3
- package/lib/constructor/bracketed.js +30 -11
- package/lib/context/file.js +39 -3
- package/lib/context/local.js +59 -7
- package/lib/mixins/statement/unify.js +2 -2
- package/lib/mixins/statement/verify.js +6 -6
- package/lib/ruleNames.js +1 -5
- package/lib/statement.js +28 -20
- package/lib/substitution/frameForMetavariable.js +17 -2
- package/lib/substitution/termForVariable.js +20 -2
- package/lib/unifier/metaLevel.js +3 -4
- package/lib/utilities/brackets.js +5 -10
- package/lib/utilities/node.js +29 -15
- package/lib/utilities/string.js +34 -16
- package/lib/utilities/tokens.js +16 -8
- package/package.json +1 -1
- package/src/combinator/bracketed.js +49 -0
- package/src/constants.js +2 -2
- package/src/constructor/bracketed.js +32 -9
- package/src/context/file.js +35 -5
- package/src/context/local.js +64 -7
- package/src/mixins/statement/unify.js +1 -1
- package/src/mixins/statement/verify.js +7 -6
- package/src/ruleNames.js +0 -1
- package/src/statement.js +52 -37
- package/src/substitution/frameForMetavariable.js +26 -1
- package/src/substitution/termForVariable.js +30 -1
- package/src/unifier/metaLevel.js +2 -3
- package/src/utilities/brackets.js +2 -3
- package/src/utilities/node.js +30 -22
- package/src/utilities/string.js +39 -23
- package/src/utilities/tokens.js +17 -8
- package/lib/node/statement/bracketed.js +0 -16
- package/lib/node/statement/combinator/bracketed.js +0 -25
- package/lib/node/term/bracketed.js +0 -16
- package/lib/node/term/constructor/bracketed.js +0 -25
- package/lib/ocmbinator/bracketed.js +0 -157
- package/lib/substitution/statement.js +0 -163
- package/lib/verifier/substitution.js +0 -161
- package/src/node/statement/bracketed.js +0 -9
- package/src/node/statement/combinator/bracketed.js +0 -10
- package/src/node/term/bracketed.js +0 -9
- package/src/node/term/constructor/bracketed.js +0 -10
- package/src/ocmbinator/bracketed.js +0 -26
- package/src/substitution/statement.js +0 -81
- package/src/verifier/substitution.js +0 -75
package/lib/utilities/node.js
CHANGED
|
@@ -12,6 +12,9 @@ _export(exports, {
|
|
|
12
12
|
constructorDeclarationNodeFromConstructorDeclarationTokens: function() {
|
|
13
13
|
return constructorDeclarationNodeFromConstructorDeclarationTokens;
|
|
14
14
|
},
|
|
15
|
+
constructorDeclarationStringFromTermString: function() {
|
|
16
|
+
return constructorDeclarationStringFromTermString;
|
|
17
|
+
},
|
|
15
18
|
metavariableNodeFromMetavariableString: function() {
|
|
16
19
|
return metavariableNodeFromMetavariableString;
|
|
17
20
|
},
|
|
@@ -21,11 +24,11 @@ _export(exports, {
|
|
|
21
24
|
statementNodeFromStatementString: function() {
|
|
22
25
|
return statementNodeFromStatementString;
|
|
23
26
|
},
|
|
24
|
-
|
|
25
|
-
return
|
|
27
|
+
statementNodeFromUnqualifiedStatementNode: function() {
|
|
28
|
+
return statementNodeFromUnqualifiedStatementNode;
|
|
26
29
|
},
|
|
27
|
-
|
|
28
|
-
return
|
|
30
|
+
termNodeFromConstructorDeclarationNode: function() {
|
|
31
|
+
return termNodeFromConstructorDeclarationNode;
|
|
29
32
|
},
|
|
30
33
|
termNodeFromTermString: function() {
|
|
31
34
|
return termNodeFromTermString;
|
|
@@ -33,6 +36,9 @@ _export(exports, {
|
|
|
33
36
|
unqualifiedStatementNodeFromUnqualifiedStatementTokens: function() {
|
|
34
37
|
return unqualifiedStatementNodeFromUnqualifiedStatementTokens;
|
|
35
38
|
},
|
|
39
|
+
unqualifiedStatementStringFromStatementString: function() {
|
|
40
|
+
return unqualifiedStatementStringFromStatementString;
|
|
41
|
+
},
|
|
36
42
|
variableNodeFromVariableString: function() {
|
|
37
43
|
return variableNodeFromVariableString;
|
|
38
44
|
},
|
|
@@ -49,7 +55,7 @@ var nominalParserFromCombinedCustomGrammar = _occamcustomgrammars.parsersUtiliti
|
|
|
49
55
|
var combinedCustomGrammar = (0, _customGrammar.combinedCustomGrammarFromNothing)(), nominalParser = nominalParserFromCombinedCustomGrammar(combinedCustomGrammar);
|
|
50
56
|
var termNodeQuery = (0, _query.nodeQuery)("/constructorDeclaration/term"), statementNodeQuery = (0, _query.nodeQuery)("/unqualifiedStatement/statement");
|
|
51
57
|
function termNodeFromTermString(termString, lexer, parser) {
|
|
52
|
-
var constructorDeclarationString =
|
|
58
|
+
var constructorDeclarationString = constructorDeclarationStringFromTermString(termString), constructorDeclarationTokens = (0, _tokens.constructorDeclarationTokensFromConstructorDeclarationString)(constructorDeclarationString, lexer), constructorDeclarationNode = constructorDeclarationNodeFromConstructorDeclarationTokens(constructorDeclarationTokens, parser), termNode = termNodeFromConstructorDeclarationNode(constructorDeclarationNode);
|
|
53
59
|
return termNode;
|
|
54
60
|
}
|
|
55
61
|
function variableNodeFromVariableString(variableString, lexer, parser) {
|
|
@@ -57,17 +63,29 @@ function variableNodeFromVariableString(variableString, lexer, parser) {
|
|
|
57
63
|
return variableNode;
|
|
58
64
|
}
|
|
59
65
|
function statementNodeFromStatementString(statementString, lexer, parser) {
|
|
60
|
-
var unqualifiedStatementString =
|
|
66
|
+
var unqualifiedStatementString = unqualifiedStatementStringFromStatementString(statementString), unqualifiedStatementTokens = (0, _tokens.unqualifiedStatementTokensFromUnqualifiedStatementString)(unqualifiedStatementString, lexer), unqualifiedStatementNode = unqualifiedStatementNodeFromUnqualifiedStatementTokens(unqualifiedStatementTokens, parser), statementNode = statementNodeFromUnqualifiedStatementNode(unqualifiedStatementNode);
|
|
67
|
+
return statementNode;
|
|
68
|
+
}
|
|
69
|
+
function termNodeFromConstructorDeclarationNode(constructorDeclarationNode) {
|
|
70
|
+
var termNode = termNodeQuery(constructorDeclarationNode, constructorDeclarationNode);
|
|
71
|
+
return termNode;
|
|
72
|
+
}
|
|
73
|
+
function statementNodeFromUnqualifiedStatementNode(unqualifiedStatementNode) {
|
|
74
|
+
var statementNode = statementNodeQuery(unqualifiedStatementNode);
|
|
61
75
|
return statementNode;
|
|
62
76
|
}
|
|
77
|
+
function constructorDeclarationStringFromTermString(termString) {
|
|
78
|
+
var constructorDeclarationString = "Constructor ".concat(termString, "\n");
|
|
79
|
+
return constructorDeclarationString;
|
|
80
|
+
}
|
|
81
|
+
function unqualifiedStatementStringFromStatementString(statementString) {
|
|
82
|
+
var unqualifiedStatementString = "".concat(statementString, "\n");
|
|
83
|
+
return unqualifiedStatementString;
|
|
84
|
+
}
|
|
63
85
|
function metavariableNodeFromMetavariableString(metavariableString, lexer, parser) {
|
|
64
86
|
var metavariableTokens = (0, _tokens.metavariableTokensFromMetavariableString)(metavariableString, lexer), metavariableNode = metavariableNodeFromMetavariableTokens(metavariableTokens, parser);
|
|
65
87
|
return metavariableNode;
|
|
66
88
|
}
|
|
67
|
-
function substitutionNodeFromSubstitutionString(substitutionString, lexer, parser) {
|
|
68
|
-
var substitutionTokens = (0, _tokens.substitutionTokensFromSubstitutionString)(substitutionString, lexer), substitutionNode = substitutionNodeFromSubstitutionTokens(substitutionTokens, parser);
|
|
69
|
-
return substitutionNode;
|
|
70
|
-
}
|
|
71
89
|
function variableNodeFromVariableTokens(variableTokens, parser) {
|
|
72
90
|
var ruleName = _ruleNames.VARIABLE_RULE_NAME, variableNode = nodeFromTokensRuleNameAndParser(variableTokens, ruleName, parser);
|
|
73
91
|
return variableNode;
|
|
@@ -76,10 +94,6 @@ function metavariableNodeFromMetavariableTokens(metavariableTokens, parser) {
|
|
|
76
94
|
var ruleName = _ruleNames.METAVARIABLE_RULE_NAME, metavariableNode = nodeFromTokensRuleNameAndParser(metavariableTokens, ruleName, parser);
|
|
77
95
|
return metavariableNode;
|
|
78
96
|
}
|
|
79
|
-
function substitutionNodeFromSubstitutionTokens(substitutionTokens, parser) {
|
|
80
|
-
var ruleName = _ruleNames.SUBSTITUTION_RULE_NAME, substitutionNode = nodeFromTokensRuleNameAndParser(substitutionTokens, ruleName, parser);
|
|
81
|
-
return substitutionNode;
|
|
82
|
-
}
|
|
83
97
|
function unqualifiedStatementNodeFromUnqualifiedStatementTokens(unqualifiedStatementTokens, parser) {
|
|
84
98
|
var tokens = unqualifiedStatementTokens, ruleName = _ruleNames.UNQUALIFIED_STATEMENT_RULE_NAME, unqualifiedStatementNode = nodeFromTokensRuleNameAndParser(tokens, ruleName, parser);
|
|
85
99
|
return unqualifiedStatementNode;
|
|
@@ -94,4 +108,4 @@ function nodeFromTokensRuleNameAndParser(tokens, ruleName) {
|
|
|
94
108
|
return node;
|
|
95
109
|
}
|
|
96
110
|
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgcGFyc2Vyc1V0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1jdXN0b20tZ3JhbW1hcnNcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgY29tYmluZWRDdXN0b21HcmFtbWFyRnJvbU5vdGhpbmcgfSBmcm9tIFwiLi9jdXN0b21HcmFtbWFyXCI7XG5pbXBvcnQgeyBWQVJJQUJMRV9SVUxFX05BTUUsXG4gICAgICAgICBNRVRBVkFSSUFCTEVfUlVMRV9OQU1FLFxuICAgICAgICAgU1VCU1RJVFVUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIFVOUVVBTElGSUVEX1NUQVRFTUVOVF9SVUxFX05BTUUsXG4gICAgICAgICBDT05TVFJVQ1RPUl9ERUNMQVJBVElPTl9SVUxFX05BTUUgfSBmcm9tIFwiLi4vcnVsZU5hbWVzXCI7XG5pbXBvcnQgeyB2YXJpYWJsZVRva2Vuc0Zyb21WYXJpYWJsZVN0cmluZyxcbiAgICAgICAgIG1ldGF2YXJpYWJsZVRva2Vuc0Zyb21NZXRhdmFyaWFibGVTdHJpbmcsXG4gICAgICAgICBzdWJzdGl0dXRpb25Ub2tlbnNGcm9tU3Vic3RpdHV0aW9uU3RyaW5nLFxuICAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnNGcm9tVW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcsXG4gICAgICAgICBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zRnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25TdHJpbmcgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3Rva2Vuc1wiO1xuXG5jb25zdCB7IG5vbWluYWxQYXJzZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyIH0gPSBwYXJzZXJzVXRpbGl0aWVzO1xuXG5jb25zdCBjb21iaW5lZEN1c3RvbUdyYW1tYXIgPSBjb21iaW5lZEN1c3RvbUdyYW1tYXJGcm9tTm90aGluZygpLFxuICAgICAgbm9taW5hbFBhcnNlciA9IG5vbWluYWxQYXJzZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyKGNvbWJpbmVkQ3VzdG9tR3JhbW1hcik7XG5cbmNvbnN0IHRlcm1Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvY29uc3RydWN0b3JEZWNsYXJhdGlvbi90ZXJtXCIpLFxuICAgICAgc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3VucXVhbGlmaWVkU3RhdGVtZW50L3N0YXRlbWVudFwiKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHRlcm1Ob2RlRnJvbVRlcm1TdHJpbmcodGVybVN0cmluZywgbGV4ZXIsIHBhcnNlcikge1xuICBjb25zdCBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uU3RyaW5nID0gYENvbnN0cnVjdG9yICR7dGVybVN0cmluZ31cbmAsXG4gICAgICAgIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ub2tlbnMgPSBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zRnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25TdHJpbmcoY29uc3RydWN0b3JEZWNsYXJhdGlvblN0cmluZywgbGV4ZXIpLFxuICAgICAgICBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSA9IGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlRnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ub2tlbnMoY29uc3RydWN0b3JEZWNsYXJhdGlvblRva2VucywgcGFyc2VyKSxcbiAgICAgICAgdGVybU5vZGUgPSB0ZXJtTm9kZVF1ZXJ5KGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlLCBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSk7XG5cbiAgcmV0dXJuIHRlcm1Ob2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFyaWFibGVOb2RlRnJvbVZhcmlhYmxlU3RyaW5nKHZhcmlhYmxlU3RyaW5nLCBsZXhlciwgcGFyc2VyKSB7XG4gIGNvbnN0IHZhcmlhYmxlVG9rZW5zID0gdmFyaWFibGVUb2tlbnNGcm9tVmFyaWFibGVTdHJpbmcodmFyaWFibGVTdHJpbmcsIGxleGVyKSxcbiAgICAgICAgdmFyaWFibGVOb2RlID0gdmFyaWFibGVOb2RlRnJvbVZhcmlhYmxlVG9rZW5zKHZhcmlhYmxlVG9rZW5zLCBwYXJzZXIpO1xuXG4gIHJldHVybiB2YXJpYWJsZU5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdGF0ZW1lbnROb2RlRnJvbVN0YXRlbWVudFN0cmluZyhzdGF0ZW1lbnRTdHJpbmcsIGxleGVyLCBwYXJzZXIpIHtcbiAgY29uc3QgdW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcgPSBgJHtzdGF0ZW1lbnRTdHJpbmd9XG5gLFxuICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudFRva2VucyA9IHVucXVhbGlmaWVkU3RhdGVtZW50VG9rZW5zRnJvbVVucXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nKHVucXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nLCBsZXhlciksXG4gICAgICAgIHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSA9IHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZUZyb21VbnF1YWxpZmllZFN0YXRlbWVudFRva2Vucyh1bnF1YWxpZmllZFN0YXRlbWVudFRva2VucywgcGFyc2VyKSxcbiAgICAgICAgc3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGVRdWVyeSh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUpO1xuXG4gIHJldHVybiBzdGF0ZW1lbnROb2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWV0YXZhcmlhYmxlTm9kZUZyb21NZXRhdmFyaWFibGVTdHJpbmcobWV0YXZhcmlhYmxlU3RyaW5nLCBsZXhlciwgcGFyc2VyKSB7XG4gIGNvbnN0IG1ldGF2YXJpYWJsZVRva2VucyA9IG1ldGF2YXJpYWJsZVRva2Vuc0Zyb21NZXRhdmFyaWFibGVTdHJpbmcobWV0YXZhcmlhYmxlU3RyaW5nLCBsZXhlciksXG4gICAgICAgIG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGVOb2RlRnJvbU1ldGF2YXJpYWJsZVRva2VucyhtZXRhdmFyaWFibGVUb2tlbnMsIHBhcnNlcik7XG5cbiAgcmV0dXJuIG1ldGF2YXJpYWJsZU5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdWJzdGl0dXRpb25Ob2RlRnJvbVN1YnN0aXR1dGlvblN0cmluZyhzdWJzdGl0dXRpb25TdHJpbmcsIGxleGVyLCBwYXJzZXIpIHtcbiAgY29uc3Qgc3Vic3RpdHV0aW9uVG9rZW5zID0gc3Vic3RpdHV0aW9uVG9rZW5zRnJvbVN1YnN0aXR1dGlvblN0cmluZyhzdWJzdGl0dXRpb25TdHJpbmcsIGxleGVyKSxcbiAgICAgICAgc3Vic3RpdHV0aW9uTm9kZSA9IHN1YnN0aXR1dGlvbk5vZGVGcm9tU3Vic3RpdHV0aW9uVG9rZW5zKHN1YnN0aXR1dGlvblRva2VucywgcGFyc2VyKTtcblxuICByZXR1cm4gc3Vic3RpdHV0aW9uTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhcmlhYmxlTm9kZUZyb21WYXJpYWJsZVRva2Vucyh2YXJpYWJsZVRva2VucywgcGFyc2VyKSB7XG4gIGNvbnN0IHJ1bGVOYW1lID0gVkFSSUFCTEVfUlVMRV9OQU1FLFxuICAgICAgICB2YXJpYWJsZU5vZGUgPSBub2RlRnJvbVRva2Vuc1J1bGVOYW1lQW5kUGFyc2VyKHZhcmlhYmxlVG9rZW5zLCBydWxlTmFtZSwgcGFyc2VyKTtcblxuICByZXR1cm4gdmFyaWFibGVOb2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWV0YXZhcmlhYmxlTm9kZUZyb21NZXRhdmFyaWFibGVUb2tlbnMobWV0YXZhcmlhYmxlVG9rZW5zLCBwYXJzZXIpIHtcbiAgY29uc3QgcnVsZU5hbWUgPSBNRVRBVkFSSUFCTEVfUlVMRV9OQU1FLFxuICAgICAgICBtZXRhdmFyaWFibGVOb2RlID0gbm9kZUZyb21Ub2tlbnNSdWxlTmFtZUFuZFBhcnNlcihtZXRhdmFyaWFibGVUb2tlbnMsIHJ1bGVOYW1lLCBwYXJzZXIpO1xuXG4gIHJldHVybiBtZXRhdmFyaWFibGVOb2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3Vic3RpdHV0aW9uTm9kZUZyb21TdWJzdGl0dXRpb25Ub2tlbnMoc3Vic3RpdHV0aW9uVG9rZW5zLCBwYXJzZXIpIHtcbiAgY29uc3QgcnVsZU5hbWUgPSBTVUJTVElUVVRJT05fUlVMRV9OQU1FLFxuICAgICAgICBzdWJzdGl0dXRpb25Ob2RlID0gbm9kZUZyb21Ub2tlbnNSdWxlTmFtZUFuZFBhcnNlcihzdWJzdGl0dXRpb25Ub2tlbnMsIHJ1bGVOYW1lLCBwYXJzZXIpO1xuXG4gIHJldHVybiBzdWJzdGl0dXRpb25Ob2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlRnJvbVVucXVhbGlmaWVkU3RhdGVtZW50VG9rZW5zKHVucXVhbGlmaWVkU3RhdGVtZW50VG9rZW5zLCBwYXJzZXIpIHtcbiAgY29uc3QgdG9rZW5zID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnMsICAvLy9cbiAgICAgICAgcnVsZU5hbWUgPSBVTlFVQUxJRklFRF9TVEFURU1FTlRfUlVMRV9OQU1FLFxuICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSBub2RlRnJvbVRva2Vuc1J1bGVOYW1lQW5kUGFyc2VyKHRva2VucywgcnVsZU5hbWUsIHBhcnNlcik7XG5cbiAgcmV0dXJuIHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlRnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ub2tlbnMoY29uc3RydWN0b3JEZWNsYXJhdGlvblRva2VucywgcGFyc2VyKSB7XG4gIGNvbnN0IHRva2VucyA9IGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ub2tlbnMsICAvLy9cbiAgICAgICAgcnVsZU5hbWUgPSBDT05TVFJVQ1RPUl9ERUNMQVJBVElPTl9SVUxFX05BTUUsXG4gICAgICAgIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlID0gbm9kZUZyb21Ub2tlbnNSdWxlTmFtZUFuZFBhcnNlcih0b2tlbnMsIHJ1bGVOYW1lLCBwYXJzZXIpO1xuXG4gIHJldHVybiBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZTtcbn1cblxuZnVuY3Rpb24gbm9kZUZyb21Ub2tlbnNSdWxlTmFtZUFuZFBhcnNlcih0b2tlbnMsIHJ1bGVOYW1lLCBwYXJzZXIgPSBub21pbmFsUGFyc2VyKSB7XG4gIGNvbnN0IHJ1bGVNYXAgPSBwYXJzZXIuZ2V0UnVsZU1hcCgpLFxuICAgICAgICBydWxlID0gcnVsZU1hcFtydWxlTmFtZV0sXG4gICAgICAgIG5vZGUgPSBwYXJzZXIucGFyc2UodG9rZW5zLCBydWxlKTtcblxuICByZXR1cm4gbm9kZTtcbn1cbiJdLCJuYW1lcyI6WyJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZUZyb21Db25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zIiwibWV0YXZhcmlhYmxlTm9kZUZyb21NZXRhdmFyaWFibGVTdHJpbmciLCJtZXRhdmFyaWFibGVOb2RlRnJvbU1ldGF2YXJpYWJsZVRva2VucyIsInN0YXRlbWVudE5vZGVGcm9tU3RhdGVtZW50U3RyaW5nIiwic3Vic3RpdHV0aW9uTm9kZUZyb21TdWJzdGl0dXRpb25TdHJpbmciLCJzdWJzdGl0dXRpb25Ob2RlRnJvbVN1YnN0aXR1dGlvblRva2VucyIsInRlcm1Ob2RlRnJvbVRlcm1TdHJpbmciLCJ1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVGcm9tVW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnMiLCJ2YXJpYWJsZU5vZGVGcm9tVmFyaWFibGVTdHJpbmciLCJ2YXJpYWJsZU5vZGVGcm9tVmFyaWFibGVUb2tlbnMiLCJub21pbmFsUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsInBhcnNlcnNVdGlsaXRpZXMiLCJjb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJjb21iaW5lZEN1c3RvbUdyYW1tYXJGcm9tTm90aGluZyIsIm5vbWluYWxQYXJzZXIiLCJ0ZXJtTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5Iiwic3RhdGVtZW50Tm9kZVF1ZXJ5IiwidGVybVN0cmluZyIsImxleGVyIiwicGFyc2VyIiwiY29uc3RydWN0b3JEZWNsYXJhdGlvblN0cmluZyIsImNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ub2tlbnMiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zRnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25TdHJpbmciLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSIsInRlcm1Ob2RlIiwidmFyaWFibGVTdHJpbmciLCJ2YXJpYWJsZVRva2VucyIsInZhcmlhYmxlVG9rZW5zRnJvbVZhcmlhYmxlU3RyaW5nIiwidmFyaWFibGVOb2RlIiwic3RhdGVtZW50U3RyaW5nIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmciLCJ1bnF1YWxpZmllZFN0YXRlbWVudFRva2VucyIsInVucXVhbGlmaWVkU3RhdGVtZW50VG9rZW5zRnJvbVVucXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50Tm9kZSIsIm1ldGF2YXJpYWJsZVN0cmluZyIsIm1ldGF2YXJpYWJsZVRva2VucyIsIm1ldGF2YXJpYWJsZVRva2Vuc0Zyb21NZXRhdmFyaWFibGVTdHJpbmciLCJtZXRhdmFyaWFibGVOb2RlIiwic3Vic3RpdHV0aW9uU3RyaW5nIiwic3Vic3RpdHV0aW9uVG9rZW5zIiwic3Vic3RpdHV0aW9uVG9rZW5zRnJvbVN1YnN0aXR1dGlvblN0cmluZyIsInN1YnN0aXR1dGlvbk5vZGUiLCJydWxlTmFtZSIsIlZBUklBQkxFX1JVTEVfTkFNRSIsIm5vZGVGcm9tVG9rZW5zUnVsZU5hbWVBbmRQYXJzZXIiLCJNRVRBVkFSSUFCTEVfUlVMRV9OQU1FIiwiU1VCU1RJVFVUSU9OX1JVTEVfTkFNRSIsInRva2VucyIsIlVOUVVBTElGSUVEX1NUQVRFTUVOVF9SVUxFX05BTUUiLCJDT05TVFJVQ1RPUl9ERUNMQVJB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
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgcGFyc2Vyc1V0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1jdXN0b20tZ3JhbW1hcnNcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgY29tYmluZWRDdXN0b21HcmFtbWFyRnJvbU5vdGhpbmcgfSBmcm9tIFwiLi9jdXN0b21HcmFtbWFyXCI7XG5pbXBvcnQgeyBWQVJJQUJMRV9SVUxFX05BTUUsXG4gICAgICAgICBNRVRBVkFSSUFCTEVfUlVMRV9OQU1FLFxuICAgICAgICAgVU5RVUFMSUZJRURfU1RBVEVNRU5UX1JVTEVfTkFNRSxcbiAgICAgICAgIENPTlNUUlVDVE9SX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSB9IGZyb20gXCIuLi9ydWxlTmFtZXNcIjtcbmltcG9ydCB7IHZhcmlhYmxlVG9rZW5zRnJvbVZhcmlhYmxlU3RyaW5nLFxuICAgICAgICAgbWV0YXZhcmlhYmxlVG9rZW5zRnJvbU1ldGF2YXJpYWJsZVN0cmluZyxcbiAgICAgICAgIHVucXVhbGlmaWVkU3RhdGVtZW50VG9rZW5zRnJvbVVucXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nLFxuICAgICAgICAgY29uc3RydWN0b3JEZWNsYXJhdGlvblRva2Vuc0Zyb21Db25zdHJ1Y3RvckRlY2xhcmF0aW9uU3RyaW5nIH0gZnJvbSBcIi4uL3V0aWxpdGllcy90b2tlbnNcIjtcblxuY29uc3QgeyBub21pbmFsUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciB9ID0gcGFyc2Vyc1V0aWxpdGllcztcblxuY29uc3QgY29tYmluZWRDdXN0b21HcmFtbWFyID0gY29tYmluZWRDdXN0b21HcmFtbWFyRnJvbU5vdGhpbmcoKSxcbiAgICAgIG5vbWluYWxQYXJzZXIgPSBub21pbmFsUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hcihjb21iaW5lZEN1c3RvbUdyYW1tYXIpO1xuXG5jb25zdCB0ZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbnN0cnVjdG9yRGVjbGFyYXRpb24vdGVybVwiKSxcbiAgICAgIHN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi91bnF1YWxpZmllZFN0YXRlbWVudC9zdGF0ZW1lbnRcIik7XG5cbmV4cG9ydCBmdW5jdGlvbiB0ZXJtTm9kZUZyb21UZXJtU3RyaW5nKHRlcm1TdHJpbmcsIGxleGVyLCBwYXJzZXIpIHtcbiAgY29uc3QgY29uc3RydWN0b3JEZWNsYXJhdGlvblN0cmluZyA9IGNvbnN0cnVjdG9yRGVjbGFyYXRpb25TdHJpbmdGcm9tVGVybVN0cmluZyh0ZXJtU3RyaW5nKSxcbiAgICAgICAgY29uc3RydWN0b3JEZWNsYXJhdGlvblRva2VucyA9IGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ub2tlbnNGcm9tQ29uc3RydWN0b3JEZWNsYXJhdGlvblN0cmluZyhjb25zdHJ1Y3RvckRlY2xhcmF0aW9uU3RyaW5nLCBsZXhlciksXG4gICAgICAgIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlID0gY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGVGcm9tQ29uc3RydWN0b3JEZWNsYXJhdGlvblRva2Vucyhjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zLCBwYXJzZXIpLFxuICAgICAgICB0ZXJtTm9kZSA9IHRlcm1Ob2RlRnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlKGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlKTtcblxuICByZXR1cm4gdGVybU5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YXJpYWJsZU5vZGVGcm9tVmFyaWFibGVTdHJpbmcodmFyaWFibGVTdHJpbmcsIGxleGVyLCBwYXJzZXIpIHtcbiAgY29uc3QgdmFyaWFibGVUb2tlbnMgPSB2YXJpYWJsZVRva2Vuc0Zyb21WYXJpYWJsZVN0cmluZyh2YXJpYWJsZVN0cmluZywgbGV4ZXIpLFxuICAgICAgICB2YXJpYWJsZU5vZGUgPSB2YXJpYWJsZU5vZGVGcm9tVmFyaWFibGVUb2tlbnModmFyaWFibGVUb2tlbnMsIHBhcnNlcik7XG5cbiAgcmV0dXJuIHZhcmlhYmxlTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0YXRlbWVudE5vZGVGcm9tU3RhdGVtZW50U3RyaW5nKHN0YXRlbWVudFN0cmluZywgbGV4ZXIsIHBhcnNlcikge1xuICBjb25zdCB1bnF1YWxpZmllZFN0YXRlbWVudFN0cmluZyA9dW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmdGcm9tU3RhdGVtZW50U3RyaW5nKHN0YXRlbWVudFN0cmluZyksXG4gICAgICAgIHVucXVhbGlmaWVkU3RhdGVtZW50VG9rZW5zID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnNGcm9tVW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcodW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmcsIGxleGVyKSxcbiAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlRnJvbVVucXVhbGlmaWVkU3RhdGVtZW50VG9rZW5zKHVucXVhbGlmaWVkU3RhdGVtZW50VG9rZW5zLCBwYXJzZXIpLFxuICAgICAgICBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZUZyb21VbnF1YWxpZmllZFN0YXRlbWVudE5vZGUodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICByZXR1cm4gc3RhdGVtZW50Tm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRlcm1Ob2RlRnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlKGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlKSB7XG4gIGNvbnN0IHRlcm1Ob2RlID0gdGVybU5vZGVRdWVyeShjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSwgY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUpO1xuXG4gIHJldHVybiB0ZXJtTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0YXRlbWVudE5vZGVGcm9tVW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSkge1xuICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG5cbiAgcmV0dXJuIHN0YXRlbWVudE5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uU3RyaW5nRnJvbVRlcm1TdHJpbmcodGVybVN0cmluZykge1xuICBjb25zdCBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uU3RyaW5nID0gYENvbnN0cnVjdG9yICR7dGVybVN0cmluZ31cbmA7XG5cbiAgcmV0dXJuIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25TdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1bnF1YWxpZmllZFN0YXRlbWVudFN0cmluZ0Zyb21TdGF0ZW1lbnRTdHJpbmcoc3RhdGVtZW50U3RyaW5nKSB7XG4gIGNvbnN0IHVucXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nID0gYCR7c3RhdGVtZW50U3RyaW5nfVxuYDtcblxuICByZXR1cm4gdW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXRhdmFyaWFibGVOb2RlRnJvbU1ldGF2YXJpYWJsZVN0cmluZyhtZXRhdmFyaWFibGVTdHJpbmcsIGxleGVyLCBwYXJzZXIpIHtcbiAgY29uc3QgbWV0YXZhcmlhYmxlVG9rZW5zID0gbWV0YXZhcmlhYmxlVG9rZW5zRnJvbU1ldGF2YXJpYWJsZVN0cmluZyhtZXRhdmFyaWFibGVTdHJpbmcsIGxleGVyKSxcbiAgICAgICAgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVGcm9tTWV0YXZhcmlhYmxlVG9rZW5zKG1ldGF2YXJpYWJsZVRva2VucywgcGFyc2VyKTtcblxuICByZXR1cm4gbWV0YXZhcmlhYmxlTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhcmlhYmxlTm9kZUZyb21WYXJpYWJsZVRva2Vucyh2YXJpYWJsZVRva2VucywgcGFyc2VyKSB7XG4gIGNvbnN0IHJ1bGVOYW1lID0gVkFSSUFCTEVfUlVMRV9OQU1FLFxuICAgICAgICB2YXJpYWJsZU5vZGUgPSBub2RlRnJvbVRva2Vuc1J1bGVOYW1lQW5kUGFyc2VyKHZhcmlhYmxlVG9rZW5zLCBydWxlTmFtZSwgcGFyc2VyKTtcblxuICByZXR1cm4gdmFyaWFibGVOb2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWV0YXZhcmlhYmxlTm9kZUZyb21NZXRhdmFyaWFibGVUb2tlbnMobWV0YXZhcmlhYmxlVG9rZW5zLCBwYXJzZXIpIHtcbiAgY29uc3QgcnVsZU5hbWUgPSBNRVRBVkFSSUFCTEVfUlVMRV9OQU1FLFxuICAgICAgICBtZXRhdmFyaWFibGVOb2RlID0gbm9kZUZyb21Ub2tlbnNSdWxlTmFtZUFuZFBhcnNlcihtZXRhdmFyaWFibGVUb2tlbnMsIHJ1bGVOYW1lLCBwYXJzZXIpO1xuXG4gIHJldHVybiBtZXRhdmFyaWFibGVOb2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlRnJvbVVucXVhbGlmaWVkU3RhdGVtZW50VG9rZW5zKHVucXVhbGlmaWVkU3RhdGVtZW50VG9rZW5zLCBwYXJzZXIpIHtcbiAgY29uc3QgdG9rZW5zID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnMsICAvLy9cbiAgICAgICAgcnVsZU5hbWUgPSBVTlFVQUxJRklFRF9TVEFURU1FTlRfUlVMRV9OQU1FLFxuICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSBub2RlRnJvbVRva2Vuc1J1bGVOYW1lQW5kUGFyc2VyKHRva2VucywgcnVsZU5hbWUsIHBhcnNlcik7XG5cbiAgcmV0dXJuIHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlRnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ub2tlbnMoY29uc3RydWN0b3JEZWNsYXJhdGlvblRva2VucywgcGFyc2VyKSB7XG4gIGNvbnN0IHRva2VucyA9IGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ub2tlbnMsICAvLy9cbiAgICAgICAgcnVsZU5hbWUgPSBDT05TVFJVQ1RPUl9ERUNMQVJBVElPTl9SVUxFX05BTUUsXG4gICAgICAgIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlID0gbm9kZUZyb21Ub2tlbnNSdWxlTmFtZUFuZFBhcnNlcih0b2tlbnMsIHJ1bGVOYW1lLCBwYXJzZXIpO1xuXG4gIHJldHVybiBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZTtcbn1cblxuZnVuY3Rpb24gbm9kZUZyb21Ub2tlbnNSdWxlTmFtZUFuZFBhcnNlcih0b2tlbnMsIHJ1bGVOYW1lLCBwYXJzZXIgPSBub21pbmFsUGFyc2VyKSB7XG4gIGNvbnN0IHJ1bGVNYXAgPSBwYXJzZXIuZ2V0UnVsZU1hcCgpLFxuICAgICAgICBydWxlID0gcnVsZU1hcFtydWxlTmFtZV0sXG4gICAgICAgIG5vZGUgPSBwYXJzZXIucGFyc2UodG9rZW5zLCBydWxlKTtcblxuICByZXR1cm4gbm9kZTtcbn1cbiJdLCJuYW1lcyI6WyJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZUZyb21Db25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zIiwiY29uc3RydWN0b3JEZWNsYXJhdGlvblN0cmluZ0Zyb21UZXJtU3RyaW5nIiwibWV0YXZhcmlhYmxlTm9kZUZyb21NZXRhdmFyaWFibGVTdHJpbmciLCJtZXRhdmFyaWFibGVOb2RlRnJvbU1ldGF2YXJpYWJsZVRva2VucyIsInN0YXRlbWVudE5vZGVGcm9tU3RhdGVtZW50U3RyaW5nIiwic3RhdGVtZW50Tm9kZUZyb21VbnF1YWxpZmllZFN0YXRlbWVudE5vZGUiLCJ0ZXJtTm9kZUZyb21Db25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSIsInRlcm1Ob2RlRnJvbVRlcm1TdHJpbmciLCJ1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVGcm9tVW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnMiLCJ1bnF1YWxpZmllZFN0YXRlbWVudFN0cmluZ0Zyb21TdGF0ZW1lbnRTdHJpbmciLCJ2YXJpYWJsZU5vZGVGcm9tVmFyaWFibGVTdHJpbmciLCJ2YXJpYWJsZU5vZGVGcm9tVmFyaWFibGVUb2tlbnMiLCJub21pbmFsUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsInBhcnNlcnNVdGlsaXRpZXMiLCJjb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJjb21iaW5lZEN1c3RvbUdyYW1tYXJGcm9tTm90aGluZyIsIm5vbWluYWxQYXJzZXIiLCJ0ZXJtTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5Iiwic3RhdGVtZW50Tm9kZVF1ZXJ5IiwidGVybVN0cmluZyIsImxleGVyIiwicGFyc2VyIiwiY29uc3RydWN0b3JEZWNsYXJhdGlvblN0cmluZyIsImNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ub2tlbnMiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zRnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25TdHJpbmciLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSIsInRlcm1Ob2RlIiwidmFyaWFibGVTdHJpbmciLCJ2YXJpYWJsZVRva2VucyIsInZhcmlhYmxlVG9rZW5zRnJvbVZhcmlhYmxlU3RyaW5nIiwidmFyaWFibGVOb2RlIiwic3RhdGVtZW50U3RyaW5nIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmciLCJ1bnF1YWxpZmllZFN0YXRlbWVudFRva2VucyIsInVucXVhbGlmaWVkU3RhdGVtZW50VG9rZW5zRnJvbVVucXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50Tm9kZSIsIm1ldGF2YXJpYWJsZVN0cmluZyIsIm1ldGF2YXJpYWJsZVRva2VucyIsIm1ldGF2YXJpYWJsZVRva2Vuc0Zyb21NZXRhdmFyaWFibGVTdHJpbmciLCJtZXRhdmFyaWFibGVOb2RlIiwicnVsZU5hbWUiLCJWQVJJQUJMRV9SVUxFX05BTUUiLCJub2RlRnJvbVRva2Vuc1J1bGVOYW1lQW5kUGFyc2VyIiwiTUVUQVZBUklBQkxFX1JVTEVfTkFNRSIsInRva2VucyIsIlVOUVVBTElGSUVEX1NUQVRFTUVOVF9SVUxFX05BTUUiLCJDT05TVFJVQ1RPUl9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJydWxlTWFwIiwiZ2V0UnVsZU1hcCIsInJ1bGUiLCJub2RlIiwicGFyc2UiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQXVHZ0JBLDBEQUEwRDtlQUExREE7O0lBM0NBQywwQ0FBMEM7ZUFBMUNBOztJQWNBQyxzQ0FBc0M7ZUFBdENBOztJQWNBQyxzQ0FBc0M7ZUFBdENBOztJQWpEQUMsZ0NBQWdDO2VBQWhDQTs7SUFlQUMseUNBQXlDO2VBQXpDQTs7SUFOQUMsc0NBQXNDO2VBQXRDQTs7SUF6QkFDLHNCQUFzQjtlQUF0QkE7O0lBd0VBQyxzREFBc0Q7ZUFBdERBOztJQTVCQUMsNkNBQTZDO2VBQTdDQTs7SUFuQ0FDLDhCQUE4QjtlQUE5QkE7O0lBaURBQyw4QkFBOEI7ZUFBOUJBOzs7bUNBL0VpQjtxQkFFUDs2QkFDdUI7eUJBSUM7c0JBSTJCO0FBRTdFLElBQU0sQUFBRUMseUNBQTJDQyxxQ0FBZ0IsQ0FBM0REO0FBRVIsSUFBTUUsd0JBQXdCQyxJQUFBQSwrQ0FBZ0MsS0FDeERDLGdCQUFnQkosdUNBQXVDRTtBQUU3RCxJQUFNRyxnQkFBZ0JDLElBQUFBLGdCQUFTLEVBQUMsaUNBQzFCQyxxQkFBcUJELElBQUFBLGdCQUFTLEVBQUM7QUFFOUIsU0FBU1gsdUJBQXVCYSxVQUFVLEVBQUVDLEtBQUssRUFBRUMsTUFBTTtJQUM5RCxJQUFNQywrQkFBK0J0QiwyQ0FBMkNtQixhQUMxRUksK0JBQStCQyxJQUFBQSxvRUFBNEQsRUFBQ0YsOEJBQThCRixRQUMxSEssNkJBQTZCMUIsMkRBQTJEd0IsOEJBQThCRixTQUN0SEssV0FBV3JCLHVDQUF1Q29CO0lBRXhELE9BQU9DO0FBQ1Q7QUFFTyxTQUFTakIsK0JBQStCa0IsY0FBYyxFQUFFUCxLQUFLLEVBQUVDLE1BQU07SUFDMUUsSUFBTU8saUJBQWlCQyxJQUFBQSx3Q0FBZ0MsRUFBQ0YsZ0JBQWdCUCxRQUNsRVUsZUFBZXBCLCtCQUErQmtCLGdCQUFnQlA7SUFFcEUsT0FBT1M7QUFDVDtBQUVPLFNBQVMzQixpQ0FBaUM0QixlQUFlLEVBQUVYLEtBQUssRUFBRUMsTUFBTTtJQUM3RSxJQUFNVyw2QkFBNEJ4Qiw4Q0FBOEN1QixrQkFDMUVFLDZCQUE2QkMsSUFBQUEsZ0VBQXdELEVBQUNGLDRCQUE0QlosUUFDbEhlLDJCQUEyQjVCLHVEQUF1RDBCLDRCQUE0QlosU0FDOUdlLGdCQUFnQmhDLDBDQUEwQytCO0lBRWhFLE9BQU9DO0FBQ1Q7QUFFTyxTQUFTL0IsdUNBQXVDb0IsMEJBQTBCO0lBQy9FLElBQU1DLFdBQVdWLGNBQWNTLDRCQUE0QkE7SUFFM0QsT0FBT0M7QUFDVDtBQUVPLFNBQVN0QiwwQ0FBMEMrQix3QkFBd0I7SUFDaEYsSUFBTUMsZ0JBQWdCbEIsbUJBQW1CaUI7SUFFekMsT0FBT0M7QUFDVDtBQUVPLFNBQVNwQywyQ0FBMkNtQixVQUFVO0lBQ25FLElBQU1HLCtCQUErQixBQUFDLGVBQXlCLE9BQVhILFlBQVc7SUFHL0QsT0FBT0c7QUFDVDtBQUVPLFNBQVNkLDhDQUE4Q3VCLGVBQWU7SUFDM0UsSUFBTUMsNkJBQTZCLEFBQUMsR0FBa0IsT0FBaEJELGlCQUFnQjtJQUd0RCxPQUFPQztBQUNUO0FBRU8sU0FBUy9CLHVDQUF1Q29DLGtCQUFrQixFQUFFakIsS0FBSyxFQUFFQyxNQUFNO0lBQ3RGLElBQU1pQixxQkFBcUJDLElBQUFBLGdEQUF3QyxFQUFDRixvQkFBb0JqQixRQUNsRm9CLG1CQUFtQnRDLHVDQUF1Q29DLG9CQUFvQmpCO0lBRXBGLE9BQU9tQjtBQUNUO0FBRU8sU0FBUzlCLCtCQUErQmtCLGNBQWMsRUFBRVAsTUFBTTtJQUNuRSxJQUFNb0IsV0FBV0MsNkJBQWtCLEVBQzdCWixlQUFlYSxnQ0FBZ0NmLGdCQUFnQmEsVUFBVXBCO0lBRS9FLE9BQU9TO0FBQ1Q7QUFFTyxTQUFTNUIsdUNBQXVDb0Msa0JBQWtCLEVBQUVqQixNQUFNO0lBQy9FLElBQU1vQixXQUFXRyxpQ0FBc0IsRUFDakNKLG1CQUFtQkcsZ0NBQWdDTCxvQkFBb0JHLFVBQVVwQjtJQUV2RixPQUFPbUI7QUFDVDtBQUVPLFNBQVNqQyx1REFBdUQwQiwwQkFBMEIsRUFBRVosTUFBTTtJQUN2RyxJQUFNd0IsU0FBU1osNEJBQ1RRLFdBQVdLLDBDQUErQixFQUMxQ1gsMkJBQTJCUSxnQ0FBZ0NFLFFBQVFKLFVBQVVwQjtJQUVuRixPQUFPYztBQUNUO0FBRU8sU0FBU3BDLDJEQUEyRHdCLDRCQUE0QixFQUFFRixNQUFNO0lBQzdHLElBQU13QixTQUFTdEIsOEJBQ1RrQixXQUFXTSw0Q0FBaUMsRUFDNUN0Qiw2QkFBNkJrQixnQ0FBZ0NFLFFBQVFKLFVBQVVwQjtJQUVyRixPQUFPSTtBQUNUO0FBRUEsU0FBU2tCLGdDQUFnQ0UsTUFBTSxFQUFFSixRQUFRO1FBQUVwQixTQUFBQSxpRUFBU047SUFDbEUsSUFBTWlDLFVBQVUzQixPQUFPNEIsVUFBVSxJQUMzQkMsT0FBT0YsT0FBTyxDQUFDUCxTQUFTLEVBQ3hCVSxPQUFPOUIsT0FBTytCLEtBQUssQ0FBQ1AsUUFBUUs7SUFFbEMsT0FBT0M7QUFDVCJ9
|
package/lib/utilities/string.js
CHANGED
|
@@ -12,9 +12,15 @@ _export(exports, {
|
|
|
12
12
|
nodeAsString: function() {
|
|
13
13
|
return nodeAsString;
|
|
14
14
|
},
|
|
15
|
+
nodeAsTokens: function() {
|
|
16
|
+
return nodeAsTokens;
|
|
17
|
+
},
|
|
15
18
|
nodesAsString: function() {
|
|
16
19
|
return nodesAsString;
|
|
17
20
|
},
|
|
21
|
+
tokensAsString: function() {
|
|
22
|
+
return tokensAsString;
|
|
23
|
+
},
|
|
18
24
|
trim: function() {
|
|
19
25
|
return trim;
|
|
20
26
|
}
|
|
@@ -26,14 +32,8 @@ function trim(string) {
|
|
|
26
32
|
}
|
|
27
33
|
function nodeAsString(node, tokens) {
|
|
28
34
|
var string;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
var terminalNode = node; ///
|
|
32
|
-
string = terminalNodeAsString(terminalNode);
|
|
33
|
-
} else {
|
|
34
|
-
var nonTerminalNode = node; ///
|
|
35
|
-
string = nonTerminalNodeAsString(nonTerminalNode, tokens);
|
|
36
|
-
}
|
|
35
|
+
tokens = nodeAsTokens(node, tokens); ///
|
|
36
|
+
string = tokensAsString(tokens);
|
|
37
37
|
return string;
|
|
38
38
|
}
|
|
39
39
|
function nodesAsString(nodes, tokens) {
|
|
@@ -44,13 +44,7 @@ function nodesAsString(nodes, tokens) {
|
|
|
44
44
|
}, _constants.EMPTY_STRING);
|
|
45
45
|
return string;
|
|
46
46
|
}
|
|
47
|
-
function
|
|
48
|
-
var content = terminalNode.getContent(), string = content; ///
|
|
49
|
-
return string;
|
|
50
|
-
}
|
|
51
|
-
function nonTerminalNodeAsString(nonTerminalNode, tokens) {
|
|
52
|
-
var lastSignificantTokenIndex = nonTerminalNode.getLastSignificantTokenIndex(tokens), firstSignificantTokenIndex = nonTerminalNode.getFirstSignificantTokenIndex(tokens), start = firstSignificantTokenIndex, end = lastSignificantTokenIndex + 1;
|
|
53
|
-
tokens = tokens.slice(start, end); ///
|
|
47
|
+
function tokensAsString(tokens) {
|
|
54
48
|
var string = tokens.reduce(function(string, token) {
|
|
55
49
|
var content = token.getContent();
|
|
56
50
|
string = "".concat(string).concat(content);
|
|
@@ -58,5 +52,29 @@ function nonTerminalNodeAsString(nonTerminalNode, tokens) {
|
|
|
58
52
|
}, _constants.EMPTY_STRING);
|
|
59
53
|
return string;
|
|
60
54
|
}
|
|
55
|
+
function nodeAsTokens(node, tokens) {
|
|
56
|
+
var nodeTerminalNode = node.isTerminalNode();
|
|
57
|
+
if (nodeTerminalNode) {
|
|
58
|
+
z;
|
|
59
|
+
var terminalNode = node; ///
|
|
60
|
+
tokens = terminalNodeAsTokens(terminalNode, tokens);
|
|
61
|
+
} else {
|
|
62
|
+
var nonTerminalNode = node; ///
|
|
63
|
+
tokens = nonTerminalNodeAsTokens(nonTerminalNode, tokens);
|
|
64
|
+
}
|
|
65
|
+
return tokens;
|
|
66
|
+
}
|
|
67
|
+
function terminalNodeAsTokens(terminalNode, tokens) {
|
|
68
|
+
var significantToken = terminalNode.getSignificantToken(), token = significantToken; ///
|
|
69
|
+
tokens = [
|
|
70
|
+
token
|
|
71
|
+
];
|
|
72
|
+
return tokens;
|
|
73
|
+
}
|
|
74
|
+
function nonTerminalNodeAsTokens(nonTerminalNode, tokens) {
|
|
75
|
+
var lastSignificantTokenIndex = nonTerminalNode.getLastSignificantTokenIndex(tokens), firstSignificantTokenIndex = nonTerminalNode.getFirstSignificantTokenIndex(tokens), start = firstSignificantTokenIndex, end = lastSignificantTokenIndex + 1;
|
|
76
|
+
tokens = tokens.slice(start, end); ///
|
|
77
|
+
return tokens;
|
|
78
|
+
}
|
|
61
79
|
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc3RyaW5nLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBDT01NQSwgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gdHJpbShzdHJpbmcpIHtcbiAgc3RyaW5nID0gc3RyaW5nLnJlcGxhY2UoL1xccyskLywgRU1QVFlfU1RSSU5HKTsgIC8vL1xuXG4gIHJldHVybiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub2RlQXNTdHJpbmcobm9kZSwgdG9rZW5zKSB7XG4gIGxldCBzdHJpbmc7XG5cbiAgdG9rZW5zID0gbm9kZUFzVG9rZW5zKG5vZGUsIHRva2Vucyk7ICAvLy9cblxuICBzdHJpbmcgPSB0b2tlbnNBc1N0cmluZyh0b2tlbnMpO1xuXG4gIHJldHVybiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub2Rlc0FzU3RyaW5nKG5vZGVzLCB0b2tlbnMpIHtcbiAgY29uc3Qgc3RyaW5nID0gbm9kZXMucmVkdWNlKChzdHJpbmcsIG5vZGUpID0+IHtcbiAgICBjb25zdCBub2RlU3RyaW5nID0gbm9kZUFzU3RyaW5nKG5vZGUsIHRva2Vucyk7XG5cbiAgICBzdHJpbmcgPSAoc3RyaW5nID09PSBFTVBUWV9TVFJJTkcpID9cbiAgICAgICAgICAgICAgIG5vZGVTdHJpbmcgOlxuICAgICAgICAgICAgICAgIGAke3N0cmluZ30ke0NPTU1BfSR7bm9kZVN0cmluZ31gO1xuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfSwgRU1QVFlfU1RSSU5HKTtcblxuICByZXR1cm4gc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9rZW5zQXNTdHJpbmcodG9rZW5zKSB7XG4gIGNvbnN0IHN0cmluZyA9IHRva2Vucy5yZWR1Y2UoKHN0cmluZywgdG9rZW4pID0+IHtcbiAgICBjb25zdCBjb250ZW50ID0gdG9rZW4uZ2V0Q29udGVudCgpO1xuXG4gICAgc3RyaW5nID0gYCR7c3RyaW5nfSR7Y29udGVudH1gO1xuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfSwgRU1QVFlfU1RSSU5HKTtcblxuICByZXR1cm4gc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbm9kZUFzVG9rZW5zKG5vZGUsIHRva2Vucykge1xuICBjb25zdCBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gIGlmIChub2RlVGVybWluYWxOb2RlKSB7elxuICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IG5vZGU7ICAvLy9cblxuICAgIHRva2VucyA9IHRlcm1pbmFsTm9kZUFzVG9rZW5zKHRlcm1pbmFsTm9kZSwgdG9rZW5zKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlOyAvLy9cblxuICAgIHRva2VucyA9IG5vblRlcm1pbmFsTm9kZUFzVG9rZW5zKG5vblRlcm1pbmFsTm9kZSwgdG9rZW5zKTtcbiAgfVxuXG4gIHJldHVybiB0b2tlbnM7XG59XG5cbmZ1bmN0aW9uIHRlcm1pbmFsTm9kZUFzVG9rZW5zKHRlcm1pbmFsTm9kZSwgdG9rZW5zKSB7XG4gIGNvbnN0IHNpZ25pZmljYW50VG9rZW4gPSB0ZXJtaW5hbE5vZGUuZ2V0U2lnbmlmaWNhbnRUb2tlbigpLFxuICAgICAgICB0b2tlbiA9IHNpZ25pZmljYW50VG9rZW47IC8vL1xuXG4gIHRva2VucyA9IFsgIC8vL1xuICAgIHRva2VuXG4gIF07XG5cbiAgcmV0dXJuIHRva2Vucztcbn1cblxuZnVuY3Rpb24gbm9uVGVybWluYWxOb2RlQXNUb2tlbnMobm9uVGVybWluYWxOb2RlLCB0b2tlbnMpIHtcbiAgY29uc3QgbGFzdFNpZ25pZmljYW50VG9rZW5JbmRleCA9IG5vblRlcm1pbmFsTm9kZS5nZXRMYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4KHRva2VucyksXG4gICAgICAgIGZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gbm9uVGVybWluYWxOb2RlLmdldEZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4KHRva2VucyksXG4gICAgICAgIHN0YXJ0ID0gZmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXgsIC8vL1xuICAgICAgICBlbmQgPSBsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ICsgMTtcblxuICB0b2tlbnMgPSB0b2tlbnMuc2xpY2Uoc3RhcnQsIGVuZCk7ICAvLy9cblxuICByZXR1cm4gdG9rZW5zO1xufVxuIl0sIm5hbWVzIjpbIm5vZGVBc1N0cmluZyIsIm5vZGVBc1Rva2VucyIsIm5vZGVzQXNTdHJpbmciLCJ0b2tlbnNBc1N0cmluZyIsInRyaW0iLCJzdHJpbmciLCJyZXBsYWNlIiwiRU1QVFlfU1RSSU5HIiwibm9kZSIsInRva2VucyIsIm5vZGVzIiwicmVkdWNlIiwibm9kZVN0cmluZyIsIkNPTU1BIiwidG9rZW4iLCJjb250ZW50IiwiZ2V0Q29udGVudCIsIm5vZGVUZXJtaW5hbE5vZGUiLCJpc1Rlcm1pbmFsTm9kZSIsInoiLCJ0ZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGVBc1Rva2VucyIsIm5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZUFzVG9rZW5zIiwic2lnbmlmaWNhbnRUb2tlbiIsImdldFNpZ25pZmljYW50VG9rZW4iLCJsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4IiwiZ2V0TGFzdFNpZ25pZmljYW50VG9rZW5JbmRleCIsImZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4IiwiZ2V0Rmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXgiLCJzdGFydCIsImVuZCIsInNsaWNlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFVZ0JBLFlBQVk7ZUFBWkE7O0lBb0NBQyxZQUFZO2VBQVpBOztJQTFCQUMsYUFBYTtlQUFiQTs7SUFjQUMsY0FBYztlQUFkQTs7SUE5QkFDLElBQUk7ZUFBSkE7Ozt5QkFGb0I7QUFFN0IsU0FBU0EsS0FBS0MsTUFBTTtJQUN6QkEsU0FBU0EsT0FBT0MsT0FBTyxDQUFDLFFBQVFDLHVCQUFZLEdBQUksR0FBRztJQUVuRCxPQUFPRjtBQUNUO0FBRU8sU0FBU0wsYUFBYVEsSUFBSSxFQUFFQyxNQUFNO0lBQ3ZDLElBQUlKO0lBRUpJLFNBQVNSLGFBQWFPLE1BQU1DLFNBQVUsR0FBRztJQUV6Q0osU0FBU0YsZUFBZU07SUFFeEIsT0FBT0o7QUFDVDtBQUVPLFNBQVNILGNBQWNRLEtBQUssRUFBRUQsTUFBTTtJQUN6QyxJQUFNSixTQUFTSyxNQUFNQyxNQUFNLENBQUMsU0FBQ04sUUFBUUc7UUFDbkMsSUFBTUksYUFBYVosYUFBYVEsTUFBTUM7UUFFdENKLFNBQVMsQUFBQ0EsV0FBV0UsdUJBQVksR0FDdEJLLGFBQ0MsQUFBQyxHQUFXQyxPQUFUUixRQUFpQk8sT0FBUkMsZ0JBQUssRUFBYyxPQUFYRDtRQUVoQyxPQUFPUDtJQUNULEdBQUdFLHVCQUFZO0lBRWYsT0FBT0Y7QUFDVDtBQUVPLFNBQVNGLGVBQWVNLE1BQU07SUFDbkMsSUFBTUosU0FBU0ksT0FBT0UsTUFBTSxDQUFDLFNBQUNOLFFBQVFTO1FBQ3BDLElBQU1DLFVBQVVELE1BQU1FLFVBQVU7UUFFaENYLFNBQVMsQUFBQyxHQUFXVSxPQUFUVixRQUFpQixPQUFSVTtRQUVyQixPQUFPVjtJQUNULEdBQUdFLHVCQUFZO0lBRWYsT0FBT0Y7QUFDVDtBQUVPLFNBQVNKLGFBQWFPLElBQUksRUFBRUMsTUFBTTtJQUN2QyxJQUFNUSxtQkFBbUJULEtBQUtVLGNBQWM7SUFFNUMsSUFBSUQsa0JBQWtCO1FBQUNFO1FBQ3JCLElBQU1DLGVBQWVaLE1BQU8sR0FBRztRQUUvQkMsU0FBU1kscUJBQXFCRCxjQUFjWDtJQUM5QyxPQUFPO1FBQ0wsSUFBTWEsa0JBQWtCZCxNQUFNLEdBQUc7UUFFakNDLFNBQVNjLHdCQUF3QkQsaUJBQWlCYjtJQUNwRDtJQUVBLE9BQU9BO0FBQ1Q7QUFFQSxTQUFTWSxxQkFBcUJELFlBQVksRUFBRVgsTUFBTTtJQUNoRCxJQUFNZSxtQkFBbUJKLGFBQWFLLG1CQUFtQixJQUNuRFgsUUFBUVUsa0JBQWtCLEdBQUc7SUFFbkNmLFNBQVM7UUFDUEs7S0FDRDtJQUVELE9BQU9MO0FBQ1Q7QUFFQSxTQUFTYyx3QkFBd0JELGVBQWUsRUFBRWIsTUFBTTtJQUN0RCxJQUFNaUIsNEJBQTRCSixnQkFBZ0JLLDRCQUE0QixDQUFDbEIsU0FDekVtQiw2QkFBNkJOLGdCQUFnQk8sNkJBQTZCLENBQUNwQixTQUMzRXFCLFFBQVFGLDRCQUNSRyxNQUFNTCw0QkFBNEI7SUFFeENqQixTQUFTQSxPQUFPdUIsS0FBSyxDQUFDRixPQUFPQyxNQUFPLEdBQUc7SUFFdkMsT0FBT3RCO0FBQ1QifQ==
|
package/lib/utilities/tokens.js
CHANGED
|
@@ -15,8 +15,11 @@ _export(exports, {
|
|
|
15
15
|
metavariableTokensFromMetavariableString: function() {
|
|
16
16
|
return metavariableTokensFromMetavariableString;
|
|
17
17
|
},
|
|
18
|
-
|
|
19
|
-
return
|
|
18
|
+
statementTokensFromUnqualifiedStatementTokens: function() {
|
|
19
|
+
return statementTokensFromUnqualifiedStatementTokens;
|
|
20
|
+
},
|
|
21
|
+
termTokensFromConstructorDeclarationTokens: function() {
|
|
22
|
+
return termTokensFromConstructorDeclarationTokens;
|
|
20
23
|
},
|
|
21
24
|
unqualifiedStatementTokensFromUnqualifiedStatementString: function() {
|
|
22
25
|
return unqualifiedStatementTokensFromUnqualifiedStatementString;
|
|
@@ -25,9 +28,10 @@ _export(exports, {
|
|
|
25
28
|
return variableTokensFromVariableString;
|
|
26
29
|
}
|
|
27
30
|
});
|
|
31
|
+
var _necessary = require("necessary");
|
|
28
32
|
var _occamcustomgrammars = require("occam-custom-grammars");
|
|
29
33
|
var _customGrammar = require("./customGrammar");
|
|
30
|
-
var nominalLexerFromCombinedCustomGrammar = _occamcustomgrammars.lexersUtilities.nominalLexerFromCombinedCustomGrammar;
|
|
34
|
+
var front = _necessary.arrayUtilities.front, nominalLexerFromCombinedCustomGrammar = _occamcustomgrammars.lexersUtilities.nominalLexerFromCombinedCustomGrammar;
|
|
31
35
|
var combinedCustomGrammar = (0, _customGrammar.combinedCustomGrammarFromNothing)(), nominalLexer = nominalLexerFromCombinedCustomGrammar(combinedCustomGrammar);
|
|
32
36
|
function variableTokensFromVariableString(variableString, lexer) {
|
|
33
37
|
var variableContent = "".concat(variableString), variableTokens = tokensFromContentAndLexer(variableContent, lexer);
|
|
@@ -37,10 +41,6 @@ function metavariableTokensFromMetavariableString(metavariableString, lexer) {
|
|
|
37
41
|
var metavariableContent = "".concat(metavariableString), metavariableTokens = tokensFromContentAndLexer(metavariableContent, lexer);
|
|
38
42
|
return metavariableTokens;
|
|
39
43
|
}
|
|
40
|
-
function substitutionTokensFromSubstitutionString(substitutionString, lexer) {
|
|
41
|
-
var substitutionContent = "".concat(substitutionString), substitutionTokens = tokensFromContentAndLexer(substitutionContent, lexer);
|
|
42
|
-
return substitutionTokens;
|
|
43
|
-
}
|
|
44
44
|
function unqualifiedStatementTokensFromUnqualifiedStatementString(unqualifiedStatementString, lexer) {
|
|
45
45
|
var content = unqualifiedStatementString, unqualifiedStatementTokens = tokensFromContentAndLexer(content, lexer);
|
|
46
46
|
return unqualifiedStatementTokens;
|
|
@@ -49,10 +49,18 @@ function constructorDeclarationTokensFromConstructorDeclarationString(constructo
|
|
|
49
49
|
var content = constructorDeclarationString, constructorDeclarationTokens = tokensFromContentAndLexer(content, lexer);
|
|
50
50
|
return constructorDeclarationTokens;
|
|
51
51
|
}
|
|
52
|
+
function termTokensFromConstructorDeclarationTokens(constructorDeclarationTokens) {
|
|
53
|
+
var frontConstructorDeclarationTokens = front(constructorDeclarationTokens), termTokens = frontConstructorDeclarationTokens; ///
|
|
54
|
+
return termTokens;
|
|
55
|
+
}
|
|
56
|
+
function statementTokensFromUnqualifiedStatementTokens(unqualifiedStatementTokens) {
|
|
57
|
+
var frontUnqualifiedStatementTokens = front(unqualifiedStatementTokens), statementTokens = frontUnqualifiedStatementTokens; ///
|
|
58
|
+
return statementTokens;
|
|
59
|
+
}
|
|
52
60
|
function tokensFromContentAndLexer(content) {
|
|
53
61
|
var lexer = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : nominalLexer;
|
|
54
62
|
var tokens = lexer.tokenise(content);
|
|
55
63
|
return tokens;
|
|
56
64
|
}
|
|
57
65
|
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdG9rZW5zLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcbmltcG9ydCB7IGxleGVyc1V0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1jdXN0b20tZ3JhbW1hcnNcIjtcblxuaW1wb3J0IHsgY29tYmluZWRDdXN0b21HcmFtbWFyRnJvbU5vdGhpbmcgfSBmcm9tIFwiLi9jdXN0b21HcmFtbWFyXCI7XG5cbmNvbnN0IHsgZnJvbnQgfSA9IGFycmF5VXRpbGl0aWVzLFxuICAgICAgeyBub21pbmFsTGV4ZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyIH0gPSBsZXhlcnNVdGlsaXRpZXM7XG5cbmNvbnN0IGNvbWJpbmVkQ3VzdG9tR3JhbW1hciA9IGNvbWJpbmVkQ3VzdG9tR3JhbW1hckZyb21Ob3RoaW5nKCksXG4gICAgICBub21pbmFsTGV4ZXIgPSBub21pbmFsTGV4ZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyKGNvbWJpbmVkQ3VzdG9tR3JhbW1hcik7XG5cbmV4cG9ydCBmdW5jdGlvbiB2YXJpYWJsZVRva2Vuc0Zyb21WYXJpYWJsZVN0cmluZyh2YXJpYWJsZVN0cmluZywgbGV4ZXIpIHtcbiAgY29uc3QgdmFyaWFibGVDb250ZW50ID0gYCR7dmFyaWFibGVTdHJpbmd9YCxcbiAgICAgICAgdmFyaWFibGVUb2tlbnMgPSB0b2tlbnNGcm9tQ29udGVudEFuZExleGVyKHZhcmlhYmxlQ29udGVudCwgbGV4ZXIpO1xuXG4gIHJldHVybiB2YXJpYWJsZVRva2Vucztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ldGF2YXJpYWJsZVRva2Vuc0Zyb21NZXRhdmFyaWFibGVTdHJpbmcobWV0YXZhcmlhYmxlU3RyaW5nLCBsZXhlcikge1xuICBjb25zdCBtZXRhdmFyaWFibGVDb250ZW50ID0gYCR7bWV0YXZhcmlhYmxlU3RyaW5nfWAsXG4gICAgICAgIG1ldGF2YXJpYWJsZVRva2VucyA9IHRva2Vuc0Zyb21Db250ZW50QW5kTGV4ZXIobWV0YXZhcmlhYmxlQ29udGVudCwgbGV4ZXIpO1xuXG4gIHJldHVybiBtZXRhdmFyaWFibGVUb2tlbnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1bnF1YWxpZmllZFN0YXRlbWVudFRva2Vuc0Zyb21VbnF1YWxpZmllZFN0YXRlbWVudFN0cmluZyh1bnF1YWxpZmllZFN0YXRlbWVudFN0cmluZywgbGV4ZXIpIHtcbiAgY29uc3QgY29udGVudCA9IHVucXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nLCAgLy8vXG4gICAgICAgIHVucXVhbGlmaWVkU3RhdGVtZW50VG9rZW5zID0gdG9rZW5zRnJvbUNvbnRlbnRBbmRMZXhlcihjb250ZW50LCBsZXhlcik7XG5cbiAgcmV0dXJuIHVucXVhbGlmaWVkU3RhdGVtZW50VG9rZW5zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29uc3RydWN0b3JEZWNsYXJhdGlvblRva2Vuc0Zyb21Db25zdHJ1Y3RvckRlY2xhcmF0aW9uU3RyaW5nKGNvbnN0cnVjdG9yRGVjbGFyYXRpb25TdHJpbmcsIGxleGVyKSB7XG4gIGNvbnN0IGNvbnRlbnQgPSBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uU3RyaW5nLCAgLy8vXG4gICAgICAgIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ub2tlbnMgPSB0b2tlbnNGcm9tQ29udGVudEFuZExleGVyKGNvbnRlbnQsIGxleGVyKTtcblxuICByZXR1cm4gY29uc3RydWN0b3JEZWNsYXJhdGlvblRva2Vucztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRlcm1Ub2tlbnNGcm9tQ29uc3RydWN0b3JEZWNsYXJhdGlvblRva2Vucyhjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zKSB7XG4gIGNvbnN0IGZyb250Q29uc3RydWN0b3JEZWNsYXJhdGlvblRva2VucyA9IGZyb250KGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ub2tlbnMpLFxuICAgICAgICB0ZXJtVG9rZW5zID0gZnJvbnRDb25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zOyAgLy8vXG5cbiAgcmV0dXJuIHRlcm1Ub2tlbnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdGF0ZW1lbnRUb2tlbnNGcm9tVW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnModW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnMpIHtcbiAgY29uc3QgZnJvbnRVbnF1YWxpZmllZFN0YXRlbWVudFRva2VucyA9IGZyb250KHVucXVhbGlmaWVkU3RhdGVtZW50VG9rZW5zKSxcbiAgICAgICAgc3RhdGVtZW50VG9rZW5zID0gZnJvbnRVbnF1YWxpZmllZFN0YXRlbWVudFRva2VuczsgIC8vL1xuXG4gIHJldHVybiBzdGF0ZW1lbnRUb2tlbnM7XG59XG5cbmZ1bmN0aW9uIHRva2Vuc0Zyb21Db250ZW50QW5kTGV4ZXIoY29udGVudCwgbGV4ZXIgPSBub21pbmFsTGV4ZXIpIHtcbiAgY29uc3QgdG9rZW5zID0gbGV4ZXIudG9rZW5pc2UoY29udGVudCk7XG5cbiAgcmV0dXJuIHRva2Vucztcbn1cbiJdLCJuYW1lcyI6WyJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zRnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25TdHJpbmciLCJtZXRhdmFyaWFibGVUb2tlbnNGcm9tTWV0YXZhcmlhYmxlU3RyaW5nIiwic3RhdGVtZW50VG9rZW5zRnJvbVVucXVhbGlmaWVkU3RhdGVtZW50VG9rZW5zIiwidGVybVRva2Vuc0Zyb21Db25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnNGcm9tVW5xdWFsaWZpZWRTdGF0ZW1lbnRTdHJpbmciLCJ2YXJpYWJsZVRva2Vuc0Zyb21WYXJpYWJsZVN0cmluZyIsImZyb250IiwiYXJyYXlVdGlsaXRpZXMiLCJub21pbmFsTGV4ZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyIiwibGV4ZXJzVXRpbGl0aWVzIiwiY29tYmluZWRDdXN0b21HcmFtbWFyIiwiY29tYmluZWRDdXN0b21HcmFtbWFyRnJvbU5vdGhpbmciLCJub21pbmFsTGV4ZXIiLCJ2YXJpYWJsZVN0cmluZyIsImxleGVyIiwidmFyaWFibGVDb250ZW50IiwidmFyaWFibGVUb2tlbnMiLCJ0b2tlbnNGcm9tQ29udGVudEFuZExleGVyIiwibWV0YXZhcmlhYmxlU3RyaW5nIiwibWV0YXZhcmlhYmxlQ29udGVudCIsIm1ldGF2YXJpYWJsZVRva2VucyIsInVucXVhbGlmaWVkU3RhdGVtZW50U3RyaW5nIiwiY29udGVudCIsInVucXVhbGlmaWVkU3RhdGVtZW50VG9rZW5zIiwiY29uc3RydWN0b3JEZWNsYXJhdGlvblN0cmluZyIsImNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ub2tlbnMiLCJmcm9udENvbnN0cnVjdG9yRGVjbGFyYXRpb25Ub2tlbnMiLCJ0ZXJtVG9rZW5zIiwiZnJvbnRVbnF1YWxpZmllZFN0YXRlbWVudFRva2VucyIsInN0YXRlbWVudFRva2VucyIsInRva2VucyIsInRva2VuaXNlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFrQ2dCQSw0REFBNEQ7ZUFBNURBOztJQWRBQyx3Q0FBd0M7ZUFBeENBOztJQTRCQUMsNkNBQTZDO2VBQTdDQTs7SUFQQUMsMENBQTBDO2VBQTFDQTs7SUFkQUMsd0RBQXdEO2VBQXhEQTs7SUFkQUMsZ0NBQWdDO2VBQWhDQTs7O3lCQVhlO21DQUNDOzZCQUVpQjtBQUVqRCxJQUFNLEFBQUVDLFFBQVVDLHlCQUFjLENBQXhCRCxPQUNGLEFBQUVFLHdDQUEwQ0Msb0NBQWUsQ0FBekREO0FBRVIsSUFBTUUsd0JBQXdCQyxJQUFBQSwrQ0FBZ0MsS0FDeERDLGVBQWVKLHNDQUFzQ0U7QUFFcEQsU0FBU0wsaUNBQWlDUSxjQUFjLEVBQUVDLEtBQUs7SUFDcEUsSUFBTUMsa0JBQWtCLEFBQUMsR0FBaUIsT0FBZkYsaUJBQ3JCRyxpQkFBaUJDLDBCQUEwQkYsaUJBQWlCRDtJQUVsRSxPQUFPRTtBQUNUO0FBRU8sU0FBU2YseUNBQXlDaUIsa0JBQWtCLEVBQUVKLEtBQUs7SUFDaEYsSUFBTUssc0JBQXNCLEFBQUMsR0FBcUIsT0FBbkJELHFCQUN6QkUscUJBQXFCSCwwQkFBMEJFLHFCQUFxQkw7SUFFMUUsT0FBT007QUFDVDtBQUVPLFNBQVNoQix5REFBeURpQiwwQkFBMEIsRUFBRVAsS0FBSztJQUN4RyxJQUFNUSxVQUFVRCw0QkFDVkUsNkJBQTZCTiwwQkFBMEJLLFNBQVNSO0lBRXRFLE9BQU9TO0FBQ1Q7QUFFTyxTQUFTdkIsNkRBQTZEd0IsNEJBQTRCLEVBQUVWLEtBQUs7SUFDOUcsSUFBTVEsVUFBVUUsOEJBQ1ZDLCtCQUErQlIsMEJBQTBCSyxTQUFTUjtJQUV4RSxPQUFPVztBQUNUO0FBRU8sU0FBU3RCLDJDQUEyQ3NCLDRCQUE0QjtJQUNyRixJQUFNQyxvQ0FBb0NwQixNQUFNbUIsK0JBQzFDRSxhQUFhRCxtQ0FBb0MsR0FBRztJQUUxRCxPQUFPQztBQUNUO0FBRU8sU0FBU3pCLDhDQUE4Q3FCLDBCQUEwQjtJQUN0RixJQUFNSyxrQ0FBa0N0QixNQUFNaUIsNkJBQ3hDTSxrQkFBa0JELGlDQUFrQyxHQUFHO0lBRTdELE9BQU9DO0FBQ1Q7QUFFQSxTQUFTWiwwQkFBMEJLLE9BQU87UUFBRVIsUUFBQUEsaUVBQVFGO0lBQ2xELElBQU1rQixTQUFTaEIsTUFBTWlCLFFBQVEsQ0FBQ1Q7SUFFOUIsT0FBT1E7QUFDVCJ9
|
package/package.json
CHANGED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import shim from "../shim";
|
|
4
|
+
import Combinator from "../combinator";
|
|
5
|
+
|
|
6
|
+
import { STATEMENT_META_TYPE_NAME } from "../metaTypeNames";
|
|
7
|
+
import { statementTokensFromUnqualifiedStatementTokens, unqualifiedStatementTokensFromUnqualifiedStatementString } from "../utilities/tokens";
|
|
8
|
+
import { statementNodeFromUnqualifiedStatementNode,
|
|
9
|
+
unqualifiedStatementStringFromStatementString,
|
|
10
|
+
unqualifiedStatementNodeFromUnqualifiedStatementTokens } from "../utilities/node";
|
|
11
|
+
|
|
12
|
+
const statementString = `(${STATEMENT_META_TYPE_NAME})`,
|
|
13
|
+
unqualifiedStatementString = unqualifiedStatementStringFromStatementString(statementString),
|
|
14
|
+
unqualifiedStatementTokens = unqualifiedStatementTokensFromUnqualifiedStatementString(unqualifiedStatementString),
|
|
15
|
+
unqualifiedStatementNode = unqualifiedStatementNodeFromUnqualifiedStatementTokens(unqualifiedStatementTokens),
|
|
16
|
+
statementTokens = statementTokensFromUnqualifiedStatementTokens(unqualifiedStatementTokens),
|
|
17
|
+
statementNode = statementNodeFromUnqualifiedStatementNode(unqualifiedStatementNode),
|
|
18
|
+
nodeAsTokens = (node) => {
|
|
19
|
+
const tokens = statementTokens; ///
|
|
20
|
+
|
|
21
|
+
return tokens;
|
|
22
|
+
},
|
|
23
|
+
nodeAsString = (node) => {
|
|
24
|
+
const string = statementString; ///
|
|
25
|
+
|
|
26
|
+
return string;
|
|
27
|
+
},
|
|
28
|
+
tokensAsString = (tokens) => {
|
|
29
|
+
const string = statementNode; ///
|
|
30
|
+
|
|
31
|
+
return string;
|
|
32
|
+
},
|
|
33
|
+
localContext = {
|
|
34
|
+
nodeAsTokens,
|
|
35
|
+
nodeAsString,
|
|
36
|
+
tokensAsString
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
export const bracketedStatementNode = statementNode; ///
|
|
40
|
+
|
|
41
|
+
export default class BracketedCombinator extends Combinator {
|
|
42
|
+
static fromNothing() {
|
|
43
|
+
const { Statement } = shim,
|
|
44
|
+
statement = Statement.fromStatementNode(statementNode, localContext),
|
|
45
|
+
bracketedCombinator = new BracketedCombinator(statement);
|
|
46
|
+
|
|
47
|
+
return bracketedCombinator;
|
|
48
|
+
}
|
|
49
|
+
}
|
package/src/constants.js
CHANGED
|
@@ -4,5 +4,5 @@ export const NOT = "not";
|
|
|
4
4
|
export const COMMA = ",";
|
|
5
5
|
export const FUNCTION = "function";
|
|
6
6
|
export const EMPTY_STRING = "";
|
|
7
|
-
export const BRACKETED_TERM_DEPTH =
|
|
8
|
-
export const BRACKETED_STATEMENT_DEPTH =
|
|
7
|
+
export const BRACKETED_TERM_DEPTH = 2;
|
|
8
|
+
export const BRACKETED_STATEMENT_DEPTH = 2;
|
|
@@ -2,23 +2,46 @@
|
|
|
2
2
|
|
|
3
3
|
import shim from "../shim";
|
|
4
4
|
import Constructor from "../constructor";
|
|
5
|
-
import bracketedConstructorTermNode from "../node/term/constructor/bracketed";
|
|
6
5
|
|
|
6
|
+
import { OBJECT_TYPE_NAME } from "../typeNames";
|
|
7
7
|
import { stringFromTermAndType } from "../constructor";
|
|
8
|
-
import {
|
|
8
|
+
import { termTokensFromConstructorDeclarationTokens, constructorDeclarationTokensFromConstructorDeclarationString } from "../utilities/tokens";
|
|
9
|
+
import { termNodeFromConstructorDeclarationNode,
|
|
10
|
+
constructorDeclarationStringFromTermString,
|
|
11
|
+
constructorDeclarationNodeFromConstructorDeclarationTokens } from "../utilities/node";
|
|
9
12
|
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
+
const termString = `(${OBJECT_TYPE_NAME})`, ///
|
|
14
|
+
constructorDeclarationString = constructorDeclarationStringFromTermString(termString),
|
|
15
|
+
constructorDeclarationTokens = constructorDeclarationTokensFromConstructorDeclarationString(constructorDeclarationString),
|
|
16
|
+
constructorDeclarationNode = constructorDeclarationNodeFromConstructorDeclarationTokens(constructorDeclarationTokens),
|
|
17
|
+
termNode = termNodeFromConstructorDeclarationNode(constructorDeclarationNode),
|
|
18
|
+
termTokens = termTokensFromConstructorDeclarationTokens(constructorDeclarationTokens),
|
|
19
|
+
nodeAsTokens = (node) => {
|
|
20
|
+
const tokens = termTokens; ///
|
|
13
21
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
22
|
+
return tokens;
|
|
23
|
+
},
|
|
24
|
+
nodeAsString = (node) => {
|
|
25
|
+
const string = termString; ///
|
|
26
|
+
|
|
27
|
+
return string;
|
|
28
|
+
},
|
|
29
|
+
tokensAsString = (tokens) => {
|
|
30
|
+
const string = termNode; ///
|
|
31
|
+
|
|
32
|
+
return string;
|
|
33
|
+
},
|
|
34
|
+
localContext = {
|
|
35
|
+
nodeAsTokens,
|
|
36
|
+
nodeAsString,
|
|
37
|
+
tokensAsString
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
export const bracketedTermNode = termNode; ///
|
|
17
41
|
|
|
18
42
|
export default class BracketedConstructor extends Constructor {
|
|
19
43
|
static fromNothing() {
|
|
20
44
|
const { Term } = shim,
|
|
21
|
-
termNode = bracketedConstructorTermNode, ///
|
|
22
45
|
term = Term.fromTermNode(termNode, localContext),
|
|
23
46
|
type = null,
|
|
24
47
|
string = stringFromTermAndType(term, type),
|
package/src/context/file.js
CHANGED
|
@@ -17,7 +17,7 @@ import Metatheorem from "../metatheorem";
|
|
|
17
17
|
import Metavariable from "../metavariable";
|
|
18
18
|
|
|
19
19
|
import { objectType } from "../type";
|
|
20
|
-
import { nodeAsString, nodesAsString } from "../utilities/string";
|
|
20
|
+
import { nodeAsTokens, nodeAsString, nodesAsString, tokensAsString } from "../utilities/string";
|
|
21
21
|
|
|
22
22
|
const { push } = arrayUtilities;
|
|
23
23
|
|
|
@@ -560,18 +560,48 @@ export default class FileContext {
|
|
|
560
560
|
return metavariable;
|
|
561
561
|
}
|
|
562
562
|
|
|
563
|
-
nodeAsString(node) {
|
|
564
|
-
|
|
563
|
+
nodeAsString(node, tokens = null) {
|
|
564
|
+
if (tokens === null) {
|
|
565
|
+
tokens = this.tokens;
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
const string = nodeAsString(node, tokens);
|
|
565
569
|
|
|
566
570
|
return string;
|
|
567
571
|
}
|
|
568
572
|
|
|
569
|
-
nodesAsString(node) {
|
|
570
|
-
|
|
573
|
+
nodesAsString(node, tokens = null) {
|
|
574
|
+
if (tokens === null) {
|
|
575
|
+
tokens = this.tokens;
|
|
576
|
+
}
|
|
577
|
+
|
|
578
|
+
const string = nodesAsString(node, tokens);
|
|
571
579
|
|
|
572
580
|
return string;
|
|
573
581
|
}
|
|
574
582
|
|
|
583
|
+
nodeAsTokens(node, tokens = null) {
|
|
584
|
+
if (tokens === null) {
|
|
585
|
+
tokens = this.tokens;
|
|
586
|
+
}
|
|
587
|
+
|
|
588
|
+
tokens = nodeAsTokens(node, tokens); ///
|
|
589
|
+
|
|
590
|
+
return tokens;
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
nodesAsTokens(node, tokens = null) {
|
|
594
|
+
if (tokens === null) {
|
|
595
|
+
tokens = this.tokens;
|
|
596
|
+
}
|
|
597
|
+
|
|
598
|
+
tokens = nodesAsTokens(node, tokens); ///
|
|
599
|
+
|
|
600
|
+
return tokens;
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
tokensAsString(tokens) { return tokensAsString(tokens); }
|
|
604
|
+
|
|
575
605
|
addType(type) {
|
|
576
606
|
this.types.push(type);
|
|
577
607
|
}
|
package/src/context/local.js
CHANGED
|
@@ -10,8 +10,9 @@ import { mergeEquivalences, findEquivalenceByTerm, groundedTermsAndDefinedVariab
|
|
|
10
10
|
const { last, reverse } = arrayUtilities;
|
|
11
11
|
|
|
12
12
|
class LocalContext {
|
|
13
|
-
constructor(context, variables, proofSteps, judgements, equivalences, metavariables) {
|
|
13
|
+
constructor(context, tokens, variables, proofSteps, judgements, equivalences, metavariables) {
|
|
14
14
|
this.context = context;
|
|
15
|
+
this.tokens = tokens;
|
|
15
16
|
this.variables = variables;
|
|
16
17
|
this.proofSteps = proofSteps;
|
|
17
18
|
this.judgements = judgements;
|
|
@@ -23,6 +24,10 @@ class LocalContext {
|
|
|
23
24
|
return this.context;
|
|
24
25
|
}
|
|
25
26
|
|
|
27
|
+
getTokens() {
|
|
28
|
+
return this.tokens;
|
|
29
|
+
}
|
|
30
|
+
|
|
26
31
|
getVariables() {
|
|
27
32
|
let variables = this.context.getVariables();
|
|
28
33
|
|
|
@@ -394,9 +399,47 @@ class LocalContext {
|
|
|
394
399
|
|
|
395
400
|
findMetatheoremByReference(reference) { return this.context.findMetatheoremByReference(reference); }
|
|
396
401
|
|
|
397
|
-
nodeAsString(node
|
|
402
|
+
nodeAsString(node, tokens = null) {
|
|
403
|
+
if (tokens === null) {
|
|
404
|
+
tokens = this.tokens;
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
const string = this.context.nodeAsString(node, tokens);
|
|
408
|
+
|
|
409
|
+
return string;
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
nodesAsString(node, tokens = null) {
|
|
413
|
+
if (tokens === null) {
|
|
414
|
+
tokens = this.tokens;
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
const string = this.context.nodesAsString(node, tokens);
|
|
418
|
+
|
|
419
|
+
return string;
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
nodeAsTokens(node, tokens = null) {
|
|
423
|
+
if (tokens === null) {
|
|
424
|
+
tokens = this.tokens;
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
tokens = this.context.nodeAsTokens(node, tokens); ///
|
|
428
|
+
|
|
429
|
+
return tokens;
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
nodesAsTokens(node, tokens = null) {
|
|
433
|
+
if (tokens === null) {
|
|
434
|
+
tokens = this.tokens;
|
|
435
|
+
}
|
|
398
436
|
|
|
399
|
-
|
|
437
|
+
tokens = this.context.nodesAsTokens(node, tokens); ///
|
|
438
|
+
|
|
439
|
+
return tokens;
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
tokensAsString(tokens) { return this.context.tokensAsString(tokens); }
|
|
400
443
|
|
|
401
444
|
trace(message, node) { this.context.trace(message, node); }
|
|
402
445
|
|
|
@@ -410,25 +453,39 @@ class LocalContext {
|
|
|
410
453
|
|
|
411
454
|
static fromFileContext(fileContext) {
|
|
412
455
|
const context = fileContext, ///
|
|
456
|
+
tokens = null,
|
|
413
457
|
variables = [],
|
|
414
458
|
proofSteps = [],
|
|
415
|
-
equivalences = [],
|
|
416
459
|
judgements = [],
|
|
460
|
+
equivalences = [],
|
|
417
461
|
metavariables = [],
|
|
418
|
-
localContext = new LocalContext(context, variables, proofSteps, judgements, equivalences, metavariables);
|
|
462
|
+
localContext = new LocalContext(context, tokens, variables, proofSteps, judgements, equivalences, metavariables);
|
|
419
463
|
|
|
420
464
|
return localContext;
|
|
421
465
|
}
|
|
422
466
|
|
|
423
467
|
static fromLocalContext(localContext) {
|
|
424
468
|
const context = localContext, ///
|
|
469
|
+
tokens = null,
|
|
425
470
|
variables = [],
|
|
426
471
|
proofSteps = [],
|
|
427
|
-
equivalences = [],
|
|
428
472
|
judgements = [],
|
|
473
|
+
equivalences = [],
|
|
429
474
|
metavariables = [];
|
|
430
475
|
|
|
431
|
-
localContext = new LocalContext(context, variables, proofSteps, judgements, equivalences, metavariables); ///
|
|
476
|
+
localContext = new LocalContext(context, tokens, variables, proofSteps, judgements, equivalences, metavariables); ///
|
|
477
|
+
|
|
478
|
+
return localContext;
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
static fromFileContextAndTokens(fileContext, tokens) {
|
|
482
|
+
const context = fileContext, ///
|
|
483
|
+
variables = [],
|
|
484
|
+
proofSteps = [],
|
|
485
|
+
judgements = [],
|
|
486
|
+
equivalences = [],
|
|
487
|
+
metavariables = [],
|
|
488
|
+
localContext = new LocalContext(context, tokens, variables, proofSteps, judgements, equivalences, metavariables); ///
|
|
432
489
|
|
|
433
490
|
return localContext;
|
|
434
491
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import BracketedCombinator from "../../
|
|
3
|
+
import BracketedCombinator from "../../combinator/bracketed";
|
|
4
4
|
import statementWithCombinatorUnifier from "../../unifier/statementWithCombinator";
|
|
5
5
|
|
|
6
6
|
function unifyWithBracketedCombinator(statement, assignments, stated, localContext) {
|