occam-verify-cli 1.0.983 → 1.0.985
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 +22 -27
- package/lib/constants.js +1 -41
- package/lib/index.js +1 -2
- package/lib/utilities/fileContext.js +3 -8
- package/lib/utilities/releaseContext.js +2 -2
- package/package.json +10 -11
- package/src/action/verify.js +8 -18
- package/src/constants.js +0 -10
- package/src/index.js +0 -2
- package/src/utilities/fileContext.js +1 -2
- package/src/utilities/releaseContext.js +1 -1
- package/lib/context/aphasic.js +0 -27
- package/lib/context/bounded.js +0 -244
- package/lib/context/branching.js +0 -61
- package/lib/context/file/nominal.js +0 -586
- package/lib/context/illative.js +0 -28
- package/lib/context/liminal.js +0 -200
- package/lib/context/literal.js +0 -44
- package/lib/context/mnemic.js +0 -454
- package/lib/context/nested.js +0 -31
- package/lib/context/nominal.js +0 -57
- package/lib/context/phaneric.js +0 -44
- package/lib/context/thetic.js +0 -28
- package/lib/context.js +0 -445
- package/lib/element/assertion/contained.js +0 -218
- package/lib/element/assertion/defined.js +0 -213
- package/lib/element/assertion/property.js +0 -176
- package/lib/element/assertion/signature.js +0 -170
- package/lib/element/assertion/subproof.js +0 -220
- package/lib/element/assertion/type.js +0 -227
- package/lib/element/assertion.js +0 -49
- package/lib/element/assumption/metaLevel.js +0 -244
- package/lib/element/assumption.js +0 -252
- package/lib/element/combinator/bracketed.js +0 -36
- package/lib/element/combinator.js +0 -104
- package/lib/element/conclusion.js +0 -131
- package/lib/element/constructor/bracketed.js +0 -57
- package/lib/element/constructor.js +0 -129
- package/lib/element/declaration/combinator.js +0 -58
- package/lib/element/declaration/complexType.js +0 -180
- package/lib/element/declaration/constructor.js +0 -93
- package/lib/element/declaration/metavariable.js +0 -77
- package/lib/element/declaration/property.js +0 -88
- package/lib/element/declaration/simpleType.js +0 -148
- package/lib/element/declaration/typePrefix.js +0 -53
- package/lib/element/declaration/variable.js +0 -99
- package/lib/element/declaration.js +0 -15
- package/lib/element/deduction.js +0 -131
- package/lib/element/derivation.js +0 -46
- package/lib/element/equality.js +0 -211
- package/lib/element/equivalence.js +0 -200
- package/lib/element/error.js +0 -27
- package/lib/element/frame.js +0 -238
- package/lib/element/hypothesis.js +0 -135
- package/lib/element/judgement.js +0 -212
- package/lib/element/label.js +0 -135
- package/lib/element/metaType.js +0 -57
- package/lib/element/metavariable.js +0 -452
- package/lib/element/parameter.js +0 -69
- package/lib/element/procedureCall.js +0 -116
- package/lib/element/procedureReference.js +0 -56
- package/lib/element/proof.js +0 -52
- package/lib/element/proofAssertion/premise.js +0 -238
- package/lib/element/proofAssertion/step.js +0 -235
- package/lib/element/proofAssertion/supposition.js +0 -249
- package/lib/element/proofAssertion.js +0 -56
- package/lib/element/property.js +0 -176
- package/lib/element/propertyRelation.js +0 -132
- package/lib/element/reference.js +0 -227
- package/lib/element/rule.js +0 -242
- package/lib/element/section.js +0 -64
- package/lib/element/signature.js +0 -195
- package/lib/element/statement.js +0 -228
- package/lib/element/subDerivation.js +0 -46
- package/lib/element/subproof.js +0 -91
- package/lib/element/substitution/frame.js +0 -256
- package/lib/element/substitution/reference.js +0 -192
- package/lib/element/substitution/statement.js +0 -294
- package/lib/element/substitution/term.js +0 -266
- package/lib/element/substitution.js +0 -183
- package/lib/element/term.js +0 -217
- package/lib/element/topLevelAssertion/axiom.js +0 -158
- package/lib/element/topLevelAssertion/conjecture.js +0 -42
- package/lib/element/topLevelAssertion/lemma.js +0 -39
- package/lib/element/topLevelAssertion/theorem.js +0 -42
- package/lib/element/topLevelAssertion.js +0 -286
- package/lib/element/topLevelMetaAssertion/metaLemma.js +0 -42
- package/lib/element/topLevelMetaAssertion/metatheorem.js +0 -42
- package/lib/element/topLevelMetaAssertion.js +0 -179
- package/lib/element/type.js +0 -240
- package/lib/element/typePrefix.js +0 -85
- package/lib/element/variable.js +0 -206
- package/lib/elements.js +0 -27
- package/lib/metaTypeNames.js +0 -26
- package/lib/metaTypes.js +0 -66
- package/lib/node/argument.js +0 -31
- package/lib/node/assertion/contained.js +0 -51
- package/lib/node/assertion/defined.js +0 -47
- package/lib/node/assertion/property.js +0 -36
- package/lib/node/assertion/signature.js +0 -32
- package/lib/node/assertion/subproof.js +0 -28
- package/lib/node/assertion/type.js +0 -32
- package/lib/node/assertion.js +0 -18
- package/lib/node/assumption/metaLevel.js +0 -27
- package/lib/node/assumption.js +0 -27
- package/lib/node/body/axiom.js +0 -23
- package/lib/node/body/conjecture.js +0 -23
- package/lib/node/body/lemma.js +0 -23
- package/lib/node/body/metaLemma.js +0 -23
- package/lib/node/body/metatheorem.js +0 -23
- package/lib/node/body/rule.js +0 -44
- package/lib/node/body/theorem.js +0 -23
- package/lib/node/body.js +0 -31
- package/lib/node/combinator.js +0 -23
- package/lib/node/conclusion.js +0 -27
- package/lib/node/constructor.js +0 -23
- package/lib/node/declaration/combinator.js +0 -28
- package/lib/node/declaration/complexType.js +0 -72
- package/lib/node/declaration/constructor.js +0 -47
- package/lib/node/declaration/metavariable.js +0 -36
- package/lib/node/declaration/property.js +0 -44
- package/lib/node/declaration/simpleType.js +0 -72
- package/lib/node/declaration/typePrefix.js +0 -32
- package/lib/node/declaration/variable.js +0 -51
- package/lib/node/declaration.js +0 -18
- package/lib/node/deduction.js +0 -27
- package/lib/node/derivation.js +0 -26
- package/lib/node/document.js +0 -18
- package/lib/node/equality.js +0 -33
- package/lib/node/equivalence.js +0 -23
- package/lib/node/equivalences.js +0 -18
- package/lib/node/error.js +0 -18
- package/lib/node/frame.js +0 -38
- package/lib/node/header/axiom.js +0 -28
- package/lib/node/header/conjecture.js +0 -23
- package/lib/node/header/lemma.js +0 -23
- package/lib/node/header/metaLemma.js +0 -23
- package/lib/node/header/metatheorem.js +0 -23
- package/lib/node/header/rule.js +0 -23
- package/lib/node/header/theorem.js +0 -23
- package/lib/node/header.js +0 -47
- package/lib/node/hypothesis.js +0 -27
- package/lib/node/judgement.js +0 -31
- package/lib/node/label.js +0 -23
- package/lib/node/labels.js +0 -23
- package/lib/node/metaArgument.js +0 -23
- package/lib/node/metaType.js +0 -30
- package/lib/node/metavariable.js +0 -39
- package/lib/node/parameter.js +0 -47
- package/lib/node/parenthesisedLabel.js +0 -23
- package/lib/node/parenthesisedLabels.js +0 -27
- package/lib/node/placeholder.js +0 -18
- package/lib/node/procedureCall.js +0 -31
- package/lib/node/procedureReference.js +0 -30
- package/lib/node/proof.js +0 -23
- package/lib/node/proofAssertion/premise.js +0 -28
- package/lib/node/proofAssertion/step.js +0 -52
- package/lib/node/proofAssertion/supposition.js +0 -28
- package/lib/node/proofAssertion.js +0 -27
- package/lib/node/property.js +0 -30
- package/lib/node/propertyRelation.js +0 -31
- package/lib/node/qualification.js +0 -27
- package/lib/node/reference.js +0 -23
- package/lib/node/rule.js +0 -43
- package/lib/node/section.js +0 -39
- package/lib/node/signature.js +0 -23
- package/lib/node/statement.js +0 -103
- package/lib/node/subDerivation.js +0 -26
- package/lib/node/subproof.js +0 -35
- package/lib/node/substitution/frame.js +0 -40
- package/lib/node/substitution/reference.js +0 -40
- package/lib/node/substitution/statement.js +0 -60
- package/lib/node/substitution/term.js +0 -40
- package/lib/node/substitution.js +0 -18
- package/lib/node/term.js +0 -60
- package/lib/node/topLevelAssertion/axiom.js +0 -26
- package/lib/node/topLevelAssertion/conjecture.js +0 -26
- package/lib/node/topLevelAssertion/lemma.js +0 -26
- package/lib/node/topLevelAssertion/theorem.js +0 -26
- package/lib/node/topLevelAssertion.js +0 -46
- package/lib/node/topLevelMetaAssertion/metaLemma.js +0 -26
- package/lib/node/topLevelMetaAssertion/metatheorem.js +0 -26
- package/lib/node/topLevelMetaAssertion.js +0 -42
- package/lib/node/type.js +0 -60
- package/lib/node/typePrefix.js +0 -30
- package/lib/node/types.js +0 -23
- package/lib/node/variable.js +0 -30
- package/lib/nominal/lexer.js +0 -15
- package/lib/nominal/parser.js +0 -24
- package/lib/nonTerminalNodeMap.js +0 -189
- package/lib/pass/zip.js +0 -23
- package/lib/preamble.js +0 -73
- package/lib/process/assign.js +0 -62
- package/lib/process/discharge.js +0 -38
- package/lib/process/equate.js +0 -73
- package/lib/process/instantiate.js +0 -261
- package/lib/process/unification.js +0 -228
- package/lib/process/unify.js +0 -336
- package/lib/process/validate.js +0 -135
- package/lib/process/validation.js +0 -291
- package/lib/process/verify.js +0 -205
- package/lib/ruleNames.js +0 -350
- package/lib/tokenTypes.js +0 -22
- package/lib/utilities/assignment.js +0 -47
- package/lib/utilities/bnf.js +0 -21
- package/lib/utilities/brackets.js +0 -77
- package/lib/utilities/breakPoint.js +0 -38
- package/lib/utilities/context.js +0 -220
- package/lib/utilities/element.js +0 -1851
- package/lib/utilities/equivalence.js +0 -27
- package/lib/utilities/equivalences.js +0 -134
- package/lib/utilities/instance.js +0 -44
- package/lib/utilities/json.js +0 -1109
- package/lib/utilities/string.js +0 -231
- package/lib/utilities/substitutions.js +0 -86
- package/lib/utilities/synoptic.js +0 -159
- package/lib/utilities/type.js +0 -27
- package/src/context/aphasic.js +0 -15
- package/src/context/bounded.js +0 -362
- package/src/context/branching.js +0 -69
- package/src/context/file/nominal.js +0 -955
- package/src/context/illative.js +0 -17
- package/src/context/liminal.js +0 -280
- package/src/context/literal.js +0 -42
- package/src/context/mnemic.js +0 -778
- package/src/context/nested.js +0 -21
- package/src/context/nominal.js +0 -62
- package/src/context/phaneric.js +0 -43
- package/src/context/thetic.js +0 -17
- package/src/context.js +0 -722
- package/src/element/assertion/contained.js +0 -313
- package/src/element/assertion/defined.js +0 -310
- package/src/element/assertion/property.js +0 -252
- package/src/element/assertion/signature.js +0 -239
- package/src/element/assertion/subproof.js +0 -335
- package/src/element/assertion/type.js +0 -328
- package/src/element/assertion.js +0 -65
- package/src/element/assumption/metaLevel.js +0 -373
- package/src/element/assumption.js +0 -374
- package/src/element/combinator/bracketed.js +0 -32
- package/src/element/combinator.js +0 -145
- package/src/element/conclusion.js +0 -185
- package/src/element/constructor/bracketed.js +0 -68
- package/src/element/constructor.js +0 -188
- package/src/element/declaration/combinator.js +0 -66
- package/src/element/declaration/complexType.js +0 -257
- package/src/element/declaration/constructor.js +0 -122
- package/src/element/declaration/metavariable.js +0 -93
- package/src/element/declaration/property.js +0 -108
- package/src/element/declaration/simpleType.js +0 -208
- package/src/element/declaration/typePrefix.js +0 -58
- package/src/element/declaration/variable.js +0 -130
- package/src/element/declaration.js +0 -7
- package/src/element/deduction.js +0 -185
- package/src/element/derivation.js +0 -57
- package/src/element/equality.js +0 -325
- package/src/element/equivalence.js +0 -276
- package/src/element/error.js +0 -26
- package/src/element/frame.js +0 -356
- package/src/element/hypothesis.js +0 -186
- package/src/element/judgement.js +0 -303
- package/src/element/label.js +0 -186
- package/src/element/metaType.js +0 -75
- package/src/element/metavariable.js +0 -662
- package/src/element/parameter.js +0 -90
- package/src/element/procedureCall.js +0 -159
- package/src/element/procedureReference.js +0 -71
- package/src/element/proof.js +0 -61
- package/src/element/proofAssertion/premise.js +0 -354
- package/src/element/proofAssertion/step.js +0 -271
- package/src/element/proofAssertion/supposition.js +0 -377
- package/src/element/proofAssertion.js +0 -74
- package/src/element/property.js +0 -258
- package/src/element/propertyRelation.js +0 -193
- package/src/element/reference.js +0 -345
- package/src/element/rule.js +0 -358
- package/src/element/section.js +0 -78
- package/src/element/signature.js +0 -292
- package/src/element/statement.js +0 -358
- package/src/element/subDerivation.js +0 -56
- package/src/element/subproof.js +0 -116
- package/src/element/substitution/frame.js +0 -392
- package/src/element/substitution/reference.js +0 -274
- package/src/element/substitution/statement.js +0 -452
- package/src/element/substitution/term.js +0 -407
- package/src/element/substitution.js +0 -261
- package/src/element/term.js +0 -339
- package/src/element/topLevelAssertion/axiom.js +0 -244
- package/src/element/topLevelAssertion/conjecture.js +0 -40
- package/src/element/topLevelAssertion/lemma.js +0 -42
- package/src/element/topLevelAssertion/theorem.js +0 -40
- package/src/element/topLevelAssertion.js +0 -436
- package/src/element/topLevelMetaAssertion/metaLemma.js +0 -40
- package/src/element/topLevelMetaAssertion/metatheorem.js +0 -40
- package/src/element/topLevelMetaAssertion.js +0 -276
- package/src/element/type.js +0 -374
- package/src/element/typePrefix.js +0 -113
- package/src/element/variable.js +0 -259
- package/src/elements.js +0 -13
- package/src/metaTypeNames.js +0 -5
- package/src/metaTypes.js +0 -71
- package/src/node/argument.js +0 -30
- package/src/node/assertion/contained.js +0 -53
- package/src/node/assertion/defined.js +0 -46
- package/src/node/assertion/property.js +0 -30
- package/src/node/assertion/signature.js +0 -23
- package/src/node/assertion/subproof.js +0 -16
- package/src/node/assertion/type.js +0 -23
- package/src/node/assertion.js +0 -7
- package/src/node/assumption/metaLevel.js +0 -23
- package/src/node/assumption.js +0 -23
- package/src/node/body/axiom.js +0 -7
- package/src/node/body/conjecture.js +0 -7
- package/src/node/body/lemma.js +0 -7
- package/src/node/body/metaLemma.js +0 -7
- package/src/node/body/metatheorem.js +0 -7
- package/src/node/body/rule.js +0 -42
- package/src/node/body/theorem.js +0 -7
- package/src/node/body.js +0 -30
- package/src/node/combinator.js +0 -16
- package/src/node/conclusion.js +0 -23
- package/src/node/constructor.js +0 -16
- package/src/node/declaration/combinator.js +0 -16
- package/src/node/declaration/complexType.js +0 -88
- package/src/node/declaration/constructor.js +0 -46
- package/src/node/declaration/metavariable.js +0 -30
- package/src/node/declaration/property.js +0 -42
- package/src/node/declaration/simpleType.js +0 -87
- package/src/node/declaration/typePrefix.js +0 -24
- package/src/node/declaration/variable.js +0 -53
- package/src/node/declaration.js +0 -7
- package/src/node/deduction.js +0 -23
- package/src/node/derivation.js +0 -19
- package/src/node/document.js +0 -7
- package/src/node/equality.js +0 -35
- package/src/node/equivalence.js +0 -16
- package/src/node/equivalences.js +0 -7
- package/src/node/error.js +0 -7
- package/src/node/frame.js +0 -40
- package/src/node/header/axiom.js +0 -16
- package/src/node/header/conjecture.js +0 -7
- package/src/node/header/lemma.js +0 -7
- package/src/node/header/metaLemma.js +0 -7
- package/src/node/header/metatheorem.js +0 -7
- package/src/node/header/rule.js +0 -7
- package/src/node/header/theorem.js +0 -7
- package/src/node/header.js +0 -54
- package/src/node/hypothesis.js +0 -23
- package/src/node/judgement.js +0 -30
- package/src/node/label.js +0 -16
- package/src/node/labels.js +0 -16
- package/src/node/metaArgument.js +0 -16
- package/src/node/metaType.js +0 -26
- package/src/node/metavariable.js +0 -42
- package/src/node/parameter.js +0 -51
- package/src/node/parenthesisedLabel.js +0 -16
- package/src/node/parenthesisedLabels.js +0 -23
- package/src/node/placeholder.js +0 -7
- package/src/node/procedureCall.js +0 -30
- package/src/node/procedureReference.js +0 -26
- package/src/node/proof.js +0 -16
- package/src/node/proofAssertion/premise.js +0 -16
- package/src/node/proofAssertion/step.js +0 -52
- package/src/node/proofAssertion/supposition.js +0 -16
- package/src/node/proofAssertion.js +0 -23
- package/src/node/property.js +0 -28
- package/src/node/propertyRelation.js +0 -30
- package/src/node/qualification.js +0 -23
- package/src/node/reference.js +0 -16
- package/src/node/rule.js +0 -51
- package/src/node/section.js +0 -44
- package/src/node/signature.js +0 -16
- package/src/node/statement.js +0 -167
- package/src/node/subDerivation.js +0 -19
- package/src/node/subproof.js +0 -35
- package/src/node/substitution/frame.js +0 -37
- package/src/node/substitution/reference.js +0 -38
- package/src/node/substitution/statement.js +0 -70
- package/src/node/substitution/term.js +0 -38
- package/src/node/substitution.js +0 -7
- package/src/node/term.js +0 -75
- package/src/node/topLevelAssertion/axiom.js +0 -13
- package/src/node/topLevelAssertion/conjecture.js +0 -13
- package/src/node/topLevelAssertion/lemma.js +0 -13
- package/src/node/topLevelAssertion/theorem.js +0 -13
- package/src/node/topLevelAssertion.js +0 -58
- package/src/node/topLevelMetaAssertion/metaLemma.js +0 -13
- package/src/node/topLevelMetaAssertion/metatheorem.js +0 -13
- package/src/node/topLevelMetaAssertion.js +0 -51
- package/src/node/type.js +0 -74
- package/src/node/typePrefix.js +0 -26
- package/src/node/types.js +0 -16
- package/src/node/variable.js +0 -26
- package/src/nominal/lexer.js +0 -5
- package/src/nominal/parser.js +0 -12
- package/src/nonTerminalNodeMap.js +0 -261
- package/src/pass/zip.js +0 -19
- package/src/preamble.js +0 -64
- package/src/process/assign.js +0 -53
- package/src/process/discharge.js +0 -33
- package/src/process/equate.js +0 -94
- package/src/process/instantiate.js +0 -198
- package/src/process/unification.js +0 -332
- package/src/process/unify.js +0 -504
- package/src/process/validate.js +0 -174
- package/src/process/validation.js +0 -410
- package/src/process/verify.js +0 -299
- package/src/ruleNames.js +0 -86
- package/src/tokenTypes.js +0 -4
- package/src/utilities/assignment.js +0 -57
- package/src/utilities/bnf.js +0 -20
- package/src/utilities/brackets.js +0 -87
- package/src/utilities/breakPoint.js +0 -29
- package/src/utilities/context.js +0 -223
- package/src/utilities/element.js +0 -2293
- package/src/utilities/equivalence.js +0 -25
- package/src/utilities/equivalences.js +0 -158
- package/src/utilities/instance.js +0 -40
- package/src/utilities/json.js +0 -1273
- package/src/utilities/string.js +0 -282
- package/src/utilities/substitutions.js +0 -93
- package/src/utilities/synoptic.js +0 -135
- package/src/utilities/type.js +0 -19
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import ProofAssertionNode from "../../node/proofAssertion";
|
|
4
|
-
|
|
5
|
-
import { PROCEDURE_CALL_RULE_NAME } from "../../ruleNames";
|
|
6
|
-
|
|
7
|
-
export default class SuppositionNode extends ProofAssertionNode {
|
|
8
|
-
getProcedureCallNode() {
|
|
9
|
-
const ruleName = PROCEDURE_CALL_RULE_NAME,
|
|
10
|
-
procedureCallNode = this.getNodeByRuleName(ruleName);
|
|
11
|
-
|
|
12
|
-
return procedureCallNode;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return ProofAssertionNode.fromRuleNameChildNodesOpacityAndPrecedence(SuppositionNode, ruleName, childNodes, opacity, precedence); }
|
|
16
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { NonTerminalNode } from "occam-languages";
|
|
4
|
-
|
|
5
|
-
import { NONSENSE_RULE_NAME, STATEMENT_RULE_NAME } from "../ruleNames";
|
|
6
|
-
|
|
7
|
-
export default class ProofAssertionNode extends NonTerminalNode {
|
|
8
|
-
getNonsenseNode() {
|
|
9
|
-
const ruleName = NONSENSE_RULE_NAME,
|
|
10
|
-
nonsenseNode = this.getNodeByRuleName(ruleName);
|
|
11
|
-
|
|
12
|
-
return nonsenseNode;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
getStatementNode() {
|
|
16
|
-
const ruleName = STATEMENT_RULE_NAME,
|
|
17
|
-
statementNode = this.getNodeByRuleName(ruleName);
|
|
18
|
-
|
|
19
|
-
return statementNode;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence); }
|
|
23
|
-
}
|
package/src/node/property.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { NonTerminalNode } from "occam-languages";
|
|
4
|
-
|
|
5
|
-
import { SINGLE_SPACE } from "../constants";
|
|
6
|
-
|
|
7
|
-
export default class PropertyNode extends NonTerminalNode {
|
|
8
|
-
getNames() {
|
|
9
|
-
const names = this.mapChildNode((childNode) => {
|
|
10
|
-
const terminalNode = childNode, ///
|
|
11
|
-
content = terminalNode.getContent(),
|
|
12
|
-
identifier = content; //
|
|
13
|
-
|
|
14
|
-
return identifier;
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
return names;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
getPropertyName() {
|
|
21
|
-
const names = this.getNames(),
|
|
22
|
-
propertyName = names.join(SINGLE_SPACE);
|
|
23
|
-
|
|
24
|
-
return propertyName;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(PropertyNode, ruleName, childNodes, opacity, precedence); }
|
|
28
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { NonTerminalNode } from "occam-languages";
|
|
4
|
-
|
|
5
|
-
import { TERM_RULE_NAME, PROPERTY_RULE_NAME } from "../ruleNames";
|
|
6
|
-
|
|
7
|
-
export default class PropertyRelationNode extends NonTerminalNode {
|
|
8
|
-
getPropertyName() {
|
|
9
|
-
const propertyNode = this.getPropertyNode(),
|
|
10
|
-
propertyName = propertyNode.getPropertyName();
|
|
11
|
-
|
|
12
|
-
return propertyName;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
getTermNode() {
|
|
16
|
-
const ruleName = TERM_RULE_NAME,
|
|
17
|
-
termNode = this.getNodeByRuleName(ruleName);
|
|
18
|
-
|
|
19
|
-
return termNode;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
getPropertyNode() {
|
|
23
|
-
const ruleName = PROPERTY_RULE_NAME,
|
|
24
|
-
propertyNode = this.getNodeByRuleName(ruleName);
|
|
25
|
-
|
|
26
|
-
return propertyNode;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(PropertyRelationNode, ruleName, childNodes, opacity, precedence); }
|
|
30
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { NonTerminalNode } from "occam-languages";
|
|
4
|
-
|
|
5
|
-
import { REFERENCE_RULE_NAME, SIGNATURE_ASSERTION_RULE_NAME } from "../ruleNames";
|
|
6
|
-
|
|
7
|
-
export default class QualificationNode extends NonTerminalNode {
|
|
8
|
-
getReferenceNode() {
|
|
9
|
-
const ruleName = REFERENCE_RULE_NAME,
|
|
10
|
-
referenceNode = this.getNodeByRuleName(ruleName);
|
|
11
|
-
|
|
12
|
-
return referenceNode;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
getSignatureAssertionNode() {
|
|
16
|
-
const ruleName = SIGNATURE_ASSERTION_RULE_NAME,
|
|
17
|
-
signatureAssertionNode = this.getNodeByRuleName(ruleName);
|
|
18
|
-
|
|
19
|
-
return signatureAssertionNode;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(QualificationNode, ruleName, childNodes, opacity, precedence); }
|
|
23
|
-
}
|
package/src/node/reference.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { NonTerminalNode } from "occam-languages";
|
|
4
|
-
|
|
5
|
-
import { METAVARIABLE_RULE_NAME } from "../ruleNames";
|
|
6
|
-
|
|
7
|
-
export default class ReferenceNode extends NonTerminalNode {
|
|
8
|
-
getMetavariableNode() {
|
|
9
|
-
const ruleName = METAVARIABLE_RULE_NAME,
|
|
10
|
-
metavariableNode = this.getNodeByRuleName(ruleName);
|
|
11
|
-
|
|
12
|
-
return metavariableNode;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(ReferenceNode, ruleName, childNodes, opacity, precedence); }
|
|
16
|
-
}
|
package/src/node/rule.js
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { NonTerminalNode } from "occam-languages";
|
|
4
|
-
|
|
5
|
-
import { RULE_BODY_RULE_NAME, RULE_HEADER_RULE_NAME } from "../ruleNames";
|
|
6
|
-
|
|
7
|
-
export default class RuleNode extends NonTerminalNode {
|
|
8
|
-
getProofNode() {
|
|
9
|
-
const ruleBodyNode = this.getRuleBodyNode(),
|
|
10
|
-
proofNode = ruleBodyNode.getProofNode();
|
|
11
|
-
|
|
12
|
-
return proofNode;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
getLabelNodes() {
|
|
16
|
-
const ruleHeaderNode = this.getRuleHeaderNode(),
|
|
17
|
-
labelNodes = ruleHeaderNode.getLabelNodes();
|
|
18
|
-
|
|
19
|
-
return labelNodes;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
getPremiseNodes() {
|
|
23
|
-
const ruleBodyNode = this.getRuleBodyNode(),
|
|
24
|
-
premiseNodes = ruleBodyNode.getPremiseNodes();
|
|
25
|
-
|
|
26
|
-
return premiseNodes;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
getConclusionNode() {
|
|
30
|
-
const ruleBodyNode = this.getRuleBodyNode(),
|
|
31
|
-
conclusionNode = ruleBodyNode.getConclusionNode();
|
|
32
|
-
|
|
33
|
-
return conclusionNode;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
getRuleBodyNode() {
|
|
37
|
-
const ruleName = RULE_BODY_RULE_NAME,
|
|
38
|
-
ruleBodyNode = this.getNodeByRuleName(ruleName);
|
|
39
|
-
|
|
40
|
-
return ruleBodyNode;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
getRuleHeaderNode() {
|
|
44
|
-
const ruleName = RULE_HEADER_RULE_NAME,
|
|
45
|
-
ruleHeaderNode = this.getNodeByRuleName(ruleName);
|
|
46
|
-
|
|
47
|
-
return ruleHeaderNode;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(RuleNode, ruleName, childNodes, opacity, precedence); }
|
|
51
|
-
}
|
package/src/node/section.js
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { NonTerminalNode } from "occam-languages";
|
|
4
|
-
|
|
5
|
-
import { AXIOM_RULE_NAME, LEMMA_RULE_NAME, THEOREM_RULE_NAME, CONJECTURE_RULE_NAME, HYPOTHESIS_RULE_NAME } from "../ruleNames";
|
|
6
|
-
|
|
7
|
-
export default class SectionNode extends NonTerminalNode {
|
|
8
|
-
getAxiomNode() {
|
|
9
|
-
const ruleName = AXIOM_RULE_NAME,
|
|
10
|
-
axiomNode = this.getNodeByRuleName(ruleName);
|
|
11
|
-
|
|
12
|
-
return axiomNode;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
getLemmaNode() {
|
|
16
|
-
const ruleName = LEMMA_RULE_NAME,
|
|
17
|
-
lemmaNode = this.getNodeByRuleName(ruleName);
|
|
18
|
-
|
|
19
|
-
return lemmaNode;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
getTheoremNode() {
|
|
23
|
-
const ruleName = THEOREM_RULE_NAME,
|
|
24
|
-
theoremNode = this.getNodeByRuleName(ruleName);
|
|
25
|
-
|
|
26
|
-
return theoremNode;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
getConjectureNode() {
|
|
30
|
-
const ruleName = CONJECTURE_RULE_NAME,
|
|
31
|
-
conjectureNode = this.getNodeByRuleName(ruleName);
|
|
32
|
-
|
|
33
|
-
return conjectureNode;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
getHypothesisNodes() {
|
|
37
|
-
const ruleName = HYPOTHESIS_RULE_NAME,
|
|
38
|
-
hypothesisNodes = this.getNodesByRuleName(ruleName);
|
|
39
|
-
|
|
40
|
-
return hypothesisNodes;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(SectionNode, ruleName, childNodes, opacity, precedence); }
|
|
44
|
-
}
|
package/src/node/signature.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { NonTerminalNode } from "occam-languages";
|
|
4
|
-
|
|
5
|
-
import { TERM_RULE_NAME } from "../ruleNames";
|
|
6
|
-
|
|
7
|
-
export default class SignatureNode extends NonTerminalNode {
|
|
8
|
-
getTermNodes() {
|
|
9
|
-
const ruleName = TERM_RULE_NAME,
|
|
10
|
-
termNodes = this.getNodesByRuleName(ruleName);
|
|
11
|
-
|
|
12
|
-
return termNodes;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(SignatureNode, ruleName, childNodes, opacity, precedence); }
|
|
16
|
-
}
|
package/src/node/statement.js
DELETED
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { NonTerminalNode } from "occam-languages";
|
|
4
|
-
|
|
5
|
-
import { TERM_RULE_NAME,
|
|
6
|
-
FRAME_RULE_NAME,
|
|
7
|
-
EQUALITY_RULE_NAME,
|
|
8
|
-
JUDGEMENT_RULE_NAME,
|
|
9
|
-
METAVARIABLE_RULE_NAME,
|
|
10
|
-
META_ARGUMENT_RULE_NAME,
|
|
11
|
-
TYPE_ASSERTION_RULE_NAME,
|
|
12
|
-
DEFINED_ASSERTION_RULE_NAME,
|
|
13
|
-
TERM_SUBSTITUTION_RULE_NAME,
|
|
14
|
-
PROPERTY_ASSERTION_RULE_NAME,
|
|
15
|
-
SUBPROOF_ASSERTION_RULE_NAME,
|
|
16
|
-
FRAME_SUBSTITUTION_RULE_NAME,
|
|
17
|
-
SIGNATURE_ASSERTION_RULE_NAME,
|
|
18
|
-
CONTAINED_ASSERTION_RULE_NAME,
|
|
19
|
-
STATEMENT_SUBSTITUTION_RULE_NAME } from "../ruleNames";
|
|
20
|
-
|
|
21
|
-
export default class StatementNode extends NonTerminalNode {
|
|
22
|
-
isSingular() {
|
|
23
|
-
let singular = false;
|
|
24
|
-
|
|
25
|
-
const singularMetavariableNode = this.getSingularMetavariableNode();
|
|
26
|
-
|
|
27
|
-
if (singularMetavariableNode !== null) {
|
|
28
|
-
singular = true;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
return singular;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
getMetavariableNode() {
|
|
35
|
-
const singularMetavariableNode = this.getSingularMetavariableNode(),
|
|
36
|
-
metavariableNode = singularMetavariableNode; ///
|
|
37
|
-
|
|
38
|
-
return metavariableNode;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
getSubstitutionNode() {
|
|
42
|
-
const frameSubstitutionNode = this.getFrameSubstitutionNode(),
|
|
43
|
-
termSubstitutionNode = this.getTermSubstitutionNode(),
|
|
44
|
-
substitutionNode = (frameSubstitutionNode || termSubstitutionNode);
|
|
45
|
-
|
|
46
|
-
return substitutionNode;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
getTermNodes() {
|
|
50
|
-
const ruleName = TERM_RULE_NAME,
|
|
51
|
-
termNodes = this.getDescendantNodesByRuleName(ruleName);
|
|
52
|
-
|
|
53
|
-
return termNodes;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
getFrameNodes() {
|
|
57
|
-
const ruleName = FRAME_RULE_NAME,
|
|
58
|
-
frameNodes = this.getDescendantNodesByRuleName(ruleName);
|
|
59
|
-
|
|
60
|
-
return frameNodes;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
getEqualityNode() {
|
|
64
|
-
const ruleName = EQUALITY_RULE_NAME,
|
|
65
|
-
equalityNode = this.getNodeByRuleName(ruleName);
|
|
66
|
-
|
|
67
|
-
return equalityNode;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
getJudgementNode() {
|
|
71
|
-
const ruleName = JUDGEMENT_RULE_NAME,
|
|
72
|
-
judgementNode = this.getNodeByRuleName(ruleName);
|
|
73
|
-
|
|
74
|
-
return judgementNode;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
getTypeAssertionNode() {
|
|
78
|
-
const ruleName = TYPE_ASSERTION_RULE_NAME,
|
|
79
|
-
typeAssertionNode = this.getNodeByRuleName(ruleName);
|
|
80
|
-
|
|
81
|
-
return typeAssertionNode;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
getDefinedAssertionNode() {
|
|
85
|
-
const ruleName = DEFINED_ASSERTION_RULE_NAME,
|
|
86
|
-
definedAssertionNode = this.getNodeByRuleName(ruleName);
|
|
87
|
-
|
|
88
|
-
return definedAssertionNode;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
getTermSubstitutionNode() {
|
|
92
|
-
const ruleName = TERM_SUBSTITUTION_RULE_NAME,
|
|
93
|
-
termSubstitutionNode = this.getNodeByRuleName(ruleName);
|
|
94
|
-
|
|
95
|
-
return termSubstitutionNode;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
getFrameSubstitutionNode() {
|
|
99
|
-
const ruleName = FRAME_SUBSTITUTION_RULE_NAME,
|
|
100
|
-
frameSubstitutionNode = this.getNodeByRuleName(ruleName);
|
|
101
|
-
|
|
102
|
-
return frameSubstitutionNode;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
getSubproofAssertionNode() {
|
|
106
|
-
const ruleName = SUBPROOF_ASSERTION_RULE_NAME,
|
|
107
|
-
subproofAssertionNode = this.getNodeByRuleName(ruleName);
|
|
108
|
-
|
|
109
|
-
return subproofAssertionNode;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
getPropertyAssertionNode() {
|
|
113
|
-
const ruleName = PROPERTY_ASSERTION_RULE_NAME,
|
|
114
|
-
propertyAssertionNode = this.getNodeByRuleName(ruleName);
|
|
115
|
-
|
|
116
|
-
return propertyAssertionNode;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
getSingularStatementNode() {
|
|
120
|
-
let singularStatementNode = null;
|
|
121
|
-
|
|
122
|
-
const singularMetaArgumentNode = this.getSingularMetaArgumentNode();
|
|
123
|
-
|
|
124
|
-
if (singularMetaArgumentNode !== null) {
|
|
125
|
-
singularStatementNode = singularMetaArgumentNode.getSingularStatementNode();
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
return singularStatementNode;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
getContainedAssertionNode() {
|
|
132
|
-
const ruleName = CONTAINED_ASSERTION_RULE_NAME,
|
|
133
|
-
containedAssertionNode = this.getNodeByRuleName(ruleName);
|
|
134
|
-
|
|
135
|
-
return containedAssertionNode;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
getSignatureAssertionNode() {
|
|
139
|
-
const ruleName = SIGNATURE_ASSERTION_RULE_NAME,
|
|
140
|
-
signatureAssertionNode = this.getNodeByRuleName(ruleName);
|
|
141
|
-
|
|
142
|
-
return signatureAssertionNode;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
getSingularMetavariableNode() {
|
|
146
|
-
const ruleName = METAVARIABLE_RULE_NAME,
|
|
147
|
-
singularMetavariableNode = this.getSingularNodeByRuleName(ruleName);
|
|
148
|
-
|
|
149
|
-
return singularMetavariableNode;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
getSingularMetaArgumentNode() {
|
|
153
|
-
const ruleName = META_ARGUMENT_RULE_NAME,
|
|
154
|
-
singularMetaArgumentNode = this.getNodeByRuleName(ruleName);
|
|
155
|
-
|
|
156
|
-
return singularMetaArgumentNode;
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
getStatementSubstitutionNode() {
|
|
160
|
-
const ruleName = STATEMENT_SUBSTITUTION_RULE_NAME,
|
|
161
|
-
statementSubstitutionNode = this.getNodeByRuleName(ruleName);
|
|
162
|
-
|
|
163
|
-
return statementSubstitutionNode;
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(StatementNode, ruleName, childNodes, opacity, precedence); }
|
|
167
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { NonTerminalNode } from "occam-languages";
|
|
4
|
-
|
|
5
|
-
import { STEP_RULE_NAME, SUBPROOF_RULE_NAME } from "../ruleNames";
|
|
6
|
-
|
|
7
|
-
export default class SubDerivationNode extends NonTerminalNode {
|
|
8
|
-
getStepOrSubproofNodes() {
|
|
9
|
-
const ruleNames = [
|
|
10
|
-
STEP_RULE_NAME,
|
|
11
|
-
SUBPROOF_RULE_NAME,
|
|
12
|
-
],
|
|
13
|
-
stepOrSubproofNodes = this.getNodesByRuleName(...ruleNames);
|
|
14
|
-
|
|
15
|
-
return stepOrSubproofNodes;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(SubDerivationNode, ruleName, childNodes, opacity, precedence); }
|
|
19
|
-
}
|
package/src/node/subproof.js
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { NonTerminalNode } from "occam-languages";
|
|
4
|
-
|
|
5
|
-
import { SUPPOSITION_RULE_NAME, SUB_DERIVATION_RULE_NAME } from "../ruleNames";
|
|
6
|
-
|
|
7
|
-
export default class SubproofNode extends NonTerminalNode {
|
|
8
|
-
isStepNode() {
|
|
9
|
-
const stepNode = false;
|
|
10
|
-
|
|
11
|
-
return stepNode;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
isSubproofNode() {
|
|
15
|
-
const subproofNode = true;
|
|
16
|
-
|
|
17
|
-
return subproofNode;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
getSuppositionNodes() {
|
|
21
|
-
const ruleName = SUPPOSITION_RULE_NAME,
|
|
22
|
-
suppositionNodes = this.getNodesByRuleName(ruleName);
|
|
23
|
-
|
|
24
|
-
return suppositionNodes;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
getSubDerivationNode() {
|
|
28
|
-
const ruleName = SUB_DERIVATION_RULE_NAME,
|
|
29
|
-
subDerivationNode = this.getNodeByRuleName(ruleName);
|
|
30
|
-
|
|
31
|
-
return subDerivationNode;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(SubproofNode, ruleName, childNodes, opacity, precedence); }
|
|
35
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import SubstitutionNode from "../../node/substitution";
|
|
4
|
-
|
|
5
|
-
import { FRAME_RULE_NAME } from "../../ruleNames";
|
|
6
|
-
|
|
7
|
-
export default class FrameSubstitutionNode extends SubstitutionNode {
|
|
8
|
-
getTargetFrameNode() {
|
|
9
|
-
const lastFrameNode = this.getLastFrameNode(),
|
|
10
|
-
targetFrameNode = lastFrameNode; ///
|
|
11
|
-
|
|
12
|
-
return targetFrameNode;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
getReplacementFrameNode() {
|
|
16
|
-
const firstFrameNode = this.getFirstFrameNode(),
|
|
17
|
-
replacementFrameNode = firstFrameNode; ///
|
|
18
|
-
|
|
19
|
-
return replacementFrameNode;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
getLastFrameNode() {
|
|
23
|
-
const ruleName = FRAME_RULE_NAME,
|
|
24
|
-
lastFrameNode = this.getLastNodeByRuleName(ruleName);
|
|
25
|
-
|
|
26
|
-
return lastFrameNode;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
getFirstFrameNode() {
|
|
30
|
-
const ruleName = FRAME_RULE_NAME,
|
|
31
|
-
firstFrameNode = this.getFirstNodeByRuleName(ruleName);
|
|
32
|
-
|
|
33
|
-
return firstFrameNode;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return SubstitutionNode.fromRuleNameChildNodesOpacityAndPrecedence(FrameSubstitutionNode, ruleName, childNodes, opacity, precedence); }
|
|
37
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import SubstitutionNode from "../../node/substitution";
|
|
4
|
-
|
|
5
|
-
import { REFERENCE_RULE_NAME } from "../../ruleNames";
|
|
6
|
-
|
|
7
|
-
export default class ReferenceSubstitutionNode extends SubstitutionNode {
|
|
8
|
-
getTargetReferenceNode() {
|
|
9
|
-
const lastReferenceNode = this.getLastReferenceNode(),
|
|
10
|
-
targetReferenceNode = lastReferenceNode; ///
|
|
11
|
-
|
|
12
|
-
return targetReferenceNode;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
getReplacementReferenceNode() {
|
|
16
|
-
const firstReferenceNode = this.getFirstReferenceNode(),
|
|
17
|
-
replacementReferenceNode = firstReferenceNode; ///
|
|
18
|
-
|
|
19
|
-
return replacementReferenceNode;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
getLastReferenceNode() {
|
|
23
|
-
const ruleName = REFERENCE_RULE_NAME,
|
|
24
|
-
lastReferenceNode = this.getLastNodeByRuleName(ruleName);
|
|
25
|
-
|
|
26
|
-
return lastReferenceNode;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
getFirstReferenceNode() {
|
|
30
|
-
const ruleName = REFERENCE_RULE_NAME,
|
|
31
|
-
firstReferenceNode = this.getFirstNodeByRuleName(ruleName);
|
|
32
|
-
|
|
33
|
-
return firstReferenceNode;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return SubstitutionNode.fromRuleNameChildNodesOpacityAndPrecedence(ReferenceSubstitutionNode, ruleName, childNodes, opacity, precedence); }
|
|
37
|
-
}
|
|
38
|
-
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import SubstitutionNode from "../../node/substitution";
|
|
4
|
-
|
|
5
|
-
import { STATEMENT_RULE_NAME } from "../../ruleNames";
|
|
6
|
-
|
|
7
|
-
export default class StatementSubstitutionNode extends SubstitutionNode {
|
|
8
|
-
isResolved() {
|
|
9
|
-
let resolved = true;
|
|
10
|
-
|
|
11
|
-
const substitutionNode = this.getSubstitutionNode();
|
|
12
|
-
|
|
13
|
-
if (substitutionNode !== null) {
|
|
14
|
-
resolved = false;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
return resolved;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
getSubstitutionNode() {
|
|
21
|
-
const targetStatementNode = this.getTargetStatementNode(),
|
|
22
|
-
substitutionNode = targetStatementNode.getSubstitutionNode();
|
|
23
|
-
|
|
24
|
-
return substitutionNode;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
getTermSubstitutionNode() {
|
|
28
|
-
const targetStatementNode = this.getTargetStatementNode(),
|
|
29
|
-
termSubstitutionNode = targetStatementNode.getTermSubstitutionNode();
|
|
30
|
-
|
|
31
|
-
return termSubstitutionNode;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
getFrameSubstitutionNode() {
|
|
35
|
-
const targetStatementNode = this.getTargetStatementNode(),
|
|
36
|
-
frameSubstitutionNode = targetStatementNode.getFrameSubstitutionNode();
|
|
37
|
-
|
|
38
|
-
return frameSubstitutionNode;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
getTargetStatementNode() {
|
|
42
|
-
const lastStatementNode = this.getLastStatementNode(),
|
|
43
|
-
targetStatementNode = lastStatementNode; ///
|
|
44
|
-
|
|
45
|
-
return targetStatementNode;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
getReplacementStatementNode() {
|
|
49
|
-
const firstStatementNode = this.getFirstStatementNode(),
|
|
50
|
-
replacementStatementNode = firstStatementNode; ///
|
|
51
|
-
|
|
52
|
-
return replacementStatementNode;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
getLastStatementNode() {
|
|
56
|
-
const ruleName = STATEMENT_RULE_NAME,
|
|
57
|
-
lastStatementNode = this.getLastNodeByRuleName(ruleName);
|
|
58
|
-
|
|
59
|
-
return lastStatementNode;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
getFirstStatementNode() {
|
|
63
|
-
const ruleName = STATEMENT_RULE_NAME,
|
|
64
|
-
firstStatementNode = this.getFirstNodeByRuleName(ruleName);
|
|
65
|
-
|
|
66
|
-
return firstStatementNode;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return SubstitutionNode.fromRuleNameChildNodesOpacityAndPrecedence(StatementSubstitutionNode, ruleName, childNodes, opacity, precedence); }
|
|
70
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import SubstitutionNode from "../../node/substitution";
|
|
4
|
-
|
|
5
|
-
import { TERM_RULE_NAME } from "../../ruleNames";
|
|
6
|
-
|
|
7
|
-
export default class TermSubstitutionNode extends SubstitutionNode {
|
|
8
|
-
getTargetTermNode() {
|
|
9
|
-
const lastTermNode = this.getLastTermNode(),
|
|
10
|
-
targetTermNode = lastTermNode; ///
|
|
11
|
-
|
|
12
|
-
return targetTermNode;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
getReplacementTermNode() {
|
|
16
|
-
const firstTermNode = this.getFirstTermNode(),
|
|
17
|
-
replacementTermNode = firstTermNode; ///
|
|
18
|
-
|
|
19
|
-
return replacementTermNode;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
getLastTermNode() {
|
|
23
|
-
const ruleName = TERM_RULE_NAME,
|
|
24
|
-
lastTermNode = this.getLastNodeByRuleName(ruleName);
|
|
25
|
-
|
|
26
|
-
return lastTermNode;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
getFirstTermNode() {
|
|
30
|
-
const ruleName = TERM_RULE_NAME,
|
|
31
|
-
firstTermNode = this.getFirstNodeByRuleName(ruleName);
|
|
32
|
-
|
|
33
|
-
return firstTermNode;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return SubstitutionNode.fromRuleNameChildNodesOpacityAndPrecedence(TermSubstitutionNode, ruleName, childNodes, opacity, precedence); }
|
|
37
|
-
}
|
|
38
|
-
|
package/src/node/substitution.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { NonTerminalNode } from "occam-languages";
|
|
4
|
-
|
|
5
|
-
export default class SubstitutionNode extends NonTerminalNode {
|
|
6
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence); }
|
|
7
|
-
}
|