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
package/src/node/term.js
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { NonTerminalNode } from "occam-languages";
|
|
4
|
-
|
|
5
|
-
import { ARGUMENT_RULE_NAME, VARIABLE_RULE_NAME } from "../ruleNames";
|
|
6
|
-
|
|
7
|
-
export default class TermNode extends NonTerminalNode {
|
|
8
|
-
getVariableIdentifier() {
|
|
9
|
-
let variableIdentifier = null;
|
|
10
|
-
|
|
11
|
-
const singular = this.isSingular();
|
|
12
|
-
|
|
13
|
-
if (singular) {
|
|
14
|
-
const variableNode = this.getVariableNode();
|
|
15
|
-
|
|
16
|
-
variableIdentifier = variableNode.getVariableIdentifier();
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
return variableIdentifier;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
isSingular() {
|
|
23
|
-
let singular = false;
|
|
24
|
-
|
|
25
|
-
const singularVariableNode = this.getSingularVariableNode();
|
|
26
|
-
|
|
27
|
-
if (singularVariableNode !== null) {
|
|
28
|
-
singular = true;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
return singular;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
getVariableNode() {
|
|
35
|
-
const singularVariableNode = this.getSingularVariableNode(),
|
|
36
|
-
variableNode = singularVariableNode; //
|
|
37
|
-
|
|
38
|
-
return variableNode;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
getSingularTermNode() {
|
|
42
|
-
let singularTermNode = null;
|
|
43
|
-
|
|
44
|
-
const singularArgumentNode = this.getSingularArgumentNode();
|
|
45
|
-
|
|
46
|
-
if (singularArgumentNode !== null) {
|
|
47
|
-
singularTermNode = singularArgumentNode.getSingularTermNode();
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
return singularTermNode;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
getVariableNodes() {
|
|
54
|
-
const ruleName = VARIABLE_RULE_NAME,
|
|
55
|
-
variableNodes = this.getNodesByRuleName(ruleName);
|
|
56
|
-
|
|
57
|
-
return variableNodes;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
getSingularArgumentNode() {
|
|
61
|
-
const ruleName = ARGUMENT_RULE_NAME,
|
|
62
|
-
singularArgumentNode = this.getSingularNodeByRuleName(ruleName);
|
|
63
|
-
|
|
64
|
-
return singularArgumentNode;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
getSingularVariableNode() {
|
|
68
|
-
const ruleName = VARIABLE_RULE_NAME,
|
|
69
|
-
singularVariableNode = this.getSingularNodeByRuleName(ruleName);
|
|
70
|
-
|
|
71
|
-
return singularVariableNode;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(TermNode, ruleName, childNodes, opacity, precedence); }
|
|
75
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import TopLevelAssertionNode from "../../node/topLevelAssertion";
|
|
4
|
-
|
|
5
|
-
import { AXIOM_BODY_RULE_NAME, AXIOM_HEADER_RULE_NAME } from "../../ruleNames";
|
|
6
|
-
|
|
7
|
-
export default class AxiomNode extends TopLevelAssertionNode {
|
|
8
|
-
static bodyRuleName = AXIOM_BODY_RULE_NAME;
|
|
9
|
-
|
|
10
|
-
static headerRuleName = AXIOM_HEADER_RULE_NAME;
|
|
11
|
-
|
|
12
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return TopLevelAssertionNode.fromRuleNameChildNodesOpacityAndPrecedence(AxiomNode, ruleName, childNodes, opacity, precedence); }
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import TopLevelAssertionNode from "../../node/topLevelAssertion";
|
|
4
|
-
|
|
5
|
-
import { CONJECTURE_BODY_RULE_NAME, CONJECTURE_HEADER_RULE_NAME } from "../../ruleNames";
|
|
6
|
-
|
|
7
|
-
export default class ConjectureNode extends TopLevelAssertionNode {
|
|
8
|
-
static bodyRuleName = CONJECTURE_BODY_RULE_NAME;
|
|
9
|
-
|
|
10
|
-
static headerRuleName = CONJECTURE_HEADER_RULE_NAME;
|
|
11
|
-
|
|
12
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return TopLevelAssertionNode.fromRuleNameChildNodesOpacityAndPrecedence(ConjectureNode, ruleName, childNodes, opacity, precedence); }
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import TopLevelAssertionNode from "../../node/topLevelAssertion";
|
|
4
|
-
|
|
5
|
-
import { LEMMA_BODY_RULE_NAME, LEMMA_HEADER_RULE_NAME } from "../../ruleNames";
|
|
6
|
-
|
|
7
|
-
export default class LemmaNode extends TopLevelAssertionNode {
|
|
8
|
-
static bodyRuleName = LEMMA_BODY_RULE_NAME;
|
|
9
|
-
|
|
10
|
-
static headerRuleName = LEMMA_HEADER_RULE_NAME;
|
|
11
|
-
|
|
12
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return TopLevelAssertionNode.fromRuleNameChildNodesOpacityAndPrecedence(LemmaNode, ruleName, childNodes, opacity, precedence); }
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import TopLevelAssertionNode from "../../node/topLevelAssertion";
|
|
4
|
-
|
|
5
|
-
import { THEOREM_BODY_RULE_NAME, THEOREM_HEADER_RULE_NAME } from "../../ruleNames";
|
|
6
|
-
|
|
7
|
-
export default class TheoremNode extends TopLevelAssertionNode {
|
|
8
|
-
static bodyRuleName = THEOREM_BODY_RULE_NAME;
|
|
9
|
-
|
|
10
|
-
static headerRuleName = THEOREM_HEADER_RULE_NAME;
|
|
11
|
-
|
|
12
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return TopLevelAssertionNode.fromRuleNameChildNodesOpacityAndPrecedence(TheoremNode, ruleName, childNodes, opacity, precedence); }
|
|
13
|
-
}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { NonTerminalNode } from "occam-languages";
|
|
4
|
-
|
|
5
|
-
export default class TopLevelAssertionNode extends NonTerminalNode {
|
|
6
|
-
getBodyNode() {
|
|
7
|
-
const { bodyRuleName } = this.constructor,
|
|
8
|
-
ruleName = bodyRuleName, ///
|
|
9
|
-
axiomBodyNode = this.getNodeByRuleName(ruleName);
|
|
10
|
-
|
|
11
|
-
return axiomBodyNode;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
getHeaderNode() {
|
|
15
|
-
const { headerRuleName } = this.constructor,
|
|
16
|
-
ruleName = headerRuleName, ///
|
|
17
|
-
headerNode = this.getNodeByRuleName(ruleName);
|
|
18
|
-
|
|
19
|
-
return headerNode;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
getSignatureNode() {
|
|
23
|
-
const headerNode = this.getHeaderNode(),
|
|
24
|
-
signatureNode = headerNode.getSignatureNode();
|
|
25
|
-
|
|
26
|
-
return signatureNode;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
getLabelNodes() {
|
|
30
|
-
const headerNode = this.getHeaderNode(),
|
|
31
|
-
labelNodes = headerNode.getLabelNodes();
|
|
32
|
-
|
|
33
|
-
return labelNodes;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
getProofNode() {
|
|
37
|
-
const bodyNode = this.getBodyNode(),
|
|
38
|
-
proofNode = bodyNode.getProofNode();
|
|
39
|
-
|
|
40
|
-
return proofNode;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
getDeductionNode() {
|
|
44
|
-
const bodyNode = this.getBodyNode(),
|
|
45
|
-
deductionNode = bodyNode.getDeductionNode();
|
|
46
|
-
|
|
47
|
-
return deductionNode;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
getSuppositionNodes() {
|
|
51
|
-
const bodyNode = this.getBodyNode(),
|
|
52
|
-
suppositionNodes = bodyNode.getSuppositionNodes();
|
|
53
|
-
|
|
54
|
-
return suppositionNodes;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence); }
|
|
58
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import TopLevelMetaAssertionNode from "../../node/topLevelMetaAssertion";
|
|
4
|
-
|
|
5
|
-
import { META_LEMMA_BODY_RULE_NAME, META_LEMMA_HEADER_RULE_NAME } from "../../ruleNames";
|
|
6
|
-
|
|
7
|
-
export default class MetaLemmaNode extends TopLevelMetaAssertionNode {
|
|
8
|
-
static bodyRuleName = META_LEMMA_BODY_RULE_NAME;
|
|
9
|
-
|
|
10
|
-
static headerRuleName = META_LEMMA_HEADER_RULE_NAME;
|
|
11
|
-
|
|
12
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return TopLevelMetaAssertionNode.fromRuleNameChildNodesOpacityAndPrecedence(MetaLemmaNode, ruleName, childNodes, opacity, precedence); }
|
|
13
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import TopLevelMetaAssertionNode from "../../node/topLevelMetaAssertion";
|
|
4
|
-
|
|
5
|
-
import { METATHEOREM_BODY_RULE_NAME, METATHEOREM_HEADER_RULE_NAME } from "../../ruleNames";
|
|
6
|
-
|
|
7
|
-
export default class MetatheoremNode extends TopLevelMetaAssertionNode {
|
|
8
|
-
static bodyRuleName = METATHEOREM_BODY_RULE_NAME;
|
|
9
|
-
|
|
10
|
-
static headerRuleName = METATHEOREM_HEADER_RULE_NAME;
|
|
11
|
-
|
|
12
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return TopLevelMetaAssertionNode.fromRuleNameChildNodesOpacityAndPrecedence(MetatheoremNode, ruleName, childNodes, opacity, precedence); }
|
|
13
|
-
}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { NonTerminalNode } from "occam-languages";
|
|
4
|
-
|
|
5
|
-
export default class TopLevelMetaAssertionNode extends NonTerminalNode {
|
|
6
|
-
getBodyNode() {
|
|
7
|
-
const { bodyRuleName } = this.constructor,
|
|
8
|
-
ruleName = bodyRuleName, ///
|
|
9
|
-
axiomBodyNode = this.getNodeByRuleName(ruleName);
|
|
10
|
-
|
|
11
|
-
return axiomBodyNode;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
getLabelNode() {
|
|
15
|
-
const headerNode = this.getHeaderNode(),
|
|
16
|
-
labelNode = headerNode.getLabelNode();
|
|
17
|
-
|
|
18
|
-
return labelNode;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
getProofNode() {
|
|
22
|
-
const bodyNode = this.getBodyNode(),
|
|
23
|
-
proofNode = bodyNode.getProofNode();
|
|
24
|
-
|
|
25
|
-
return proofNode;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
getHeaderNode() {
|
|
29
|
-
const { headerRuleName } = this.constructor,
|
|
30
|
-
ruleName = headerRuleName, ///
|
|
31
|
-
headerNode = this.getNodeByRuleName(ruleName);
|
|
32
|
-
|
|
33
|
-
return headerNode;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
getDeductionNode() {
|
|
37
|
-
const bodyNode = this.getBodyNode(),
|
|
38
|
-
deductionNode = bodyNode.getDeductionNode();
|
|
39
|
-
|
|
40
|
-
return deductionNode;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
getSuppositionNodes() {
|
|
44
|
-
const bodyNode = this.getBodyNode(),
|
|
45
|
-
suppositionNodes = bodyNode.getSuppositionNodes();
|
|
46
|
-
|
|
47
|
-
return suppositionNodes;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence); }
|
|
51
|
-
}
|
package/src/node/type.js
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { NonTerminalNode } from "occam-languages";
|
|
4
|
-
|
|
5
|
-
export default class TypeNode extends NonTerminalNode {
|
|
6
|
-
isPrefixed() {
|
|
7
|
-
const multiplicity = this.getMultiplicity(),
|
|
8
|
-
prefixed = (multiplicity > 1);
|
|
9
|
-
|
|
10
|
-
return prefixed;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
getTypeName() {
|
|
14
|
-
let typeName;
|
|
15
|
-
|
|
16
|
-
const prefixed = this.isPrefixed(),
|
|
17
|
-
nameIndex = prefixed ? 2 : 0;
|
|
18
|
-
|
|
19
|
-
this.someChildNode((childNode, index) => {
|
|
20
|
-
if (index === nameIndex) {
|
|
21
|
-
const typeTerminalNode = childNode, ///
|
|
22
|
-
content = typeTerminalNode.getContent();
|
|
23
|
-
|
|
24
|
-
typeName = content; ///
|
|
25
|
-
|
|
26
|
-
return true;
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
return typeName;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
getTypePrefixName() {
|
|
34
|
-
let typePrefixName = null;
|
|
35
|
-
|
|
36
|
-
const prefixed = this.isPrefixed();
|
|
37
|
-
|
|
38
|
-
if (prefixed) {
|
|
39
|
-
const prefixIndex = 0;
|
|
40
|
-
|
|
41
|
-
this.someChildNode((childNode, index) => {
|
|
42
|
-
if (index === prefixIndex) {
|
|
43
|
-
const typeTerminalNode = childNode, ///
|
|
44
|
-
content = typeTerminalNode.getContent();
|
|
45
|
-
|
|
46
|
-
typePrefixName = content; ///
|
|
47
|
-
|
|
48
|
-
return true;
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
return typePrefixName;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
getNominalTypeName() {
|
|
57
|
-
let nominalTypeName;
|
|
58
|
-
|
|
59
|
-
const prefixed = this.isPrefixed(),
|
|
60
|
-
typeName = this.getTypeName();
|
|
61
|
-
|
|
62
|
-
if (prefixed) {
|
|
63
|
-
const typePrefixName = this.getTypePrefixName();
|
|
64
|
-
|
|
65
|
-
nominalTypeName = `${typePrefixName}${typeName}`;
|
|
66
|
-
} else {
|
|
67
|
-
nominalTypeName = typeName; ///
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
return nominalTypeName;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(TypeNode, ruleName, childNodes, opacity, precedence); }
|
|
74
|
-
}
|
package/src/node/typePrefix.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { NonTerminalNode } from "occam-languages";
|
|
4
|
-
|
|
5
|
-
export default class TypePrefixNode extends NonTerminalNode {
|
|
6
|
-
getTypePrefixName() {
|
|
7
|
-
let typePrefixName;
|
|
8
|
-
|
|
9
|
-
this.someChildNode((childNode) => {
|
|
10
|
-
const childNodeTerminalNode = childNode.isTerminalNode();
|
|
11
|
-
|
|
12
|
-
if (childNodeTerminalNode) {
|
|
13
|
-
const terminalNode = childNode, ///
|
|
14
|
-
content = terminalNode.getContent();
|
|
15
|
-
|
|
16
|
-
typePrefixName = content; ///
|
|
17
|
-
|
|
18
|
-
return true;
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
return typePrefixName;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(TypePrefixNode, ruleName, childNodes, opacity, precedence); }
|
|
26
|
-
}
|
package/src/node/types.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { NonTerminalNode } from "occam-languages";
|
|
4
|
-
|
|
5
|
-
import { TYPE_RULE_NAME } from "../ruleNames";
|
|
6
|
-
|
|
7
|
-
export default class TypesNode extends NonTerminalNode {
|
|
8
|
-
getTypeNodes() {
|
|
9
|
-
const ruleName = TYPE_RULE_NAME,
|
|
10
|
-
typeNodes = this.getNodesByRuleName(ruleName);
|
|
11
|
-
|
|
12
|
-
return typeNodes;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(TypesNode, ruleName, childNodes, opacity, precedence); }
|
|
16
|
-
}
|
package/src/node/variable.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { NonTerminalNode } from "occam-languages";
|
|
4
|
-
|
|
5
|
-
export default class VariableNode extends NonTerminalNode {
|
|
6
|
-
getVariableIdentifier() {
|
|
7
|
-
let variableIdentifier;
|
|
8
|
-
|
|
9
|
-
this.someChildNode((childNode) => {
|
|
10
|
-
const childNodeTerminalNode = childNode.isTerminalNode();
|
|
11
|
-
|
|
12
|
-
if (childNodeTerminalNode) {
|
|
13
|
-
const terminalNode = childNode, ///
|
|
14
|
-
content = terminalNode.getContent();
|
|
15
|
-
|
|
16
|
-
variableIdentifier = content; ///
|
|
17
|
-
|
|
18
|
-
return true;
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
return variableIdentifier;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(VariableNode, ruleName, childNodes, opacity, precedence); }
|
|
26
|
-
}
|
package/src/nominal/lexer.js
DELETED
package/src/nominal/parser.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { NonTerminalNode } from "occam-languages";
|
|
4
|
-
import { NominalParser as NominalParserBase } from "occam-grammars";
|
|
5
|
-
|
|
6
|
-
import NonTerminalNodeMap from "../nonTerminalNodeMap";
|
|
7
|
-
|
|
8
|
-
export default class NominalParser extends NominalParserBase {
|
|
9
|
-
static NonTerminalNodeMap = NonTerminalNodeMap;
|
|
10
|
-
|
|
11
|
-
static defaultNonTerminalNode = NonTerminalNode;
|
|
12
|
-
}
|