occam-verify-cli 1.0.185 → 1.0.192
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/constants.js +5 -1
- package/lib/dom/assertion/property.js +2 -4
- package/lib/dom/assertion/subproof.js +3 -5
- package/lib/dom/assertion/type.js +6 -8
- package/lib/dom/axiom.js +15 -100
- package/lib/dom/conjecture.js +5 -4
- package/lib/dom/constructor/bracketed.js +6 -7
- package/lib/dom/declaration/complexType.js +6 -6
- package/lib/dom/declaration/metavariable.js +3 -5
- package/lib/dom/declaration/type.js +2 -2
- package/lib/dom/declaration.js +2 -4
- package/lib/dom/derivation.js +2 -4
- package/lib/dom/equality.js +9 -11
- package/lib/dom/frame.js +8 -12
- package/lib/dom/judgement.js +2 -4
- package/lib/dom/lemma.js +5 -4
- package/lib/dom/metaLemma.js +5 -4
- package/lib/dom/metaType.js +2 -4
- package/lib/dom/metatheorem.js +5 -4
- package/lib/dom/metavariable.js +12 -15
- package/lib/dom/parameter.js +2 -4
- package/lib/dom/procedureCall.js +6 -10
- package/lib/dom/proof.js +2 -4
- package/lib/dom/property.js +16 -51
- package/lib/dom/propertyRelation.js +8 -10
- package/lib/dom/reference.js +7 -11
- package/lib/dom/rule.js +6 -8
- package/lib/dom/statement.js +27 -31
- package/lib/dom/step.js +4 -6
- package/lib/dom/subDerivation.js +2 -4
- package/lib/dom/subproof.js +6 -8
- package/lib/dom/term.js +14 -20
- package/lib/dom/theorem.js +5 -4
- package/lib/dom/topLevelAssertion.js +30 -24
- package/lib/dom/topLevelMetaAssertion.js +5 -15
- package/lib/dom/type.js +8 -25
- package/lib/dom/variable.js +5 -11
- package/lib/node/assertion/contained.js +45 -58
- package/lib/node/assertion/defined.js +33 -58
- package/lib/node/assertion/property.js +33 -58
- package/lib/node/assertion/satisfies.js +21 -58
- package/lib/node/assertion/subproof.js +21 -58
- package/lib/node/assertion/type.js +33 -58
- package/lib/node/axiom.js +6 -52
- package/lib/node/combinator.js +6 -57
- package/lib/node/conclusion.js +21 -58
- package/lib/node/conjecture.js +6 -52
- package/lib/node/constructor.js +6 -57
- package/lib/node/declaration/combinator.js +13 -61
- package/lib/node/declaration/complexType.js +27 -75
- package/lib/node/declaration/constructor.js +24 -70
- package/lib/node/declaration/metavariable.js +40 -58
- package/lib/node/declaration/property.js +27 -72
- package/lib/node/declaration/type.js +23 -69
- package/lib/node/declaration/variable.js +28 -83
- package/lib/node/declaration.js +33 -58
- package/lib/node/deduction.js +21 -58
- package/lib/node/derivation.js +21 -58
- package/lib/node/equality.js +34 -58
- package/lib/node/error.js +6 -57
- package/lib/node/frame.js +52 -58
- package/lib/node/judgement.js +33 -58
- package/lib/node/label.js +21 -58
- package/lib/{node.js → node/labels.js} +25 -27
- package/lib/node/lemma.js +6 -52
- package/lib/node/metaLemma.js +6 -52
- package/lib/node/metaType.js +18 -60
- package/lib/node/metatheorem.js +6 -52
- package/lib/node/metavariable.js +40 -61
- package/lib/node/parameter.js +22 -58
- package/lib/node/parenthesisedLabels.js +123 -0
- package/lib/node/premise.js +33 -58
- package/lib/node/procedureCall.js +33 -58
- package/lib/node/proof.js +21 -58
- package/lib/node/property.js +18 -62
- package/lib/node/propertyRelation.js +40 -58
- package/lib/node/reference.js +21 -58
- package/lib/node/rule.js +6 -52
- package/lib/node/statement.js +105 -58
- package/lib/node/step.js +47 -58
- package/lib/node/subDerivation.js +21 -58
- package/lib/node/subproof.js +47 -58
- package/lib/node/supposition.js +33 -58
- package/lib/node/term.js +57 -58
- package/lib/node/theorem.js +6 -52
- package/lib/node/topLevelAssertion.js +86 -59
- package/lib/node/topLevelMetaAssertion.js +65 -59
- package/lib/node/type.js +14 -60
- package/lib/node/variable.js +14 -60
- package/lib/nominal/parser.js +3 -3
- package/lib/nonTerminalNodeMap.js +5 -3
- package/lib/ruleNames.js +10 -2
- package/lib/utilities/node.js +283 -7
- package/lib/utilities/type.js +16 -4
- package/lib/verifier/topLevel.js +6 -6
- package/package.json +2 -2
- package/src/constants.js +1 -0
- package/src/dom/assertion/property.js +1 -4
- package/src/dom/assertion/subproof.js +2 -6
- package/src/dom/assertion/type.js +7 -10
- package/src/dom/axiom.js +7 -77
- package/src/dom/conjecture.js +6 -1
- package/src/dom/constructor/bracketed.js +6 -8
- package/src/dom/declaration/complexType.js +7 -6
- package/src/dom/declaration/metavariable.js +2 -6
- package/src/dom/declaration/type.js +4 -2
- package/src/dom/declaration.js +1 -5
- package/src/dom/derivation.js +1 -4
- package/src/dom/equality.js +13 -17
- package/src/dom/frame.js +7 -19
- package/src/dom/judgement.js +1 -4
- package/src/dom/lemma.js +6 -1
- package/src/dom/metaLemma.js +6 -1
- package/src/dom/metaType.js +1 -5
- package/src/dom/metatheorem.js +6 -1
- package/src/dom/metavariable.js +11 -25
- package/src/dom/parameter.js +2 -6
- package/src/dom/procedureCall.js +5 -14
- package/src/dom/proof.js +1 -4
- package/src/dom/property.js +21 -78
- package/src/dom/propertyRelation.js +10 -14
- package/src/dom/reference.js +6 -18
- package/src/dom/rule.js +6 -12
- package/src/dom/statement.js +26 -46
- package/src/dom/step.js +3 -5
- package/src/dom/subDerivation.js +1 -4
- package/src/dom/subproof.js +8 -12
- package/src/dom/term.js +16 -32
- package/src/dom/theorem.js +6 -1
- package/src/dom/topLevelAssertion.js +30 -25
- package/src/dom/topLevelMetaAssertion.js +16 -28
- package/src/dom/type.js +9 -35
- package/src/dom/variable.js +4 -12
- package/src/node/assertion/contained.js +41 -3
- package/src/node/assertion/defined.js +29 -3
- package/src/node/assertion/property.js +29 -3
- package/src/node/assertion/satisfies.js +17 -3
- package/src/node/assertion/subproof.js +17 -3
- package/src/node/assertion/type.js +29 -3
- package/src/node/axiom.js +3 -3
- package/src/node/combinator.js +3 -3
- package/src/node/conclusion.js +17 -3
- package/src/node/conjecture.js +3 -3
- package/src/node/constructor.js +3 -3
- package/src/node/declaration/combinator.js +11 -7
- package/src/node/declaration/complexType.js +25 -24
- package/src/node/declaration/constructor.js +22 -17
- package/src/node/declaration/metavariable.js +36 -3
- package/src/node/declaration/property.js +21 -17
- package/src/node/declaration/type.js +22 -17
- package/src/node/declaration/variable.js +24 -32
- package/src/node/declaration.js +29 -3
- package/src/node/deduction.js +17 -3
- package/src/node/derivation.js +18 -3
- package/src/node/equality.js +31 -3
- package/src/node/error.js +3 -3
- package/src/node/frame.js +53 -3
- package/src/node/judgement.js +29 -3
- package/src/node/label.js +17 -3
- package/src/node/labels.js +21 -0
- package/src/node/lemma.js +3 -3
- package/src/node/metaLemma.js +3 -3
- package/src/node/metaType.js +19 -8
- package/src/node/metatheorem.js +3 -3
- package/src/node/metavariable.js +42 -9
- package/src/node/parameter.js +20 -3
- package/src/node/parenthesisedLabels.js +28 -0
- package/src/node/premise.js +29 -3
- package/src/node/procedureCall.js +29 -3
- package/src/node/proof.js +17 -3
- package/src/node/property.js +18 -12
- package/src/node/propertyRelation.js +35 -3
- package/src/node/reference.js +17 -3
- package/src/node/rule.js +3 -3
- package/src/node/statement.js +108 -3
- package/src/node/step.js +41 -3
- package/src/node/subDerivation.js +18 -3
- package/src/node/subproof.js +41 -3
- package/src/node/supposition.js +29 -3
- package/src/node/term.js +62 -3
- package/src/node/theorem.js +3 -3
- package/src/node/topLevelAssertion.js +89 -3
- package/src/node/topLevelMetaAssertion.js +59 -3
- package/src/node/type.js +15 -8
- package/src/node/variable.js +15 -8
- package/src/nominal/parser.js +1 -1
- package/src/nonTerminalNodeMap.js +9 -3
- package/src/ruleNames.js +3 -1
- package/src/utilities/node.js +147 -6
- package/src/utilities/type.js +9 -0
- package/src/verifier/topLevel.js +5 -10
- package/lib/defaultTerminalNode.js +0 -20
- package/lib/mixins/node.js +0 -145
- package/src/defaultTerminalNode.js +0 -7
- package/src/mixins/node.js +0 -201
- package/src/node.js +0 -29
package/lib/mixins/node.js
DELETED
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
function fromFirstChildNode(callback) {
|
|
12
|
-
var result;
|
|
13
|
-
var firstIndex = 0;
|
|
14
|
-
this.forwardsSomeChildNode(function(childNode, index) {
|
|
15
|
-
if (index === firstIndex) {
|
|
16
|
-
var firstChildNode = childNode; ///
|
|
17
|
-
result = callback(firstChildNode);
|
|
18
|
-
return true;
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
return result;
|
|
22
|
-
}
|
|
23
|
-
function fromSecondChildNode(callback) {
|
|
24
|
-
var result;
|
|
25
|
-
var secondIndex = 1;
|
|
26
|
-
this.forwardsSomeChildNode(function(childNode, index) {
|
|
27
|
-
if (index === secondIndex) {
|
|
28
|
-
var firstChildNode = childNode; ///
|
|
29
|
-
result = callback(firstChildNode);
|
|
30
|
-
return true;
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
return result;
|
|
34
|
-
}
|
|
35
|
-
function fromThirdChildNode(callback) {
|
|
36
|
-
var result;
|
|
37
|
-
var thirdIndex = 2;
|
|
38
|
-
this.forwardsSomeChildNode(function(childNode, index) {
|
|
39
|
-
if (index === thirdIndex) {
|
|
40
|
-
var thirdChildNode = childNode; ///
|
|
41
|
-
result = callback(thirdChildNode);
|
|
42
|
-
return true;
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
return result;
|
|
46
|
-
}
|
|
47
|
-
function fromFourthChildNode(callback) {
|
|
48
|
-
var result;
|
|
49
|
-
var fourthIndex = 3;
|
|
50
|
-
this.forwardsSomeChildNode(function(childNode, index) {
|
|
51
|
-
if (index === fourthIndex) {
|
|
52
|
-
var fourthChildNode = childNode; ///
|
|
53
|
-
result = callback(fourthChildNode);
|
|
54
|
-
return true;
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
return result;
|
|
58
|
-
}
|
|
59
|
-
function fromFifthChildNode(callback) {
|
|
60
|
-
var result;
|
|
61
|
-
var fifthIndex = 4;
|
|
62
|
-
this.forwardsSomeChildNode(function(childNode, index) {
|
|
63
|
-
if (index === fifthIndex) {
|
|
64
|
-
var fifthChildNode = childNode; ///
|
|
65
|
-
result = callback(fifthChildNode);
|
|
66
|
-
return true;
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
return result;
|
|
70
|
-
}
|
|
71
|
-
function fromFirstLastChildNode(callback) {
|
|
72
|
-
var result;
|
|
73
|
-
var multiplicity = this.getMultiplicity(), firstLastIndex = multiplicity - 1;
|
|
74
|
-
this.backwardsSomeChildNode(function(childNode, index) {
|
|
75
|
-
if (index === firstLastIndex) {
|
|
76
|
-
var firstLastChildNode = childNode; ///
|
|
77
|
-
result = callback(firstLastChildNode);
|
|
78
|
-
return true;
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
return result;
|
|
82
|
-
}
|
|
83
|
-
function fromSecondLastChildNode(callback) {
|
|
84
|
-
var result;
|
|
85
|
-
var multiplicity = this.getMultiplicity(), secondLastIndex = multiplicity - 2;
|
|
86
|
-
this.backwardsSomeChildNode(function(childNode, index) {
|
|
87
|
-
if (index === secondLastIndex) {
|
|
88
|
-
var secondLastChildNode = childNode; ///
|
|
89
|
-
result = callback(secondLastChildNode);
|
|
90
|
-
return true;
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
return result;
|
|
94
|
-
}
|
|
95
|
-
function fromThirdLastChildNode(callback) {
|
|
96
|
-
var result;
|
|
97
|
-
var multiplicity = this.getMultiplicity(), thirdLastIndex = multiplicity - 3;
|
|
98
|
-
this.backwardsSomeChildNode(function(childNode, index) {
|
|
99
|
-
if (index === thirdLastIndex) {
|
|
100
|
-
var thirdLastChildNode = childNode; ///
|
|
101
|
-
result = callback(thirdLastChildNode);
|
|
102
|
-
return true;
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
return result;
|
|
106
|
-
}
|
|
107
|
-
function fromFourthLastChildNode(callback) {
|
|
108
|
-
var result;
|
|
109
|
-
var multiplicity = this.getMultiplicity(), fourthLastIndex = multiplicity - 4;
|
|
110
|
-
this.backwardsSomeChildNode(function(childNode, index) {
|
|
111
|
-
if (index === fourthLastIndex) {
|
|
112
|
-
var fourthLastChildNode = childNode; ///
|
|
113
|
-
result = callback(fourthLastChildNode);
|
|
114
|
-
return true;
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
return result;
|
|
118
|
-
}
|
|
119
|
-
function fromFifthLastChildNode(callback) {
|
|
120
|
-
var result;
|
|
121
|
-
var multiplicity = this.getMultiplicity(), fifthLastIndex = multiplicity - 5;
|
|
122
|
-
this.backwardsSomeChildNode(function(childNode, index) {
|
|
123
|
-
if (index === fifthLastIndex) {
|
|
124
|
-
var fifthLastChildNode = childNode; ///
|
|
125
|
-
result = callback(fifthLastChildNode);
|
|
126
|
-
return true;
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
return result;
|
|
130
|
-
}
|
|
131
|
-
var nodeMixins = {
|
|
132
|
-
fromFirstChildNode: fromFirstChildNode,
|
|
133
|
-
fromSecondChildNode: fromSecondChildNode,
|
|
134
|
-
fromThirdChildNode: fromThirdChildNode,
|
|
135
|
-
fromFourthChildNode: fromFourthChildNode,
|
|
136
|
-
fromFifthChildNode: fromFifthChildNode,
|
|
137
|
-
fromFirstLastChildNode: fromFirstLastChildNode,
|
|
138
|
-
fromSecondLastChildNode: fromSecondLastChildNode,
|
|
139
|
-
fromThirdLastChildNode: fromThirdLastChildNode,
|
|
140
|
-
fromFourthLastChildNode: fromFourthLastChildNode,
|
|
141
|
-
fromFifthLastChildNode: fromFifthLastChildNode
|
|
142
|
-
};
|
|
143
|
-
var _default = nodeMixins;
|
|
144
|
-
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvbm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZnVuY3Rpb24gZnJvbUZpcnN0Q2hpbGROb2RlKGNhbGxiYWNrKSB7XG4gIGxldCByZXN1bHQ7XG5cbiAgY29uc3QgZmlyc3RJbmRleCA9IDA7XG5cbiAgdGhpcy5mb3J3YXJkc1NvbWVDaGlsZE5vZGUoKGNoaWxkTm9kZSwgaW5kZXgpID0+IHtcbiAgICBpZiAoaW5kZXggPT09IGZpcnN0SW5kZXgpIHtcbiAgICAgIGNvbnN0IGZpcnN0Q2hpbGROb2RlID0gY2hpbGROb2RlOyAvLy9cblxuICAgICAgcmVzdWx0ID0gY2FsbGJhY2soZmlyc3RDaGlsZE5vZGUpO1xuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIGZyb21TZWNvbmRDaGlsZE5vZGUoY2FsbGJhY2spIHtcbiAgbGV0IHJlc3VsdDtcblxuICBjb25zdCBzZWNvbmRJbmRleCA9IDE7XG5cbiAgdGhpcy5mb3J3YXJkc1NvbWVDaGlsZE5vZGUoKGNoaWxkTm9kZSwgaW5kZXgpID0+IHtcbiAgICBpZiAoaW5kZXggPT09IHNlY29uZEluZGV4KSB7XG4gICAgICBjb25zdCBmaXJzdENoaWxkTm9kZSA9IGNoaWxkTm9kZTsgLy8vXG5cbiAgICAgIHJlc3VsdCA9IGNhbGxiYWNrKGZpcnN0Q2hpbGROb2RlKTtcblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiBmcm9tVGhpcmRDaGlsZE5vZGUoY2FsbGJhY2spIHtcbiAgbGV0IHJlc3VsdDtcblxuICBjb25zdCB0aGlyZEluZGV4ID0gMjtcblxuICB0aGlzLmZvcndhcmRzU29tZUNoaWxkTm9kZSgoY2hpbGROb2RlLCBpbmRleCkgPT4ge1xuICAgIGlmIChpbmRleCA9PT0gdGhpcmRJbmRleCkge1xuICAgICAgY29uc3QgdGhpcmRDaGlsZE5vZGUgPSBjaGlsZE5vZGU7IC8vL1xuXG4gICAgICByZXN1bHQgPSBjYWxsYmFjayh0aGlyZENoaWxkTm9kZSk7XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZnVuY3Rpb24gZnJvbUZvdXJ0aENoaWxkTm9kZShjYWxsYmFjaykge1xuICBsZXQgcmVzdWx0O1xuXG4gIGNvbnN0IGZvdXJ0aEluZGV4ID0gMztcblxuICB0aGlzLmZvcndhcmRzU29tZUNoaWxkTm9kZSgoY2hpbGROb2RlLCBpbmRleCkgPT4ge1xuICAgIGlmIChpbmRleCA9PT0gZm91cnRoSW5kZXgpIHtcbiAgICAgIGNvbnN0IGZvdXJ0aENoaWxkTm9kZSA9IGNoaWxkTm9kZTsgLy8vXG5cbiAgICAgIHJlc3VsdCA9IGNhbGxiYWNrKGZvdXJ0aENoaWxkTm9kZSk7XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZnVuY3Rpb24gZnJvbUZpZnRoQ2hpbGROb2RlKGNhbGxiYWNrKSB7XG4gIGxldCByZXN1bHQ7XG5cbiAgY29uc3QgZmlmdGhJbmRleCA9IDQ7XG5cbiAgdGhpcy5mb3J3YXJkc1NvbWVDaGlsZE5vZGUoKGNoaWxkTm9kZSwgaW5kZXgpID0+IHtcbiAgICBpZiAoaW5kZXggPT09IGZpZnRoSW5kZXgpIHtcbiAgICAgIGNvbnN0IGZpZnRoQ2hpbGROb2RlID0gY2hpbGROb2RlOyAvLy9cblxuICAgICAgcmVzdWx0ID0gY2FsbGJhY2soZmlmdGhDaGlsZE5vZGUpO1xuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIGZyb21GaXJzdExhc3RDaGlsZE5vZGUoY2FsbGJhY2spIHtcbiAgbGV0IHJlc3VsdDtcblxuICBjb25zdCBtdWx0aXBsaWNpdHkgPSB0aGlzLmdldE11bHRpcGxpY2l0eSgpLFxuICAgICAgICBmaXJzdExhc3RJbmRleCA9IG11bHRpcGxpY2l0eSAtIDE7XG5cbiAgdGhpcy5iYWNrd2FyZHNTb21lQ2hpbGROb2RlKChjaGlsZE5vZGUsIGluZGV4KSA9PiB7XG4gICAgaWYgKGluZGV4ID09PSBmaXJzdExhc3RJbmRleCkge1xuICAgICAgY29uc3QgZmlyc3RMYXN0Q2hpbGROb2RlID0gY2hpbGROb2RlOyAvLy9cblxuICAgICAgcmVzdWx0ID0gY2FsbGJhY2soZmlyc3RMYXN0Q2hpbGROb2RlKTtcblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiBmcm9tU2Vjb25kTGFzdENoaWxkTm9kZShjYWxsYmFjaykge1xuICBsZXQgcmVzdWx0O1xuXG4gIGNvbnN0IG11bHRpcGxpY2l0eSA9IHRoaXMuZ2V0TXVsdGlwbGljaXR5KCksXG4gICAgICAgIHNlY29uZExhc3RJbmRleCA9IG11bHRpcGxpY2l0eSAtIDI7XG5cbiAgdGhpcy5iYWNrd2FyZHNTb21lQ2hpbGROb2RlKChjaGlsZE5vZGUsIGluZGV4KSA9PiB7XG4gICAgaWYgKGluZGV4ID09PSBzZWNvbmRMYXN0SW5kZXgpIHtcbiAgICAgIGNvbnN0IHNlY29uZExhc3RDaGlsZE5vZGUgPSBjaGlsZE5vZGU7IC8vL1xuXG4gICAgICByZXN1bHQgPSBjYWxsYmFjayhzZWNvbmRMYXN0Q2hpbGROb2RlKTtcblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiBmcm9tVGhpcmRMYXN0Q2hpbGROb2RlKGNhbGxiYWNrKSB7XG4gIGxldCByZXN1bHQ7XG5cbiAgY29uc3QgbXVsdGlwbGljaXR5ID0gdGhpcy5nZXRNdWx0aXBsaWNpdHkoKSxcbiAgICAgICAgdGhpcmRMYXN0SW5kZXggPSBtdWx0aXBsaWNpdHkgLSAzO1xuXG4gIHRoaXMuYmFja3dhcmRzU29tZUNoaWxkTm9kZSgoY2hpbGROb2RlLCBpbmRleCkgPT4ge1xuICAgIGlmIChpbmRleCA9PT0gdGhpcmRMYXN0SW5kZXgpIHtcbiAgICAgIGNvbnN0IHRoaXJkTGFzdENoaWxkTm9kZSA9IGNoaWxkTm9kZTsgLy8vXG5cbiAgICAgIHJlc3VsdCA9IGNhbGxiYWNrKHRoaXJkTGFzdENoaWxkTm9kZSk7XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZnVuY3Rpb24gZnJvbUZvdXJ0aExhc3RDaGlsZE5vZGUoY2FsbGJhY2spIHtcbiAgbGV0IHJlc3VsdDtcblxuICBjb25zdCBtdWx0aXBsaWNpdHkgPSB0aGlzLmdldE11bHRpcGxpY2l0eSgpLFxuICAgICAgICBmb3VydGhMYXN0SW5kZXggPSBtdWx0aXBsaWNpdHkgLSA0O1xuXG4gIHRoaXMuYmFja3dhcmRzU29tZUNoaWxkTm9kZSgoY2hpbGROb2RlLCBpbmRleCkgPT4ge1xuICAgIGlmIChpbmRleCA9PT0gZm91cnRoTGFzdEluZGV4KSB7XG4gICAgICBjb25zdCBmb3VydGhMYXN0Q2hpbGROb2RlID0gY2hpbGROb2RlOyAvLy9cblxuICAgICAgcmVzdWx0ID0gY2FsbGJhY2soZm91cnRoTGFzdENoaWxkTm9kZSk7XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZnVuY3Rpb24gZnJvbUZpZnRoTGFzdENoaWxkTm9kZShjYWxsYmFjaykge1xuICBsZXQgcmVzdWx0O1xuXG4gIGNvbnN0IG11bHRpcGxpY2l0eSA9IHRoaXMuZ2V0TXVsdGlwbGljaXR5KCksXG4gICAgICAgIGZpZnRoTGFzdEluZGV4ID0gbXVsdGlwbGljaXR5IC0gNTtcblxuICB0aGlzLmJhY2t3YXJkc1NvbWVDaGlsZE5vZGUoKGNoaWxkTm9kZSwgaW5kZXgpID0+IHtcbiAgICBpZiAoaW5kZXggPT09IGZpZnRoTGFzdEluZGV4KSB7XG4gICAgICBjb25zdCBmaWZ0aExhc3RDaGlsZE5vZGUgPSBjaGlsZE5vZGU7IC8vL1xuXG4gICAgICByZXN1bHQgPSBjYWxsYmFjayhmaWZ0aExhc3RDaGlsZE5vZGUpO1xuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmNvbnN0IG5vZGVNaXhpbnMgPSB7XG4gIGZyb21GaXJzdENoaWxkTm9kZSxcbiAgZnJvbVNlY29uZENoaWxkTm9kZSxcbiAgZnJvbVRoaXJkQ2hpbGROb2RlLFxuICBmcm9tRm91cnRoQ2hpbGROb2RlLFxuICBmcm9tRmlmdGhDaGlsZE5vZGUsXG4gIGZyb21GaXJzdExhc3RDaGlsZE5vZGUsXG4gIGZyb21TZWNvbmRMYXN0Q2hpbGROb2RlLFxuICBmcm9tVGhpcmRMYXN0Q2hpbGROb2RlLFxuICBmcm9tRm91cnRoTGFzdENoaWxkTm9kZSxcbiAgZnJvbUZpZnRoTGFzdENoaWxkTm9kZVxufTtcblxuZXhwb3J0IGRlZmF1bHQgbm9kZU1peGlucztcbiJdLCJuYW1lcyI6WyJmcm9tRmlyc3RDaGlsZE5vZGUiLCJjYWxsYmFjayIsInJlc3VsdCIsImZpcnN0SW5kZXgiLCJmb3J3YXJkc1NvbWVDaGlsZE5vZGUiLCJjaGlsZE5vZGUiLCJpbmRleCIsImZpcnN0Q2hpbGROb2RlIiwiZnJvbVNlY29uZENoaWxkTm9kZSIsInNlY29uZEluZGV4IiwiZnJvbVRoaXJkQ2hpbGROb2RlIiwidGhpcmRJbmRleCIsInRoaXJkQ2hpbGROb2RlIiwiZnJvbUZvdXJ0aENoaWxkTm9kZSIsImZvdXJ0aEluZGV4IiwiZm91cnRoQ2hpbGROb2RlIiwiZnJvbUZpZnRoQ2hpbGROb2RlIiwiZmlmdGhJbmRleCIsImZpZnRoQ2hpbGROb2RlIiwiZnJvbUZpcnN0TGFzdENoaWxkTm9kZSIsIm11bHRpcGxpY2l0eSIsImdldE11bHRpcGxpY2l0eSIsImZpcnN0TGFzdEluZGV4IiwiYmFja3dhcmRzU29tZUNoaWxkTm9kZSIsImZpcnN0TGFzdENoaWxkTm9kZSIsImZyb21TZWNvbmRMYXN0Q2hpbGROb2RlIiwic2Vjb25kTGFzdEluZGV4Iiwic2Vjb25kTGFzdENoaWxkTm9kZSIsImZyb21UaGlyZExhc3RDaGlsZE5vZGUiLCJ0aGlyZExhc3RJbmRleCIsInRoaXJkTGFzdENoaWxkTm9kZSIsImZyb21Gb3VydGhMYXN0Q2hpbGROb2RlIiwiZm91cnRoTGFzdEluZGV4IiwiZm91cnRoTGFzdENoaWxkTm9kZSIsImZyb21GaWZ0aExhc3RDaGlsZE5vZGUiLCJmaWZ0aExhc3RJbmRleCIsImZpZnRoTGFzdENoaWxkTm9kZSIsIm5vZGVNaXhpbnMiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQXdNQTs7O2VBQUE7OztBQXRNQSxTQUFTQSxtQkFBbUJDLFFBQVE7SUFDbEMsSUFBSUM7SUFFSixJQUFNQyxhQUFhO0lBRW5CLElBQUksQ0FBQ0MscUJBQXFCLENBQUMsU0FBQ0MsV0FBV0M7UUFDckMsSUFBSUEsVUFBVUgsWUFBWTtZQUN4QixJQUFNSSxpQkFBaUJGLFdBQVcsR0FBRztZQUVyQ0gsU0FBU0QsU0FBU007WUFFbEIsT0FBTztRQUNUO0lBQ0Y7SUFFQSxPQUFPTDtBQUNUO0FBRUEsU0FBU00sb0JBQW9CUCxRQUFRO0lBQ25DLElBQUlDO0lBRUosSUFBTU8sY0FBYztJQUVwQixJQUFJLENBQUNMLHFCQUFxQixDQUFDLFNBQUNDLFdBQVdDO1FBQ3JDLElBQUlBLFVBQVVHLGFBQWE7WUFDekIsSUFBTUYsaUJBQWlCRixXQUFXLEdBQUc7WUFFckNILFNBQVNELFNBQVNNO1lBRWxCLE9BQU87UUFDVDtJQUNGO0lBRUEsT0FBT0w7QUFDVDtBQUVBLFNBQVNRLG1CQUFtQlQsUUFBUTtJQUNsQyxJQUFJQztJQUVKLElBQU1TLGFBQWE7SUFFbkIsSUFBSSxDQUFDUCxxQkFBcUIsQ0FBQyxTQUFDQyxXQUFXQztRQUNyQyxJQUFJQSxVQUFVSyxZQUFZO1lBQ3hCLElBQU1DLGlCQUFpQlAsV0FBVyxHQUFHO1lBRXJDSCxTQUFTRCxTQUFTVztZQUVsQixPQUFPO1FBQ1Q7SUFDRjtJQUVB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
|
package/src/mixins/node.js
DELETED
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
function fromFirstChildNode(callback) {
|
|
4
|
-
let result;
|
|
5
|
-
|
|
6
|
-
const firstIndex = 0;
|
|
7
|
-
|
|
8
|
-
this.forwardsSomeChildNode((childNode, index) => {
|
|
9
|
-
if (index === firstIndex) {
|
|
10
|
-
const firstChildNode = childNode; ///
|
|
11
|
-
|
|
12
|
-
result = callback(firstChildNode);
|
|
13
|
-
|
|
14
|
-
return true;
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
return result;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
function fromSecondChildNode(callback) {
|
|
22
|
-
let result;
|
|
23
|
-
|
|
24
|
-
const secondIndex = 1;
|
|
25
|
-
|
|
26
|
-
this.forwardsSomeChildNode((childNode, index) => {
|
|
27
|
-
if (index === secondIndex) {
|
|
28
|
-
const firstChildNode = childNode; ///
|
|
29
|
-
|
|
30
|
-
result = callback(firstChildNode);
|
|
31
|
-
|
|
32
|
-
return true;
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
return result;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
function fromThirdChildNode(callback) {
|
|
40
|
-
let result;
|
|
41
|
-
|
|
42
|
-
const thirdIndex = 2;
|
|
43
|
-
|
|
44
|
-
this.forwardsSomeChildNode((childNode, index) => {
|
|
45
|
-
if (index === thirdIndex) {
|
|
46
|
-
const thirdChildNode = childNode; ///
|
|
47
|
-
|
|
48
|
-
result = callback(thirdChildNode);
|
|
49
|
-
|
|
50
|
-
return true;
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
return result;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
function fromFourthChildNode(callback) {
|
|
58
|
-
let result;
|
|
59
|
-
|
|
60
|
-
const fourthIndex = 3;
|
|
61
|
-
|
|
62
|
-
this.forwardsSomeChildNode((childNode, index) => {
|
|
63
|
-
if (index === fourthIndex) {
|
|
64
|
-
const fourthChildNode = childNode; ///
|
|
65
|
-
|
|
66
|
-
result = callback(fourthChildNode);
|
|
67
|
-
|
|
68
|
-
return true;
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
|
|
72
|
-
return result;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
function fromFifthChildNode(callback) {
|
|
76
|
-
let result;
|
|
77
|
-
|
|
78
|
-
const fifthIndex = 4;
|
|
79
|
-
|
|
80
|
-
this.forwardsSomeChildNode((childNode, index) => {
|
|
81
|
-
if (index === fifthIndex) {
|
|
82
|
-
const fifthChildNode = childNode; ///
|
|
83
|
-
|
|
84
|
-
result = callback(fifthChildNode);
|
|
85
|
-
|
|
86
|
-
return true;
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
|
|
90
|
-
return result;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
function fromFirstLastChildNode(callback) {
|
|
94
|
-
let result;
|
|
95
|
-
|
|
96
|
-
const multiplicity = this.getMultiplicity(),
|
|
97
|
-
firstLastIndex = multiplicity - 1;
|
|
98
|
-
|
|
99
|
-
this.backwardsSomeChildNode((childNode, index) => {
|
|
100
|
-
if (index === firstLastIndex) {
|
|
101
|
-
const firstLastChildNode = childNode; ///
|
|
102
|
-
|
|
103
|
-
result = callback(firstLastChildNode);
|
|
104
|
-
|
|
105
|
-
return true;
|
|
106
|
-
}
|
|
107
|
-
});
|
|
108
|
-
|
|
109
|
-
return result;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
function fromSecondLastChildNode(callback) {
|
|
113
|
-
let result;
|
|
114
|
-
|
|
115
|
-
const multiplicity = this.getMultiplicity(),
|
|
116
|
-
secondLastIndex = multiplicity - 2;
|
|
117
|
-
|
|
118
|
-
this.backwardsSomeChildNode((childNode, index) => {
|
|
119
|
-
if (index === secondLastIndex) {
|
|
120
|
-
const secondLastChildNode = childNode; ///
|
|
121
|
-
|
|
122
|
-
result = callback(secondLastChildNode);
|
|
123
|
-
|
|
124
|
-
return true;
|
|
125
|
-
}
|
|
126
|
-
});
|
|
127
|
-
|
|
128
|
-
return result;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
function fromThirdLastChildNode(callback) {
|
|
132
|
-
let result;
|
|
133
|
-
|
|
134
|
-
const multiplicity = this.getMultiplicity(),
|
|
135
|
-
thirdLastIndex = multiplicity - 3;
|
|
136
|
-
|
|
137
|
-
this.backwardsSomeChildNode((childNode, index) => {
|
|
138
|
-
if (index === thirdLastIndex) {
|
|
139
|
-
const thirdLastChildNode = childNode; ///
|
|
140
|
-
|
|
141
|
-
result = callback(thirdLastChildNode);
|
|
142
|
-
|
|
143
|
-
return true;
|
|
144
|
-
}
|
|
145
|
-
});
|
|
146
|
-
|
|
147
|
-
return result;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
function fromFourthLastChildNode(callback) {
|
|
151
|
-
let result;
|
|
152
|
-
|
|
153
|
-
const multiplicity = this.getMultiplicity(),
|
|
154
|
-
fourthLastIndex = multiplicity - 4;
|
|
155
|
-
|
|
156
|
-
this.backwardsSomeChildNode((childNode, index) => {
|
|
157
|
-
if (index === fourthLastIndex) {
|
|
158
|
-
const fourthLastChildNode = childNode; ///
|
|
159
|
-
|
|
160
|
-
result = callback(fourthLastChildNode);
|
|
161
|
-
|
|
162
|
-
return true;
|
|
163
|
-
}
|
|
164
|
-
});
|
|
165
|
-
|
|
166
|
-
return result;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
function fromFifthLastChildNode(callback) {
|
|
170
|
-
let result;
|
|
171
|
-
|
|
172
|
-
const multiplicity = this.getMultiplicity(),
|
|
173
|
-
fifthLastIndex = multiplicity - 5;
|
|
174
|
-
|
|
175
|
-
this.backwardsSomeChildNode((childNode, index) => {
|
|
176
|
-
if (index === fifthLastIndex) {
|
|
177
|
-
const fifthLastChildNode = childNode; ///
|
|
178
|
-
|
|
179
|
-
result = callback(fifthLastChildNode);
|
|
180
|
-
|
|
181
|
-
return true;
|
|
182
|
-
}
|
|
183
|
-
});
|
|
184
|
-
|
|
185
|
-
return result;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
const nodeMixins = {
|
|
189
|
-
fromFirstChildNode,
|
|
190
|
-
fromSecondChildNode,
|
|
191
|
-
fromThirdChildNode,
|
|
192
|
-
fromFourthChildNode,
|
|
193
|
-
fromFifthChildNode,
|
|
194
|
-
fromFirstLastChildNode,
|
|
195
|
-
fromSecondLastChildNode,
|
|
196
|
-
fromThirdLastChildNode,
|
|
197
|
-
fromFourthLastChildNode,
|
|
198
|
-
fromFifthLastChildNode
|
|
199
|
-
};
|
|
200
|
-
|
|
201
|
-
export default nodeMixins;
|
package/src/node.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { NonTerminalNode } from "occam-parsers";
|
|
4
|
-
|
|
5
|
-
import nodeMixins from "./mixins/node";
|
|
6
|
-
|
|
7
|
-
class Node extends NonTerminalNode {
|
|
8
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence) {
|
|
9
|
-
if (precedence === undefined) {
|
|
10
|
-
precedence = opacity; ///
|
|
11
|
-
|
|
12
|
-
opacity = childNodes; ///
|
|
13
|
-
|
|
14
|
-
childNodes = ruleName; ///
|
|
15
|
-
|
|
16
|
-
ruleName = Class; ///
|
|
17
|
-
|
|
18
|
-
Class = Node; ///
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
const node = NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence);
|
|
22
|
-
|
|
23
|
-
return node;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
Object.assign(Node.prototype, nodeMixins);
|
|
28
|
-
|
|
29
|
-
export default Node;
|