occam-verify-cli 1.0.420 → 1.0.427
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/action/verify.js +7 -3
- package/lib/context/file.js +8 -44
- package/lib/context/local.js +8 -26
- package/lib/context/nominal.js +64 -0
- package/lib/context/release.js +2 -2
- package/lib/context/temporary.js +6 -58
- package/lib/element/assertion/contained.js +303 -0
- package/lib/element/assertion/defined.js +318 -0
- package/lib/element/assertion/property.js +299 -0
- package/lib/element/assertion/satisfies.js +264 -0
- package/lib/element/assertion/subproof.js +178 -0
- package/lib/element/assertion/type.js +294 -0
- package/lib/{ontology → element}/assertion.js +9 -9
- package/lib/element/assumption.js +365 -0
- package/lib/element/axiom.js +332 -0
- package/lib/element/axiomLemmaTheoremConjecture.js +346 -0
- package/lib/element/conclusion.js +151 -0
- package/lib/{ontology → element}/conjecture.js +7 -14
- package/lib/element/declaration/combinator.js +161 -0
- package/lib/element/declaration/complexType.js +343 -0
- package/lib/element/declaration/constructor.js +193 -0
- package/lib/element/declaration/metavariable.js +193 -0
- package/lib/element/declaration/simpleType.js +240 -0
- package/lib/element/declaration/typePrefix.js +179 -0
- package/lib/element/declaration/variable.js +196 -0
- package/lib/{ontology → element}/declaration.js +9 -9
- package/lib/element/deduction.js +207 -0
- package/lib/element/derivation.js +96 -0
- package/lib/element/equality.js +275 -0
- package/lib/element/equivalence.js +316 -0
- package/lib/element/equivalences.js +264 -0
- package/lib/{ontology → element}/error.js +12 -12
- package/lib/element/frame.js +387 -0
- package/lib/element/hypothesis.js +195 -0
- package/lib/element/judgement.js +243 -0
- package/lib/element/label.js +198 -0
- package/lib/{ontology → element}/lemma.js +7 -7
- package/lib/{ontology → element}/metaLemma.js +8 -8
- package/lib/element/metaLemmaMetatheorem.js +234 -0
- package/lib/{ontology → element}/metaType.js +18 -11
- package/lib/{ontology → element}/metatheorem.js +8 -8
- package/lib/element/metavariable.js +459 -0
- package/lib/element/parameter.js +108 -0
- package/lib/element/premise.js +310 -0
- package/lib/element/procedureCall.js +243 -0
- package/lib/{ontology → element}/procedureReference.js +3 -3
- package/lib/{ontology → element}/proof.js +4 -4
- package/lib/element/property.js +128 -0
- package/lib/element/propertyRelation.js +195 -0
- package/lib/element/reference.js +304 -0
- package/lib/element/rule.js +373 -0
- package/lib/element/section.js +255 -0
- package/lib/element/signature.js +217 -0
- package/lib/element/statement/combinator/bracketed.js +166 -0
- package/lib/element/statement/combinator.js +105 -0
- package/lib/element/statement.js +386 -0
- package/lib/element/step.js +274 -0
- package/lib/element/subDerivation.js +137 -0
- package/lib/element/subproof.js +240 -0
- package/lib/element/substitution/frame.js +216 -0
- package/lib/{ontology → element}/substitution/reference.js +5 -4
- package/lib/{ontology → element}/substitution/statement.js +7 -6
- package/lib/element/substitution/term.js +265 -0
- package/lib/element/substitution.js +206 -0
- package/lib/element/substitutions.js +425 -0
- package/lib/element/supposition.js +323 -0
- package/lib/{ontology → element/term}/constructor/bracketed.js +11 -7
- package/lib/element/term/constructor.js +172 -0
- package/lib/element/term.js +322 -0
- package/lib/{ontology → element}/theorem.js +8 -8
- package/lib/element/type.js +490 -0
- package/lib/element/typePrefix.js +99 -0
- package/lib/element/variable.js +345 -0
- package/lib/elements.js +27 -0
- package/lib/mixins/statement/verify.js +14 -14
- package/lib/mixins/step/unify.js +12 -12
- package/lib/mixins/term/verify.js +4 -4
- package/lib/node/substitution/frame.js +15 -1
- package/lib/node/substitution/statement.js +37 -1
- package/lib/node/substitution/term.js +15 -1
- package/lib/preamble.js +63 -63
- package/lib/process/assign.js +58 -0
- package/lib/process/instantiate.js +68 -7
- package/lib/process/unify.js +26 -26
- package/lib/process/verify.js +21 -21
- package/lib/utilities/brackets.js +9 -18
- package/lib/utilities/customGrammar.js +1 -1
- package/lib/utilities/element.js +1128 -0
- package/lib/utilities/json.js +32 -32
- package/lib/utilities/node.js +49 -61
- package/lib/utilities/statement.js +83 -0
- package/lib/utilities/string.js +98 -56
- package/package.json +10 -10
- package/src/action/verify.js +8 -1
- package/src/context/file.js +9 -39
- package/src/context/local.js +5 -11
- package/src/context/nominal.js +30 -0
- package/src/context/release.js +1 -1
- package/src/context/temporary.js +6 -63
- package/src/{ontology → element}/assertion/contained.js +4 -25
- package/src/{ontology → element}/assertion/defined.js +7 -26
- package/src/{ontology → element}/assertion/property.js +7 -26
- package/src/{ontology → element}/assertion/satisfies.js +5 -53
- package/src/{ontology → element}/assertion/subproof.js +3 -32
- package/src/{ontology → element}/assertion/type.js +7 -26
- package/src/{ontology → element}/assertion.js +6 -6
- package/src/{ontology → element}/assumption.js +3 -27
- package/src/{ontology → element}/axiom.js +4 -11
- package/src/{ontology/topLevelAssertion.js → element/axiomLemmaTheoremConjecture.js} +9 -105
- package/src/{ontology → element}/conclusion.js +4 -19
- package/src/{ontology → element}/conjecture.js +4 -11
- package/src/{ontology → element}/declaration/combinator.js +3 -14
- package/src/{ontology → element}/declaration/complexType.js +3 -19
- package/src/{ontology → element}/declaration/constructor.js +3 -14
- package/src/{ontology → element}/declaration/metavariable.js +3 -39
- package/src/{ontology → element}/declaration/simpleType.js +3 -19
- package/src/{ontology → element}/declaration/typePrefix.js +3 -15
- package/src/{ontology → element}/declaration/variable.js +3 -14
- package/src/{ontology → element}/declaration.js +6 -6
- package/src/{ontology → element}/deduction.js +9 -22
- package/src/{ontology → element}/derivation.js +2 -32
- package/src/{ontology → element}/equality.js +18 -42
- package/src/{ontology → element}/equivalence.js +17 -2
- package/src/{ontology → element}/equivalences.js +1 -1
- package/src/{ontology → element}/error.js +8 -8
- package/src/{ontology → element}/frame.js +8 -56
- package/src/{ontology → element}/hypothesis.js +5 -5
- package/src/{ontology → element}/judgement.js +7 -7
- package/src/{ontology → element}/label.js +3 -3
- package/src/{ontology → element}/lemma.js +4 -4
- package/src/{ontology → element}/metaLemma.js +5 -5
- package/src/{ontology/topLevelMetaAssertion.js → element/metaLemmaMetatheorem.js} +11 -11
- package/src/{ontology → element}/metaType.js +11 -7
- package/src/{ontology → element}/metatheorem.js +5 -5
- package/src/{ontology → element}/metavariable.js +10 -60
- package/src/{ontology → element}/parameter.js +1 -1
- package/src/{ontology → element}/premise.js +14 -14
- package/src/{ontology → element}/procedureCall.js +4 -4
- package/src/{ontology → element}/procedureReference.js +1 -1
- package/src/{ontology → element}/proof.js +3 -3
- package/src/{ontology → element}/property.js +7 -15
- package/src/{ontology → element}/propertyRelation.js +5 -11
- package/src/{ontology → element}/reference.js +5 -19
- package/src/{ontology → element}/rule.js +13 -13
- package/src/{ontology → element}/section.js +10 -10
- package/src/{ontology → element}/signature.js +12 -15
- package/src/element/statement/combinator/bracketed.js +38 -0
- package/src/element/statement/combinator.js +59 -0
- package/src/{ontology → element}/statement.js +11 -27
- package/src/{ontology → element}/step.js +10 -44
- package/src/{ontology → element}/subDerivation.js +3 -24
- package/src/{ontology → element}/subproof.js +3 -43
- package/src/{ontology → element}/substitution/frame.js +4 -21
- package/src/{ontology → element}/substitution/reference.js +3 -3
- package/src/{ontology → element}/substitution/statement.js +6 -10
- package/src/{ontology → element}/substitution/term.js +7 -23
- package/src/{ontology → element}/substitutions.js +1 -1
- package/src/{ontology → element}/supposition.js +10 -10
- package/src/{ontology → element/term}/constructor/bracketed.js +12 -13
- package/src/element/term/constructor.js +82 -0
- package/src/{ontology → element}/term.js +6 -38
- package/src/{ontology → element}/theorem.js +5 -5
- package/src/{ontology → element}/type.js +17 -64
- package/src/{ontology → element}/typePrefix.js +8 -12
- package/src/{ontology → element}/variable.js +9 -20
- package/src/elements.js +13 -0
- package/src/mixins/statement/verify.js +4 -4
- package/src/mixins/step/unify.js +6 -6
- package/src/mixins/term/verify.js +3 -3
- package/src/node/substitution/frame.js +14 -0
- package/src/node/substitution/statement.js +40 -0
- package/src/node/substitution/term.js +15 -0
- package/src/preamble.js +62 -62
- package/src/process/assign.js +59 -0
- package/src/process/instantiate.js +67 -15
- package/src/process/unify.js +37 -39
- package/src/process/verify.js +20 -20
- package/src/utilities/brackets.js +12 -17
- package/src/utilities/customGrammar.js +3 -3
- package/src/utilities/element.js +1380 -0
- package/src/utilities/json.js +31 -31
- package/src/utilities/node.js +56 -64
- package/src/utilities/{context.js → statement.js} +10 -39
- package/src/utilities/string.js +120 -52
- package/lib/assignment/equality.js +0 -62
- package/lib/assignment/judgement.js +0 -62
- package/lib/assignment/variable.js +0 -64
- package/lib/context/bracketed/combinator.js +0 -121
- package/lib/context/bracketed/constructor.js +0 -121
- package/lib/context/bracketted.js +0 -86
- package/lib/context/partial/metavariable.js +0 -180
- package/lib/context/partial/statement.js +0 -180
- package/lib/context/partial/term.js +0 -192
- package/lib/context/partial/variable.js +0 -192
- package/lib/context/partial.js +0 -93
- package/lib/ontology/assertion/contained.js +0 -357
- package/lib/ontology/assertion/defined.js +0 -331
- package/lib/ontology/assertion/property.js +0 -313
- package/lib/ontology/assertion/satisfies.js +0 -302
- package/lib/ontology/assertion/subproof.js +0 -240
- package/lib/ontology/assertion/type.js +0 -308
- package/lib/ontology/assumption.js +0 -383
- package/lib/ontology/axiom.js +0 -339
- package/lib/ontology/combinator/bracketed.js +0 -202
- package/lib/ontology/combinator.js +0 -155
- package/lib/ontology/conclusion.js +0 -201
- package/lib/ontology/constructor.js +0 -185
- package/lib/ontology/declaration/combinator.js +0 -210
- package/lib/ontology/declaration/complexType.js +0 -393
- package/lib/ontology/declaration/constructor.js +0 -242
- package/lib/ontology/declaration/metavariable.js +0 -257
- package/lib/ontology/declaration/simpleType.js +0 -290
- package/lib/ontology/declaration/typePrefix.js +0 -228
- package/lib/ontology/declaration/variable.js +0 -245
- package/lib/ontology/deduction.js +0 -215
- package/lib/ontology/derivation.js +0 -155
- package/lib/ontology/equality.js +0 -288
- package/lib/ontology/equivalence.js +0 -295
- package/lib/ontology/equivalences.js +0 -264
- package/lib/ontology/frame.js +0 -419
- package/lib/ontology/hypothesis.js +0 -190
- package/lib/ontology/judgement.js +0 -248
- package/lib/ontology/label.js +0 -198
- package/lib/ontology/metavariable.js +0 -502
- package/lib/ontology/parameter.js +0 -108
- package/lib/ontology/premise.js +0 -310
- package/lib/ontology/procedureCall.js +0 -243
- package/lib/ontology/property.js +0 -166
- package/lib/ontology/propertyRelation.js +0 -202
- package/lib/ontology/reference.js +0 -315
- package/lib/ontology/rule.js +0 -373
- package/lib/ontology/section.js +0 -255
- package/lib/ontology/signature.js +0 -217
- package/lib/ontology/statement.js +0 -398
- package/lib/ontology/step.js +0 -295
- package/lib/ontology/subDerivation.js +0 -147
- package/lib/ontology/subproof.js +0 -265
- package/lib/ontology/substitution/frame.js +0 -261
- package/lib/ontology/substitution/term.js +0 -269
- package/lib/ontology/substitution.js +0 -206
- package/lib/ontology/substitutions.js +0 -425
- package/lib/ontology/supposition.js +0 -323
- package/lib/ontology/term.js +0 -351
- package/lib/ontology/topLevelAssertion.js +0 -431
- package/lib/ontology/topLevelMetaAssertion.js +0 -234
- package/lib/ontology/type.js +0 -556
- package/lib/ontology/typePrefix.js +0 -99
- package/lib/ontology/variable.js +0 -343
- package/lib/ontology.js +0 -27
- package/lib/utilities/assignments.js +0 -19
- package/lib/utilities/context.js +0 -101
- package/lib/utilities/subproof.js +0 -42
- package/lib/utilities/type.js +0 -40
- package/src/assignment/equality.js +0 -29
- package/src/assignment/judgement.js +0 -29
- package/src/assignment/variable.js +0 -34
- package/src/context/bracketed/combinator.js +0 -31
- package/src/context/bracketed/constructor.js +0 -31
- package/src/context/bracketted.js +0 -41
- package/src/context/partial/metavariable.js +0 -39
- package/src/context/partial/statement.js +0 -39
- package/src/context/partial/term.js +0 -49
- package/src/context/partial/variable.js +0 -49
- package/src/context/partial.js +0 -71
- package/src/ontology/combinator/bracketed.js +0 -38
- package/src/ontology/combinator.js +0 -72
- package/src/ontology/constructor.js +0 -105
- package/src/ontology.js +0 -13
- package/src/utilities/assignments.js +0 -11
- package/src/utilities/subproof.js +0 -56
- package/src/utilities/type.js +0 -35
- /package/src/{ontology → element}/substitution.js +0 -0
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "subproofStringFromSubproofNode", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return subproofStringFromSubproofNode;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
function subproofStringFromSubproofNode(subproofNode, context) {
|
|
12
|
-
var suppositionStatementsOrNonsenseString = suppositionStatementOrNonsenseStringFromSubproofNode(subproofNode, context), lastStatementOrNonsenseString = lastStatementOrNonsenseStringFromSubproofNode(subproofNode, context), subproofString = "[".concat(suppositionStatementsOrNonsenseString, "] ... ").concat(lastStatementOrNonsenseString);
|
|
13
|
-
return subproofString;
|
|
14
|
-
}
|
|
15
|
-
function suppositionStatementOrNonsenseStringFromSubproofNode(subproofNode, context) {
|
|
16
|
-
var suppositionNodes = subproofNode.getSuppositionNodes(), suppositionStatementsOrNonsenseString = suppositionNodes.reduce(function(suppositionStatementsOrNonsenseString, suppositionNode) {
|
|
17
|
-
var suppositionOrStepNode = suppositionNode, statementOrNonsenseString = statementOrNonsenseStringFromSuppositionOrStepNode(suppositionOrStepNode, context), suppositionStatementOrNonsenseString = statementOrNonsenseString; ///
|
|
18
|
-
suppositionStatementsOrNonsenseString = suppositionStatementsOrNonsenseString !== null ? "".concat(suppositionStatementsOrNonsenseString, ", ").concat(suppositionStatementOrNonsenseString) : suppositionStatementOrNonsenseString; ///
|
|
19
|
-
return suppositionStatementsOrNonsenseString;
|
|
20
|
-
}, null);
|
|
21
|
-
return suppositionStatementsOrNonsenseString;
|
|
22
|
-
}
|
|
23
|
-
function lastStatementOrNonsenseStringFromSubproofNode(subproofNode, context) {
|
|
24
|
-
var lastStepNode = subproofNode.getLastStepNode(), suppositionOrStepNode = lastStepNode, statementOrNonsenseString = statementOrNonsenseStringFromSuppositionOrStepNode(suppositionOrStepNode, context), lastStatementOrNonsenseString = statementOrNonsenseString; ///
|
|
25
|
-
return lastStatementOrNonsenseString;
|
|
26
|
-
}
|
|
27
|
-
function statementOrNonsenseStringFromSuppositionOrStepNode(suppositionOrStepNode, context) {
|
|
28
|
-
var statementOrNonsenseString;
|
|
29
|
-
var nonsenseNode = suppositionOrStepNode.getNonsenseNode(), statementNode = suppositionOrStepNode.getStatementNode();
|
|
30
|
-
if (false) {
|
|
31
|
-
///
|
|
32
|
-
} else if (nonsenseNode !== null) {
|
|
33
|
-
var nonsenseString = context.nodeAsString(nonsenseNode);
|
|
34
|
-
statementOrNonsenseString = nonsenseString; ///
|
|
35
|
-
} else if (statementNode !== null) {
|
|
36
|
-
var statementString = context.nodeAsString(statementNode);
|
|
37
|
-
statementOrNonsenseString = statementString; ///
|
|
38
|
-
}
|
|
39
|
-
return statementOrNonsenseString;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc3VicHJvb2YuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBzdWJwcm9vZlN0cmluZ0Zyb21TdWJwcm9vZk5vZGUoc3VicHJvb2ZOb2RlLCBjb250ZXh0KSB7XG4gIGNvbnN0IHN1cHBvc2l0aW9uU3RhdGVtZW50c09yTm9uc2Vuc2VTdHJpbmcgPSBzdXBwb3NpdGlvblN0YXRlbWVudE9yTm9uc2Vuc2VTdHJpbmdGcm9tU3VicHJvb2ZOb2RlKHN1YnByb29mTm9kZSwgY29udGV4dCksXG4gICAgICAgIGxhc3RTdGF0ZW1lbnRPck5vbnNlbnNlU3RyaW5nID0gbGFzdFN0YXRlbWVudE9yTm9uc2Vuc2VTdHJpbmdGcm9tU3VicHJvb2ZOb2RlKHN1YnByb29mTm9kZSwgY29udGV4dCksXG4gICAgICAgIHN1YnByb29mU3RyaW5nID0gYFske3N1cHBvc2l0aW9uU3RhdGVtZW50c09yTm9uc2Vuc2VTdHJpbmd9XSAuLi4gJHtsYXN0U3RhdGVtZW50T3JOb25zZW5zZVN0cmluZ31gO1xuXG4gIHJldHVybiBzdWJwcm9vZlN0cmluZztcbn1cblxuZnVuY3Rpb24gc3VwcG9zaXRpb25TdGF0ZW1lbnRPck5vbnNlbnNlU3RyaW5nRnJvbVN1YnByb29mTm9kZShzdWJwcm9vZk5vZGUsIGNvbnRleHQpIHtcbiAgY29uc3Qgc3VwcG9zaXRpb25Ob2RlcyA9IHN1YnByb29mTm9kZS5nZXRTdXBwb3NpdGlvbk5vZGVzKCksXG4gICAgICAgIHN1cHBvc2l0aW9uU3RhdGVtZW50c09yTm9uc2Vuc2VTdHJpbmcgPSBzdXBwb3NpdGlvbk5vZGVzLnJlZHVjZSgoc3VwcG9zaXRpb25TdGF0ZW1lbnRzT3JOb25zZW5zZVN0cmluZywgc3VwcG9zaXRpb25Ob2RlKSA9PiB7XG4gICAgICAgICAgY29uc3Qgc3VwcG9zaXRpb25PclN0ZXBOb2RlID0gc3VwcG9zaXRpb25Ob2RlLCAgLy8vXG4gICAgICAgICAgICAgICAgc3RhdGVtZW50T3JOb25zZW5zZVN0cmluZyA9IHN0YXRlbWVudE9yTm9uc2Vuc2VTdHJpbmdGcm9tU3VwcG9zaXRpb25PclN0ZXBOb2RlKHN1cHBvc2l0aW9uT3JTdGVwTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgICAgICAgc3VwcG9zaXRpb25TdGF0ZW1lbnRPck5vbnNlbnNlU3RyaW5nID0gc3RhdGVtZW50T3JOb25zZW5zZVN0cmluZzsgLy8vXG5cbiAgICAgICAgICBzdXBwb3NpdGlvblN0YXRlbWVudHNPck5vbnNlbnNlU3RyaW5nID0gKHN1cHBvc2l0aW9uU3RhdGVtZW50c09yTm9uc2Vuc2VTdHJpbmcgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtzdXBwb3NpdGlvblN0YXRlbWVudHNPck5vbnNlbnNlU3RyaW5nfSwgJHtzdXBwb3NpdGlvblN0YXRlbWVudE9yTm9uc2Vuc2VTdHJpbmd9YCA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3NpdGlvblN0YXRlbWVudE9yTm9uc2Vuc2VTdHJpbmc7IC8vL1xuXG4gICAgICAgICAgcmV0dXJuIHN1cHBvc2l0aW9uU3RhdGVtZW50c09yTm9uc2Vuc2VTdHJpbmc7XG4gICAgICAgIH0sIG51bGwpO1xuXG4gIHJldHVybiBzdXBwb3NpdGlvblN0YXRlbWVudHNPck5vbnNlbnNlU3RyaW5nO1xufVxuXG5mdW5jdGlvbiBsYXN0U3RhdGVtZW50T3JOb25zZW5zZVN0cmluZ0Zyb21TdWJwcm9vZk5vZGUoc3VicHJvb2ZOb2RlLCBjb250ZXh0KSB7XG4gIGNvbnN0IGxhc3RTdGVwTm9kZSA9IHN1YnByb29mTm9kZS5nZXRMYXN0U3RlcE5vZGUoKSxcbiAgICAgICAgc3VwcG9zaXRpb25PclN0ZXBOb2RlID0gbGFzdFN0ZXBOb2RlLCAvLy9cbiAgICAgICAgc3RhdGVtZW50T3JOb25zZW5zZVN0cmluZyA9IHN0YXRlbWVudE9yTm9uc2Vuc2VTdHJpbmdGcm9tU3VwcG9zaXRpb25PclN0ZXBOb2RlKHN1cHBvc2l0aW9uT3JTdGVwTm9kZSwgY29udGV4dCksXG4gICAgICAgIGxhc3RTdGF0ZW1lbnRPck5vbnNlbnNlU3RyaW5nID0gc3RhdGVtZW50T3JOb25zZW5zZVN0cmluZzsgLy8vXG5cbiAgcmV0dXJuIGxhc3RTdGF0ZW1lbnRPck5vbnNlbnNlU3RyaW5nO1xufVxuXG5mdW5jdGlvbiBzdGF0ZW1lbnRPck5vbnNlbnNlU3RyaW5nRnJvbVN1cHBvc2l0aW9uT3JTdGVwTm9kZShzdXBwb3NpdGlvbk9yU3RlcE5vZGUsIGNvbnRleHQpIHtcbiAgbGV0IHN0YXRlbWVudE9yTm9uc2Vuc2VTdHJpbmc7XG5cbiAgY29uc3Qgbm9uc2Vuc2VOb2RlID0gc3VwcG9zaXRpb25PclN0ZXBOb2RlLmdldE5vbnNlbnNlTm9kZSgpLFxuICAgICAgICBzdGF0ZW1lbnROb2RlID0gc3VwcG9zaXRpb25PclN0ZXBOb2RlLmdldFN0YXRlbWVudE5vZGUoKTtcblxuICBpZiAoZmFsc2UpIHtcbiAgICAvLy9cbiAgfSBlbHNlIGlmIChub25zZW5zZU5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBub25zZW5zZVN0cmluZyA9IGNvbnRleHQubm9kZUFzU3RyaW5nKG5vbnNlbnNlTm9kZSk7XG5cbiAgICBzdGF0ZW1lbnRPck5vbnNlbnNlU3RyaW5nID0gbm9uc2Vuc2VTdHJpbmc7IC8vL1xuICB9IGVsc2UgaWYgKHN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBjb250ZXh0Lm5vZGVBc1N0cmluZyhzdGF0ZW1lbnROb2RlKTtcblxuICAgIHN0YXRlbWVudE9yTm9uc2Vuc2VTdHJpbmcgPSBzdGF0ZW1lbnRTdHJpbmc7ICAvLy9cbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRPck5vbnNlbnNlU3RyaW5nO1xufSJdLCJuYW1lcyI6WyJzdWJwcm9vZlN0cmluZ0Zyb21TdWJwcm9vZk5vZGUiLCJzdWJwcm9vZk5vZGUiLCJjb250ZXh0Iiwic3VwcG9zaXRpb25TdGF0ZW1lbnRzT3JOb25zZW5zZVN0cmluZyIsInN1cHBvc2l0aW9uU3RhdGVtZW50T3JOb25zZW5zZVN0cmluZ0Zyb21TdWJwcm9vZk5vZGUiLCJsYXN0U3RhdGVtZW50T3JOb25zZW5zZVN0cmluZyIsImxhc3RTdGF0ZW1lbnRPck5vbnNlbnNlU3RyaW5nRnJvbVN1YnByb29mTm9kZSIsInN1YnByb29mU3RyaW5nIiwic3VwcG9zaXRpb25Ob2RlcyIsImdldFN1cHBvc2l0aW9uTm9kZXMiLCJyZWR1Y2UiLCJzdXBwb3NpdGlvbk5vZGUiLCJzdXBwb3NpdGlvbk9yU3RlcE5vZGUiLCJzdGF0ZW1lbnRPck5vbnNlbnNlU3RyaW5nIiwic3RhdGVtZW50T3JOb25zZW5zZVN0cmluZ0Zyb21TdXBwb3NpdGlvbk9yU3RlcE5vZGUiLCJzdXBwb3NpdGlvblN0YXRlbWVudE9yTm9uc2Vuc2VTdHJpbmciLCJsYXN0U3RlcE5vZGUiLCJnZXRMYXN0U3RlcE5vZGUiLCJub25zZW5zZU5vZGUiLCJnZXROb25zZW5zZU5vZGUiLCJzdGF0ZW1lbnROb2RlIiwiZ2V0U3RhdGVtZW50Tm9kZSIsIm5vbnNlbnNlU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwic3RhdGVtZW50U3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFFZ0JBOzs7ZUFBQUE7OztBQUFULFNBQVNBLCtCQUErQkMsWUFBWSxFQUFFQyxPQUFPO0lBQ2xFLElBQU1DLHdDQUF3Q0MscURBQXFESCxjQUFjQyxVQUMzR0csZ0NBQWdDQyw4Q0FBOENMLGNBQWNDLFVBQzVGSyxpQkFBaUIsQUFBQyxJQUFpREYsT0FBOUNGLHVDQUFzQyxVQUFzQyxPQUE5QkU7SUFFekUsT0FBT0U7QUFDVDtBQUVBLFNBQVNILHFEQUFxREgsWUFBWSxFQUFFQyxPQUFPO0lBQ2pGLElBQU1NLG1CQUFtQlAsYUFBYVEsbUJBQW1CLElBQ25ETix3Q0FBd0NLLGlCQUFpQkUsTUFBTSxDQUFDLFNBQUNQLHVDQUF1Q1E7UUFDdEcsSUFBTUMsd0JBQXdCRCxpQkFDeEJFLDRCQUE0QkMsbURBQW1ERix1QkFBdUJWLFVBQ3RHYSx1Q0FBdUNGLDJCQUEyQixHQUFHO1FBRTNFVix3Q0FBd0MsQUFBQ0EsMENBQTBDLE9BQ3pDLEFBQUMsR0FBNENZLE9BQTFDWix1Q0FBc0MsTUFBeUMsT0FBckNZLHdDQUMzQ0Esc0NBQXNDLEdBQUc7UUFFckYsT0FBT1o7SUFDVCxHQUFHO0lBRVQsT0FBT0E7QUFDVDtBQUVBLFNBQVNHLDhDQUE4Q0wsWUFBWSxFQUFFQyxPQUFPO0lBQzFFLElBQU1jLGVBQWVmLGFBQWFnQixlQUFlLElBQzNDTCx3QkFBd0JJLGNBQ3hCSCw0QkFBNEJDLG1EQUFtREYsdUJBQXVCVixVQUN0R0csZ0NBQWdDUSwyQkFBMkIsR0FBRztJQUVwRSxPQUFPUjtBQUNUO0FBRUEsU0FBU1MsbURBQW1ERixxQkFBcUIsRUFBRVYsT0FBTztJQUN4RixJQUFJVztJQUVKLElBQU1LLGVBQWVOLHNCQUFzQk8sZUFBZSxJQUNwREMsZ0JBQWdCUixzQkFBc0JTLGdCQUFnQjtJQUU1RCxJQUFJLE9BQU87SUFDVCxHQUFHO0lBQ0wsT0FBTyxJQUFJSCxpQkFBaUIsTUFBTTtRQUNoQyxJQUFNSSxpQkFBaUJwQixRQUFRcUIsWUFBWSxDQUFDTDtRQUU1Q0wsNEJBQTRCUyxnQkFBZ0IsR0FBRztJQUNqRCxPQUFPLElBQUlGLGtCQUFrQixNQUFNO1FBQ2pDLElBQU1JLGtCQUFrQnRCLFFBQVFxQixZQUFZLENBQUNIO1FBRTdDUCw0QkFBNEJXLGlCQUFrQixHQUFHO0lBQ25EO0lBRUEsT0FBT1g7QUFDVCJ9
|
package/lib/utilities/type.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
function _export(target, all) {
|
|
6
|
-
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
get stringFromTypeNameTypePrefixNameAndSuperTypes () {
|
|
13
|
-
return stringFromTypeNameTypePrefixNameAndSuperTypes;
|
|
14
|
-
},
|
|
15
|
-
get superTypesStringFromSuperTypes () {
|
|
16
|
-
return superTypesStringFromSuperTypes;
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
var _type = require("../ontology/type");
|
|
20
|
-
function stringFromTypeNameTypePrefixNameAndSuperTypes(typeName, typePrefixName, superTypes) {
|
|
21
|
-
var string;
|
|
22
|
-
string = typePrefixName !== null ? "".concat(typePrefixName).concat(typeName) : typeName;
|
|
23
|
-
var superTypesString = superTypesStringFromSuperTypes(superTypes);
|
|
24
|
-
if (superTypesString !== null) {
|
|
25
|
-
string = "".concat(string, ":").concat(superTypesString);
|
|
26
|
-
}
|
|
27
|
-
return string;
|
|
28
|
-
}
|
|
29
|
-
function superTypesStringFromSuperTypes(superTypes) {
|
|
30
|
-
var superTypesString = superTypes.reduce(function(superTypesString, superType) {
|
|
31
|
-
if (superType !== _type.baseType) {
|
|
32
|
-
var superTypeString = superType.getString();
|
|
33
|
-
superTypesString = superTypesString === null ? "'".concat(superTypeString, "'") : "".concat(superTypesString, ", '").concat(superTypeString, "'");
|
|
34
|
-
}
|
|
35
|
-
return superTypesString;
|
|
36
|
-
}, null);
|
|
37
|
-
return superTypesString;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdHlwZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYmFzZVR5cGUgfSBmcm9tIFwiLi4vb250b2xvZ3kvdHlwZVwiO1xuXG5leHBvcnQgZnVuY3Rpb24gc3RyaW5nRnJvbVR5cGVOYW1lVHlwZVByZWZpeE5hbWVBbmRTdXBlclR5cGVzKHR5cGVOYW1lLCB0eXBlUHJlZml4TmFtZSwgc3VwZXJUeXBlcykge1xuICBsZXQgc3RyaW5nO1xuXG4gIHN0cmluZyA9ICh0eXBlUHJlZml4TmFtZSAhPT0gbnVsbCkgP1xuICAgICAgICAgICAgIGAke3R5cGVQcmVmaXhOYW1lfSR7dHlwZU5hbWV9YDpcbiAgICAgICAgICAgICAgIHR5cGVOYW1lO1xuXG4gIGNvbnN0IHN1cGVyVHlwZXNTdHJpbmcgPSBzdXBlclR5cGVzU3RyaW5nRnJvbVN1cGVyVHlwZXMoc3VwZXJUeXBlcyk7XG5cbiAgaWYgKHN1cGVyVHlwZXNTdHJpbmcgIT09IG51bGwpIHtcbiAgICBzdHJpbmcgPSBgJHtzdHJpbmd9OiR7c3VwZXJUeXBlc1N0cmluZ31gO1xuICB9XG5cbiAgcmV0dXJuIHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN1cGVyVHlwZXNTdHJpbmdGcm9tU3VwZXJUeXBlcyhzdXBlclR5cGVzKSB7XG4gIGNvbnN0IHN1cGVyVHlwZXNTdHJpbmcgPSBzdXBlclR5cGVzLnJlZHVjZSgoc3VwZXJUeXBlc1N0cmluZywgc3VwZXJUeXBlKSA9PiB7XG4gICAgaWYgKHN1cGVyVHlwZSAhPT0gYmFzZVR5cGUpIHtcbiAgICAgIGNvbnN0IHN1cGVyVHlwZVN0cmluZyA9IHN1cGVyVHlwZS5nZXRTdHJpbmcoKTtcblxuICAgICAgc3VwZXJUeXBlc1N0cmluZyA9IChzdXBlclR5cGVzU3RyaW5nID09PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBgJyR7c3VwZXJUeXBlU3RyaW5nfSdgIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7c3VwZXJUeXBlc1N0cmluZ30sICcke3N1cGVyVHlwZVN0cmluZ30nYDtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VwZXJUeXBlc1N0cmluZztcbiAgfSwgbnVsbCk7XG5cbiAgcmV0dXJuIHN1cGVyVHlwZXNTdHJpbmc7XG59XG4iXSwibmFtZXMiOlsic3RyaW5nRnJvbVR5cGVOYW1lVHlwZVByZWZpeE5hbWVBbmRTdXBlclR5cGVzIiwic3VwZXJUeXBlc1N0cmluZ0Zyb21TdXBlclR5cGVzIiwidHlwZU5hbWUiLCJ0eXBlUHJlZml4TmFtZSIsInN1cGVyVHlwZXMiLCJzdHJpbmciLCJzdXBlclR5cGVzU3RyaW5nIiwicmVkdWNlIiwic3VwZXJUeXBlIiwiYmFzZVR5cGUiLCJzdXBlclR5cGVTdHJpbmciLCJnZXRTdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQUlnQkE7ZUFBQUE7O1FBZ0JBQztlQUFBQTs7O29CQWxCUztBQUVsQixTQUFTRCw4Q0FBOENFLFFBQVEsRUFBRUMsY0FBYyxFQUFFQyxVQUFVO0lBQ2hHLElBQUlDO0lBRUpBLFNBQVMsQUFBQ0YsbUJBQW1CLE9BQ2xCLEFBQUMsR0FBbUJELE9BQWpCQyxnQkFBMEIsT0FBVEQsWUFDbEJBO0lBRWIsSUFBTUksbUJBQW1CTCwrQkFBK0JHO0lBRXhELElBQUlFLHFCQUFxQixNQUFNO1FBQzdCRCxTQUFTLEFBQUMsR0FBWUMsT0FBVkQsUUFBTyxLQUFvQixPQUFqQkM7SUFDeEI7SUFFQSxPQUFPRDtBQUNUO0FBRU8sU0FBU0osK0JBQStCRyxVQUFVO0lBQ3ZELElBQU1FLG1CQUFtQkYsV0FBV0csTUFBTSxDQUFDLFNBQUNELGtCQUFrQkU7UUFDNUQsSUFBSUEsY0FBY0MsY0FBUSxFQUFFO1lBQzFCLElBQU1DLGtCQUFrQkYsVUFBVUcsU0FBUztZQUUzQ0wsbUJBQW1CLEFBQUNBLHFCQUFxQixPQUNwQixBQUFDLElBQW1CLE9BQWhCSSxpQkFBZ0IsT0FDbEIsQUFBQyxHQUF3QkEsT0FBdEJKLGtCQUFpQixPQUFxQixPQUFoQkksaUJBQWdCO1FBQ2xFO1FBRUEsT0FBT0o7SUFDVCxHQUFHO0lBRUgsT0FBT0E7QUFDVCJ9
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
export default class EqualityAssignment {
|
|
4
|
-
constructor(equality) {
|
|
5
|
-
this.equality = equality;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
getEquality() {
|
|
9
|
-
return this.equality;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
assign(context) {
|
|
13
|
-
const equalityAdded = context.addEquality(this.equality),
|
|
14
|
-
equalityString = this.equality.getString(),
|
|
15
|
-
equalityAssigned = equalityAdded; ///
|
|
16
|
-
|
|
17
|
-
equalityAssigned ?
|
|
18
|
-
context.trace(`Assigned the '${equalityString}' equality.`) :
|
|
19
|
-
context.debug(`Unable to assign the '${equalityString}' equality.`);
|
|
20
|
-
|
|
21
|
-
return equalityAssigned;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
static fromEquality(equality) {
|
|
25
|
-
const equalityAssignment = new EqualityAssignment(equality);
|
|
26
|
-
|
|
27
|
-
return equalityAssignment;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
export default class JudgementAssignment {
|
|
4
|
-
constructor(judgement) {
|
|
5
|
-
this.judgement = judgement;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
getJudgement() {
|
|
9
|
-
return this.judgement;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
assign(context) {
|
|
13
|
-
const judgementAdded = context.addJudgement(this.judgement),
|
|
14
|
-
judgementString = this.judgement.getString(),
|
|
15
|
-
judgementAssigned = judgementAdded; ///
|
|
16
|
-
|
|
17
|
-
judgementAssigned ?
|
|
18
|
-
context.trace(`Assigned the '${judgementString}' judgement.`) :
|
|
19
|
-
context.debug(`Unable to assign the '${judgementString}' judgement.`);
|
|
20
|
-
|
|
21
|
-
return judgementAssigned;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
static fromJudgement(judgement) {
|
|
25
|
-
const judgementAssignment = new JudgementAssignment(judgement);
|
|
26
|
-
|
|
27
|
-
return judgementAssignment;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
export default class VariableAssignment {
|
|
4
|
-
constructor(variable) {
|
|
5
|
-
this.variable = variable;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
getVariable() {
|
|
9
|
-
return this.variable;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
assign(context) {
|
|
13
|
-
const nested = false;
|
|
14
|
-
|
|
15
|
-
context.addVariable(this.variable, nested);
|
|
16
|
-
|
|
17
|
-
const variableType = this.variable.getType(),
|
|
18
|
-
variableString = this.variable.getString(),
|
|
19
|
-
variableAssigned = true, ///
|
|
20
|
-
variableTypeString = variableType.getString();
|
|
21
|
-
|
|
22
|
-
variableAssigned ?
|
|
23
|
-
context.trace(`Assigned the '${variableString}' variable with type '${variableTypeString}'.`) :
|
|
24
|
-
context.debug(`Unable to assign the '${variableString}' variable with type '${variableTypeString}'.`);
|
|
25
|
-
|
|
26
|
-
return variableAssigned;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
static fromVariable(variable) {
|
|
30
|
-
const variableAssignment = new VariableAssignment(variable);
|
|
31
|
-
|
|
32
|
-
return variableAssignment;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import BracketedContext from "../../context/bracketted";
|
|
4
|
-
import StatementPartialContext from "../../context/partial/statement";
|
|
5
|
-
|
|
6
|
-
import { STATEMENT_META_TYPE_NAME } from "../../metaTypeNames";
|
|
7
|
-
import { nominalLexer, nominalParser } from "../../utilities/nominal";
|
|
8
|
-
|
|
9
|
-
class CombinatorBracketedContext extends BracketedContext {
|
|
10
|
-
getBracketedStatementNode() {
|
|
11
|
-
const node = this.getNode(),
|
|
12
|
-
bracketedStatementNode = node; ///
|
|
13
|
-
|
|
14
|
-
return bracketedStatementNode;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
static fromNothing() {
|
|
18
|
-
const string = `(${STATEMENT_META_TYPE_NAME})`,
|
|
19
|
-
lexer = nominalLexer, ///
|
|
20
|
-
parser = nominalParser, ///
|
|
21
|
-
statementPartialContext = StatementPartialContext.fromStringLexerAndParser(string, lexer, parser),
|
|
22
|
-
context = statementPartialContext, ///
|
|
23
|
-
combinatorBracketedContext = BracketedContext.fromString(CombinatorBracketedContext, string, context);
|
|
24
|
-
|
|
25
|
-
return combinatorBracketedContext;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
const combinatorBracketedContext = CombinatorBracketedContext.fromNothing();
|
|
30
|
-
|
|
31
|
-
export default combinatorBracketedContext;
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import BracketedContext from "../../context/bracketted";
|
|
4
|
-
import TermPartialContext from "../../context/partial/term";
|
|
5
|
-
|
|
6
|
-
import { BASE_TYPE_SYMBOL } from "../../constants";
|
|
7
|
-
import { nominalLexer, nominalParser } from "../../utilities/nominal";
|
|
8
|
-
|
|
9
|
-
class ConstructorBracketedContext extends BracketedContext {
|
|
10
|
-
getBracketedTermNode() {
|
|
11
|
-
const node = this.getNode(),
|
|
12
|
-
bracketedTermNode = node; ///
|
|
13
|
-
|
|
14
|
-
return bracketedTermNode;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
static fromNothing() {
|
|
18
|
-
const string = `(${BASE_TYPE_SYMBOL})`,
|
|
19
|
-
lexer = nominalLexer, ///
|
|
20
|
-
parser = nominalParser, ///
|
|
21
|
-
termPartialContext = TermPartialContext.fromStringLexerAndParser(string, lexer, parser),
|
|
22
|
-
context = termPartialContext,
|
|
23
|
-
constructorBracketedContext = BracketedContext.fromString(ConstructorBracketedContext, string, context);
|
|
24
|
-
|
|
25
|
-
return constructorBracketedContext;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
const constructorBracketedContext = ConstructorBracketedContext.fromNothing();
|
|
30
|
-
|
|
31
|
-
export default constructorBracketedContext;
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
export default class BracketedContext {
|
|
4
|
-
constructor(string, node, tokens) {
|
|
5
|
-
this.string = string;
|
|
6
|
-
this.node = node;
|
|
7
|
-
this.tokens = tokens;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
getString() {
|
|
11
|
-
return this.string;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
getNode() {
|
|
15
|
-
return this.node;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
getTokens() {
|
|
19
|
-
return this.tokens;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
nodeAsTokens() {
|
|
23
|
-
return this.tokens;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
nodeAsString() {
|
|
27
|
-
return this.string;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
tokensAsString() {
|
|
31
|
-
return this.string;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
static fromString(Class, string, context) {
|
|
35
|
-
const node = context.getNode(),
|
|
36
|
-
tokens = context.getTokens(),
|
|
37
|
-
bracketedContext = new Class(string, node, tokens);
|
|
38
|
-
|
|
39
|
-
return bracketedContext;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import PartialContext from "../../context/partial";
|
|
4
|
-
|
|
5
|
-
import { ruleFromBNF } from "../../context/partial";
|
|
6
|
-
|
|
7
|
-
const bnf = `
|
|
8
|
-
|
|
9
|
-
_ ::= metavariable... <END_OF_LINE> ;
|
|
10
|
-
|
|
11
|
-
`,
|
|
12
|
-
rule = ruleFromBNF(bnf);
|
|
13
|
-
|
|
14
|
-
export default class MetavariablePartialContext extends PartialContext {
|
|
15
|
-
getMetavariableNode() {
|
|
16
|
-
const metavariableNode = this.node; ///
|
|
17
|
-
|
|
18
|
-
return metavariableNode;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
getMetavariableTokens() {
|
|
22
|
-
const metavariableTokens = this.tokens; ///
|
|
23
|
-
|
|
24
|
-
return metavariableTokens;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
static rule = rule;
|
|
28
|
-
|
|
29
|
-
static fromMetavariable(metavariable, context) {
|
|
30
|
-
const string = metavariable.getString(),
|
|
31
|
-
lexer = context.getLexer(),
|
|
32
|
-
parser = context.getParser(),
|
|
33
|
-
metavariablePartialContext = PartialContext.fromStringLexerAndParser(MetavariablePartialContext, string, lexer, parser);
|
|
34
|
-
|
|
35
|
-
return metavariablePartialContext;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
static fromStringLexerAndParser(string, lexer, parser) { return PartialContext.fromStringLexerAndParser(MetavariablePartialContext, string, lexer, parser); }
|
|
39
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import PartialContext from "../../context/partial";
|
|
4
|
-
|
|
5
|
-
import { ruleFromBNF } from "../../context/partial";
|
|
6
|
-
|
|
7
|
-
const bnf = `
|
|
8
|
-
|
|
9
|
-
_ ::= statement... <END_OF_LINE> ;
|
|
10
|
-
|
|
11
|
-
`,
|
|
12
|
-
rule = ruleFromBNF(bnf);
|
|
13
|
-
|
|
14
|
-
export default class StatementPartialContext extends PartialContext {
|
|
15
|
-
getStatementNode() {
|
|
16
|
-
const statementNode = this.node; ///
|
|
17
|
-
|
|
18
|
-
return statementNode;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
getStatementTokens() {
|
|
22
|
-
const statementTokens = this.tokens; ///
|
|
23
|
-
|
|
24
|
-
return statementTokens;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
static rule = rule;
|
|
28
|
-
|
|
29
|
-
static fromStatement(statement, context) {
|
|
30
|
-
const string = statement.getString(),
|
|
31
|
-
lexer = context.getLexer(),
|
|
32
|
-
parser = context.getParser(),
|
|
33
|
-
statementPartialContext = PartialContext.fromStringLexerAndParser(StatementPartialContext, string, lexer, parser);
|
|
34
|
-
|
|
35
|
-
return statementPartialContext;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
static fromStringLexerAndParser(string, lexer, parser) { return PartialContext.fromStringLexerAndParser(StatementPartialContext, string, lexer, parser); }
|
|
39
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import PartialContext from "../../context/partial";
|
|
4
|
-
|
|
5
|
-
import { ruleFromBNF } from "../../context/partial";
|
|
6
|
-
|
|
7
|
-
const bnf = `
|
|
8
|
-
|
|
9
|
-
_ ::= term... <END_OF_LINE> ;
|
|
10
|
-
|
|
11
|
-
`,
|
|
12
|
-
rule = ruleFromBNF(bnf);
|
|
13
|
-
|
|
14
|
-
export default class TermPartialContext extends PartialContext {
|
|
15
|
-
getTermNode() {
|
|
16
|
-
const termNode = this.node; ///
|
|
17
|
-
|
|
18
|
-
return termNode;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
getTermTokens() {
|
|
22
|
-
const termTokens = this.tokens; ///
|
|
23
|
-
|
|
24
|
-
return termTokens;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
static rule = rule;
|
|
28
|
-
|
|
29
|
-
static fromTerm(term, context) {
|
|
30
|
-
const string = term.getString(),
|
|
31
|
-
lexer = context.getLexer(),
|
|
32
|
-
parser = context.getParser(),
|
|
33
|
-
termPartialContext = PartialContext.fromStringLexerAndParser(TermPartialContext, string, lexer, parser);
|
|
34
|
-
|
|
35
|
-
return termPartialContext;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
static fromStringLexerAndParser(string, lexer, parser) { return PartialContext.fromStringLexerAndParser(TermPartialContext, string, lexer, parser); }
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export function termNodeFromTermString(termString, context) {
|
|
42
|
-
const string = termString, ///
|
|
43
|
-
lexer = context.getLexer(),
|
|
44
|
-
parser = context.getParser(),
|
|
45
|
-
termPartialContext = TermPartialContext.fromStringLexerAndParser(string, lexer, parser),
|
|
46
|
-
termNode = termPartialContext.getTermNode();
|
|
47
|
-
|
|
48
|
-
return termNode;
|
|
49
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import PartialContext from "../../context/partial";
|
|
4
|
-
|
|
5
|
-
import { ruleFromBNF } from "../../context/partial";
|
|
6
|
-
|
|
7
|
-
const bnf = `
|
|
8
|
-
|
|
9
|
-
_ ::= variable... <END_OF_LINE> ;
|
|
10
|
-
|
|
11
|
-
`,
|
|
12
|
-
rule = ruleFromBNF(bnf);
|
|
13
|
-
|
|
14
|
-
export default class VariablePartialContext extends PartialContext {
|
|
15
|
-
getVariableNode() {
|
|
16
|
-
const variableNode = this.node; ///
|
|
17
|
-
|
|
18
|
-
return variableNode;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
getVariableTokens() {
|
|
22
|
-
const variableTokens = this.tokens; ///
|
|
23
|
-
|
|
24
|
-
return variableTokens;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
static rule = rule;
|
|
28
|
-
|
|
29
|
-
static fromVariable(variable, context) {
|
|
30
|
-
const string = variable.getString(),
|
|
31
|
-
lexer = context.getLexer(),
|
|
32
|
-
parser = context.getParser(),
|
|
33
|
-
variablePartialContext = PartialContext.fromStringLexerAndParser(VariablePartialContext, string, context, lexer, parser);
|
|
34
|
-
|
|
35
|
-
return variablePartialContext;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
static fromStringLexerAndParser(string, lexer, parser) { return PartialContext.fromStringLexerAndParser(VariablePartialContext, string, lexer, parser); }
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export function variableNodeFromVariableString(variableString, context) {
|
|
42
|
-
const string = variableString, ///
|
|
43
|
-
lexer = context.getLexer(),
|
|
44
|
-
parser = context.getParser(),
|
|
45
|
-
variablePartialContext = VariablePartialContext.fromStringLexerAndParser(string, lexer, parser),
|
|
46
|
-
variableNode = variablePartialContext.getVariableNode();
|
|
47
|
-
|
|
48
|
-
return variableNode;
|
|
49
|
-
}
|
package/src/context/partial.js
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { BNFLexer } from "occam-lexers";
|
|
4
|
-
import { BNFParser } from "occam-parsers";
|
|
5
|
-
import { arrayUtilities } from "necessary";
|
|
6
|
-
|
|
7
|
-
const { first } = arrayUtilities;
|
|
8
|
-
|
|
9
|
-
const bnfLexer = BNFLexer.fromNothing(),
|
|
10
|
-
bnfParser = BNFParser.fromNothing();
|
|
11
|
-
|
|
12
|
-
export default class PartialContext {
|
|
13
|
-
constructor(node, tokens) {
|
|
14
|
-
this.node = node;
|
|
15
|
-
this.tokens = tokens;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
getNode() {
|
|
19
|
-
return this.node;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
getTokens() {
|
|
23
|
-
return this.tokens;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
static fromStringLexerAndParser(Class, string, lexer, parser) {
|
|
27
|
-
const { rule } = Class,
|
|
28
|
-
startRule = rule, ///
|
|
29
|
-
content = `${string}
|
|
30
|
-
`;
|
|
31
|
-
|
|
32
|
-
let tokens = lexer.tokenise(content),
|
|
33
|
-
node = parser.parse(tokens, startRule);
|
|
34
|
-
|
|
35
|
-
node.someChildNode((childNode) => {
|
|
36
|
-
const childNodeNonTerminalNode = childNode.isNonTerminalNode();
|
|
37
|
-
|
|
38
|
-
if (childNodeNonTerminalNode) {
|
|
39
|
-
node = childNode; ///
|
|
40
|
-
|
|
41
|
-
tokens = tokensFromTokensAndNode(tokens, node); ///
|
|
42
|
-
|
|
43
|
-
return true;
|
|
44
|
-
}
|
|
45
|
-
})
|
|
46
|
-
|
|
47
|
-
const partialContext = new Class(node, tokens);
|
|
48
|
-
|
|
49
|
-
return partialContext;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
export function ruleFromBNF(bnf) {
|
|
54
|
-
const tokens = bnfLexer.tokensFromBNF(bnf),
|
|
55
|
-
rules = bnfParser.rulesFromTokens(tokens),
|
|
56
|
-
firstRule = first(rules),
|
|
57
|
-
rule = firstRule; ///
|
|
58
|
-
|
|
59
|
-
return rule;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
function tokensFromTokensAndNode(tokens, node) {
|
|
63
|
-
const lastSignificantTokenIndex = node.getLastSignificantTokenIndex(tokens),
|
|
64
|
-
firstSignificantTokenIndex = node.getFirstSignificantTokenIndex(tokens),
|
|
65
|
-
start = firstSignificantTokenIndex, ///
|
|
66
|
-
end = lastSignificantTokenIndex + 1;
|
|
67
|
-
|
|
68
|
-
tokens = tokens.slice(start, end); ///
|
|
69
|
-
|
|
70
|
-
return tokens;
|
|
71
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import ontology from "../../ontology";
|
|
4
|
-
import Combinator from "../combinator";
|
|
5
|
-
import combinatorBracketedContext from "../../context/bracketed/combinator";
|
|
6
|
-
|
|
7
|
-
import { define } from "../../ontology";
|
|
8
|
-
|
|
9
|
-
export default define(class BracketedCombinator extends Combinator {
|
|
10
|
-
unifyStatement(statement, assignments, stated, context) {
|
|
11
|
-
let statementUnifies;
|
|
12
|
-
|
|
13
|
-
const statementString = statement.getString();
|
|
14
|
-
|
|
15
|
-
context.trace(`Unifying the '${statementString}' statement with the bracketed combinator...`);
|
|
16
|
-
|
|
17
|
-
statementUnifies = super.unifyStatement(statement, assignments, stated, context);
|
|
18
|
-
|
|
19
|
-
if (statementUnifies) {
|
|
20
|
-
context.debug(`...unified the '${statementString}' statement with the bracketed combinator.`);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
return statementUnifies;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
static name = "BracketedCombinator";
|
|
27
|
-
|
|
28
|
-
static fromNothing() {
|
|
29
|
-
const { Statement } = ontology,
|
|
30
|
-
bracketedStatementNode = combinatorBracketedContext.getBracketedStatementNode(),
|
|
31
|
-
statementNode = bracketedStatementNode, ///
|
|
32
|
-
context = combinatorBracketedContext, ///
|
|
33
|
-
statement = Statement.fromStatementNode(statementNode, context),
|
|
34
|
-
bracketedCombinator = new BracketedCombinator(statement);
|
|
35
|
-
|
|
36
|
-
return bracketedCombinator;
|
|
37
|
-
}
|
|
38
|
-
});
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import ontology from "../ontology";
|
|
4
|
-
|
|
5
|
-
import { define } from "../ontology";
|
|
6
|
-
import { unifyStatementWithCombinator } from "../process/unify";
|
|
7
|
-
import { statementFromJSON, statementToStatementJSON } from "../utilities/json";
|
|
8
|
-
|
|
9
|
-
export default define(class Combinator {
|
|
10
|
-
constructor(statement) {
|
|
11
|
-
this.statement = statement;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
getStatement() {
|
|
15
|
-
return this.statement;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
getString() { return this.statement.getString(); }
|
|
19
|
-
|
|
20
|
-
getStatementNode() {
|
|
21
|
-
const statementNode = this.statement.getNode();
|
|
22
|
-
|
|
23
|
-
return statementNode;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
unifyStatement(statement, assignments, stated, context) {
|
|
27
|
-
let statementUnifies;
|
|
28
|
-
|
|
29
|
-
const combinator = this, ///
|
|
30
|
-
statementString = statement.getString(),
|
|
31
|
-
combinatorString = combinator.getString();
|
|
32
|
-
|
|
33
|
-
context.trace(`Unifying the '${statementString}' statement with the '${combinatorString}' combinator...`);
|
|
34
|
-
|
|
35
|
-
const statementUnifiesWithCombinator = unifyStatementWithCombinator(statement, combinator, assignments, stated, context);
|
|
36
|
-
|
|
37
|
-
statementUnifies = statementUnifiesWithCombinator; ///
|
|
38
|
-
|
|
39
|
-
if (statementUnifies) {
|
|
40
|
-
context.debug(`...unified the '${statementString}' statement with the '${combinatorString}' combinator.`);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
return statementUnifies;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
toJSON() {
|
|
47
|
-
const statementJSON = statementToStatementJSON(this.statement),
|
|
48
|
-
statement = statementJSON, ///
|
|
49
|
-
json = {
|
|
50
|
-
statement
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
return json;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
static name = "Combinator";
|
|
57
|
-
|
|
58
|
-
static fromJSON(json, context) {
|
|
59
|
-
const statement = statementFromJSON(json, context),
|
|
60
|
-
combinator = new Combinator(statement);
|
|
61
|
-
|
|
62
|
-
return combinator;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
static fromCombinatorDeclarationNode(combinatorDeclarationNode, context) {
|
|
66
|
-
const { Statement } = ontology,
|
|
67
|
-
statement = Statement.fromCombinatorDeclarationNode(combinatorDeclarationNode, context),
|
|
68
|
-
combinator = new Combinator(statement);
|
|
69
|
-
|
|
70
|
-
return combinator;
|
|
71
|
-
}
|
|
72
|
-
});
|