occam-verify-cli 1.0.478 → 1.0.480
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/node/argument.js +4 -9
- package/lib/node/assertion.js +4 -9
- package/lib/node/assumption.js +6 -11
- package/lib/node/body.js +4 -9
- package/lib/node/combinator.js +4 -9
- package/lib/node/conclusion.js +4 -9
- package/lib/node/constructor.js +4 -9
- package/lib/node/declaration.js +4 -9
- package/lib/node/deduction.js +4 -9
- package/lib/node/derivation.js +4 -9
- package/lib/node/document.js +4 -9
- package/lib/node/equality.js +4 -9
- package/lib/node/equivalence.js +4 -9
- package/lib/node/equivalences.js +4 -9
- package/lib/node/error.js +4 -9
- package/lib/node/frame.js +4 -9
- package/lib/node/header.js +4 -9
- package/lib/node/hypothesis.js +4 -9
- package/lib/node/judgement.js +4 -9
- package/lib/node/label.js +4 -9
- package/lib/node/labels.js +4 -9
- package/lib/node/metaArgument.js +4 -9
- package/lib/node/metaType.js +4 -9
- package/lib/node/metavariable.js +4 -9
- package/lib/node/parameter.js +4 -9
- package/lib/node/parenthesisedLabel.js +4 -9
- package/lib/node/parenthesisedLabels.js +4 -9
- package/lib/node/placeholder.js +4 -9
- package/lib/node/procedureCall.js +4 -9
- package/lib/node/procedureReference.js +4 -9
- package/lib/node/proof.js +4 -9
- package/lib/node/proofAssertion.js +4 -9
- package/lib/node/property.js +4 -9
- package/lib/node/propertyRelation.js +4 -9
- package/lib/node/qualification.js +4 -9
- package/lib/node/reference.js +4 -9
- package/lib/node/rule.js +4 -9
- package/lib/node/section.js +4 -9
- package/lib/node/signature.js +4 -9
- package/lib/node/statement.js +4 -9
- package/lib/node/subDerivation.js +4 -9
- package/lib/node/subproof.js +4 -9
- package/lib/node/substitution.js +4 -9
- package/lib/node/term.js +4 -9
- package/lib/node/topLevelAssertion.js +4 -9
- package/lib/node/topLevelMetaAssertion.js +4 -9
- package/lib/node/type.js +4 -9
- package/lib/node/typePrefix.js +4 -9
- package/lib/node/types.js +4 -9
- package/lib/node/variable.js +4 -9
- package/lib/nominal/parser.js +3 -3
- package/package.json +6 -6
- package/src/node/argument.js +1 -1
- package/src/node/assertion.js +1 -1
- package/src/node/assumption.js +2 -2
- package/src/node/body.js +1 -1
- package/src/node/combinator.js +1 -1
- package/src/node/conclusion.js +1 -1
- package/src/node/constructor.js +1 -1
- package/src/node/declaration.js +1 -1
- package/src/node/deduction.js +1 -1
- package/src/node/derivation.js +1 -1
- package/src/node/document.js +1 -1
- package/src/node/equality.js +1 -2
- package/src/node/equivalence.js +1 -1
- package/src/node/equivalences.js +1 -1
- package/src/node/error.js +1 -1
- package/src/node/frame.js +1 -1
- package/src/node/header.js +1 -1
- package/src/node/hypothesis.js +1 -1
- package/src/node/judgement.js +1 -1
- package/src/node/label.js +1 -1
- package/src/node/labels.js +1 -1
- package/src/node/metaArgument.js +1 -1
- package/src/node/metaType.js +1 -1
- package/src/node/metavariable.js +1 -1
- package/src/node/parameter.js +1 -1
- package/src/node/parenthesisedLabel.js +1 -1
- package/src/node/parenthesisedLabels.js +1 -1
- package/src/node/placeholder.js +1 -1
- package/src/node/procedureCall.js +1 -1
- package/src/node/procedureReference.js +1 -1
- package/src/node/proof.js +1 -1
- package/src/node/proofAssertion.js +1 -1
- package/src/node/property.js +1 -1
- package/src/node/propertyRelation.js +1 -1
- package/src/node/qualification.js +1 -1
- package/src/node/reference.js +1 -1
- package/src/node/rule.js +1 -1
- package/src/node/section.js +1 -1
- package/src/node/signature.js +1 -1
- package/src/node/statement.js +1 -1
- package/src/node/subDerivation.js +1 -1
- package/src/node/subproof.js +1 -1
- package/src/node/substitution.js +1 -1
- package/src/node/term.js +1 -1
- package/src/node/topLevelAssertion.js +1 -1
- package/src/node/topLevelMetaAssertion.js +1 -1
- package/src/node/type.js +1 -1
- package/src/node/typePrefix.js +1 -1
- package/src/node/types.js +1 -1
- package/src/node/variable.js +1 -1
- package/src/nominal/parser.js +1 -1
- package/lib/nonTerminalNode.js +0 -222
- package/src/nonTerminalNode.js +0 -136
package/lib/nonTerminalNode.js
DELETED
|
@@ -1,222 +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 NonTerminalNode;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _necessary = require("necessary");
|
|
12
|
-
var _occamparsers = require("occam-parsers");
|
|
13
|
-
function _assert_this_initialized(self) {
|
|
14
|
-
if (self === void 0) {
|
|
15
|
-
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
16
|
-
}
|
|
17
|
-
return self;
|
|
18
|
-
}
|
|
19
|
-
function _call_super(_this, derived, args) {
|
|
20
|
-
derived = _get_prototype_of(derived);
|
|
21
|
-
return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
|
|
22
|
-
}
|
|
23
|
-
function _class_call_check(instance, Constructor) {
|
|
24
|
-
if (!(instance instanceof Constructor)) {
|
|
25
|
-
throw new TypeError("Cannot call a class as a function");
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
function _defineProperties(target, props) {
|
|
29
|
-
for(var i = 0; i < props.length; i++){
|
|
30
|
-
var descriptor = props[i];
|
|
31
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
32
|
-
descriptor.configurable = true;
|
|
33
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
34
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
function _create_class(Constructor, protoProps, staticProps) {
|
|
38
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
39
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
40
|
-
return Constructor;
|
|
41
|
-
}
|
|
42
|
-
function _get_prototype_of(o) {
|
|
43
|
-
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
|
|
44
|
-
return o.__proto__ || Object.getPrototypeOf(o);
|
|
45
|
-
};
|
|
46
|
-
return _get_prototype_of(o);
|
|
47
|
-
}
|
|
48
|
-
function _inherits(subClass, superClass) {
|
|
49
|
-
if (typeof superClass !== "function" && superClass !== null) {
|
|
50
|
-
throw new TypeError("Super expression must either be null or a function");
|
|
51
|
-
}
|
|
52
|
-
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
53
|
-
constructor: {
|
|
54
|
-
value: subClass,
|
|
55
|
-
writable: true,
|
|
56
|
-
configurable: true
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
if (superClass) _set_prototype_of(subClass, superClass);
|
|
60
|
-
}
|
|
61
|
-
function _possible_constructor_return(self, call) {
|
|
62
|
-
if (call && (_type_of(call) === "object" || typeof call === "function")) {
|
|
63
|
-
return call;
|
|
64
|
-
}
|
|
65
|
-
return _assert_this_initialized(self);
|
|
66
|
-
}
|
|
67
|
-
function _set_prototype_of(o, p) {
|
|
68
|
-
_set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
|
|
69
|
-
o.__proto__ = p;
|
|
70
|
-
return o;
|
|
71
|
-
};
|
|
72
|
-
return _set_prototype_of(o, p);
|
|
73
|
-
}
|
|
74
|
-
function _type_of(obj) {
|
|
75
|
-
"@swc/helpers - typeof";
|
|
76
|
-
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
77
|
-
}
|
|
78
|
-
function _is_native_reflect_construct() {
|
|
79
|
-
try {
|
|
80
|
-
var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
81
|
-
} catch (_) {}
|
|
82
|
-
return (_is_native_reflect_construct = function() {
|
|
83
|
-
return !!result;
|
|
84
|
-
})();
|
|
85
|
-
}
|
|
86
|
-
var first = _necessary.arrayUtilities.first;
|
|
87
|
-
var NonTerminalNode = /*#__PURE__*/ function(NonTerminalNodeBase) {
|
|
88
|
-
_inherits(NonTerminalNode, NonTerminalNodeBase);
|
|
89
|
-
function NonTerminalNode() {
|
|
90
|
-
_class_call_check(this, NonTerminalNode);
|
|
91
|
-
return _call_super(this, NonTerminalNode, arguments);
|
|
92
|
-
}
|
|
93
|
-
_create_class(NonTerminalNode, [
|
|
94
|
-
{
|
|
95
|
-
key: "getNodeByRuleName",
|
|
96
|
-
value: function getNodeByRuleName() {
|
|
97
|
-
for(var _len = arguments.length, ruleNames = new Array(_len), _key = 0; _key < _len; _key++){
|
|
98
|
-
ruleNames[_key] = arguments[_key];
|
|
99
|
-
}
|
|
100
|
-
var node = this.findChildNode(function(childNode) {
|
|
101
|
-
var childNodeNonTerminalNode = childNode.isNonTerminalNode();
|
|
102
|
-
if (childNodeNonTerminalNode) {
|
|
103
|
-
var nonTerminalNode = childNode, ruleName = nonTerminalNode.getRuleName(), ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
|
|
104
|
-
if (ruleNamesIncludesRuleName) {
|
|
105
|
-
return true;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}) || null;
|
|
109
|
-
return node;
|
|
110
|
-
}
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
key: "getNodesByRuleName",
|
|
114
|
-
value: function getNodesByRuleName() {
|
|
115
|
-
for(var _len = arguments.length, ruleNames = new Array(_len), _key = 0; _key < _len; _key++){
|
|
116
|
-
ruleNames[_key] = arguments[_key];
|
|
117
|
-
}
|
|
118
|
-
var nodes = this.filterChildNode(function(childNode) {
|
|
119
|
-
var childNodeNonTerminalNode = childNode.isNonTerminalNode();
|
|
120
|
-
if (childNodeNonTerminalNode) {
|
|
121
|
-
var nonTerminalNode = childNode, ruleName = nonTerminalNode.getRuleName(), ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
|
|
122
|
-
if (ruleNamesIncludesRuleName) {
|
|
123
|
-
return true;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
});
|
|
127
|
-
return nodes;
|
|
128
|
-
}
|
|
129
|
-
},
|
|
130
|
-
{
|
|
131
|
-
key: "getLastNodeByRuleName",
|
|
132
|
-
value: function getLastNodeByRuleName() {
|
|
133
|
-
for(var _len = arguments.length, ruleNames = new Array(_len), _key = 0; _key < _len; _key++){
|
|
134
|
-
ruleNames[_key] = arguments[_key];
|
|
135
|
-
}
|
|
136
|
-
var lastNode = null;
|
|
137
|
-
this.backwardsSomeChildNode(function(childNode) {
|
|
138
|
-
var childNodeNonTerminalNode = childNode.isNonTerminalNode();
|
|
139
|
-
if (childNodeNonTerminalNode) {
|
|
140
|
-
var nonTerminalNode = childNode, ruleName = nonTerminalNode.getRuleName(), ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
|
|
141
|
-
if (ruleNamesIncludesRuleName) {
|
|
142
|
-
lastNode = childNode; ///
|
|
143
|
-
return true;
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
});
|
|
147
|
-
return lastNode;
|
|
148
|
-
}
|
|
149
|
-
},
|
|
150
|
-
{
|
|
151
|
-
key: "getFirstNodeByRuleName",
|
|
152
|
-
value: function getFirstNodeByRuleName() {
|
|
153
|
-
for(var _len = arguments.length, ruleNames = new Array(_len), _key = 0; _key < _len; _key++){
|
|
154
|
-
ruleNames[_key] = arguments[_key];
|
|
155
|
-
}
|
|
156
|
-
var firstNode = null;
|
|
157
|
-
this.forwardsSomeChildNode(function(childNode) {
|
|
158
|
-
var childNodeNonTerminalNode = childNode.isNonTerminalNode();
|
|
159
|
-
if (childNodeNonTerminalNode) {
|
|
160
|
-
var nonTerminalNode = childNode, ruleName = nonTerminalNode.getRuleName(), ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
|
|
161
|
-
if (ruleNamesIncludesRuleName) {
|
|
162
|
-
firstNode = childNode; ///
|
|
163
|
-
return true;
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
});
|
|
167
|
-
return firstNode;
|
|
168
|
-
}
|
|
169
|
-
},
|
|
170
|
-
{
|
|
171
|
-
key: "getSingularNodeByRuleName",
|
|
172
|
-
value: function getSingularNodeByRuleName() {
|
|
173
|
-
for(var _len = arguments.length, ruleNames = new Array(_len), _key = 0; _key < _len; _key++){
|
|
174
|
-
ruleNames[_key] = arguments[_key];
|
|
175
|
-
}
|
|
176
|
-
var singularNode = null;
|
|
177
|
-
var nodes = this.filterChildNode(function(childNode) {
|
|
178
|
-
var childNodeNonTerminalNode = childNode.isNonTerminalNode();
|
|
179
|
-
if (childNodeNonTerminalNode) {
|
|
180
|
-
var nonTerminalNode = childNode, ruleName = nonTerminalNode.getRuleName(), ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
|
|
181
|
-
if (ruleNamesIncludesRuleName) {
|
|
182
|
-
return true;
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
}), nodesLength = nodes.length;
|
|
186
|
-
if (nodesLength === 1) {
|
|
187
|
-
var firstNode = first(nodes);
|
|
188
|
-
singularNode = firstNode; ///
|
|
189
|
-
}
|
|
190
|
-
return singularNode;
|
|
191
|
-
}
|
|
192
|
-
},
|
|
193
|
-
{
|
|
194
|
-
key: "getDescendantNodesByRuleName",
|
|
195
|
-
value: function getDescendantNodesByRuleName() {
|
|
196
|
-
for(var _len = arguments.length, ruleNames = new Array(_len), _key = 0; _key < _len; _key++){
|
|
197
|
-
ruleNames[_key] = arguments[_key];
|
|
198
|
-
}
|
|
199
|
-
var nodes = this.filterDescendantNode(function(descendantNode) {
|
|
200
|
-
var descendantNodeNonTerminalNode = descendantNode.isNonTerminalNode();
|
|
201
|
-
if (descendantNodeNonTerminalNode) {
|
|
202
|
-
var nonTerminalNode = descendantNode, ruleName = nonTerminalNode.getRuleName(), ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
|
|
203
|
-
if (ruleNamesIncludesRuleName) {
|
|
204
|
-
return true;
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
});
|
|
208
|
-
return nodes;
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
], [
|
|
212
|
-
{
|
|
213
|
-
key: "fromRuleNameChildNodesOpacityAndPrecedence",
|
|
214
|
-
value: function fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence) {
|
|
215
|
-
return _occamparsers.NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence);
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
]);
|
|
219
|
-
return NonTerminalNode;
|
|
220
|
-
}(_occamparsers.NonTerminalNode);
|
|
221
|
-
|
|
222
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ub25UZXJtaW5hbE5vZGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgeyBOb25UZXJtaW5hbE5vZGUgYXMgTm9uVGVybWluYWxOb2RlQmFzZSB9IGZyb20gXCJvY2NhbS1wYXJzZXJzXCI7XG5cbmNvbnN0IHsgZmlyc3QgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOb25UZXJtaW5hbE5vZGUgZXh0ZW5kcyBOb25UZXJtaW5hbE5vZGVCYXNlIHtcbiAgZ2V0Tm9kZUJ5UnVsZU5hbWUoLi4ucnVsZU5hbWVzKSB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuZmluZENoaWxkTm9kZSgoY2hpbGROb2RlKSA9PiB7XG4gICAgICBjb25zdCBjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgICAgaWYgKGNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUsIC8vL1xuICAgICAgICAgICAgICBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgICBydWxlTmFtZXNJbmNsdWRlc1J1bGVOYW1lID0gcnVsZU5hbWVzLmluY2x1ZGVzKHJ1bGVOYW1lKTtcblxuICAgICAgICBpZiAocnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSkgfHwgbnVsbDtcblxuICAgIHJldHVybiBub2RlO1xuICB9XG5cbiAgZ2V0Tm9kZXNCeVJ1bGVOYW1lKC4uLnJ1bGVOYW1lcykge1xuICAgIGNvbnN0IG5vZGVzID0gdGhpcy5maWx0ZXJDaGlsZE5vZGUoKGNoaWxkTm9kZSkgPT4ge1xuICAgICAgY29uc3QgY2hpbGROb2RlTm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICAgIGlmIChjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUpIHtcbiAgICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLCAvLy9cbiAgICAgICAgICAgICAgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICAgICAgcnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSA9IHJ1bGVOYW1lcy5pbmNsdWRlcyhydWxlTmFtZSk7XG5cbiAgICAgICAgaWYgKHJ1bGVOYW1lc0luY2x1ZGVzUnVsZU5hbWUpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5vZGVzO1xuICB9XG5cbiAgZ2V0TGFzdE5vZGVCeVJ1bGVOYW1lKC4uLnJ1bGVOYW1lcykge1xuICAgIGxldCBsYXN0Tm9kZSA9IG51bGw7XG5cbiAgICB0aGlzLmJhY2t3YXJkc1NvbWVDaGlsZE5vZGUoKGNoaWxkTm9kZSkgPT4ge1xuICAgICAgY29uc3QgY2hpbGROb2RlTm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICAgIGlmIChjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUpIHtcbiAgICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLCAvLy9cbiAgICAgICAgICAgICAgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICAgICAgcnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSA9IHJ1bGVOYW1lcy5pbmNsdWRlcyhydWxlTmFtZSk7XG5cbiAgICAgICAgaWYgKHJ1bGVOYW1lc0luY2x1ZGVzUnVsZU5hbWUpIHtcbiAgICAgICAgICBsYXN0Tm9kZSA9IGNoaWxkTm9kZTsgLy8vXG5cbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGxhc3ROb2RlO1xuICB9XG5cbiAgZ2V0Rmlyc3ROb2RlQnlSdWxlTmFtZSguLi5ydWxlTmFtZXMpIHtcbiAgICBsZXQgZmlyc3ROb2RlID0gbnVsbDtcblxuICAgIHRoaXMuZm9yd2FyZHNTb21lQ2hpbGROb2RlKChjaGlsZE5vZGUpID0+IHtcbiAgICAgIGNvbnN0IGNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSA9IGNoaWxkTm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgICBpZiAoY2hpbGROb2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IGNoaWxkTm9kZSwgLy8vXG4gICAgICAgICAgICAgIHJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlLmdldFJ1bGVOYW1lKCksXG4gICAgICAgICAgICAgIHJ1bGVOYW1lc0luY2x1ZGVzUnVsZU5hbWUgPSBydWxlTmFtZXMuaW5jbHVkZXMocnVsZU5hbWUpO1xuXG4gICAgICAgIGlmIChydWxlTmFtZXNJbmNsdWRlc1J1bGVOYW1lKSB7XG4gICAgICAgICAgZmlyc3ROb2RlID0gY2hpbGROb2RlOyAvLy9cblxuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZmlyc3ROb2RlO1xuICB9XG5cbiAgZ2V0U2luZ3VsYXJOb2RlQnlSdWxlTmFtZSguLi5ydWxlTmFtZXMpIHtcbiAgICBsZXQgc2luZ3VsYXJOb2RlID0gbnVsbDtcblxuICAgIGNvbnN0IG5vZGVzID0gdGhpcy5maWx0ZXJDaGlsZE5vZGUoKGNoaWxkTm9kZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY2hpbGROb2RlTm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICAgICAgICAgIGlmIChjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUpIHtcbiAgICAgICAgICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLCAvLy9cbiAgICAgICAgICAgICAgICAgICAgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSA9IHJ1bGVOYW1lcy5pbmNsdWRlcyhydWxlTmFtZSk7XG5cbiAgICAgICAgICAgICAgaWYgKHJ1bGVOYW1lc0luY2x1ZGVzUnVsZU5hbWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pLFxuICAgICAgICAgIG5vZGVzTGVuZ3RoID0gbm9kZXMubGVuZ3RoO1xuXG4gICAgaWYgKG5vZGVzTGVuZ3RoID09PSAxKSB7XG4gICAgICBjb25zdCBmaXJzdE5vZGUgPSBmaXJzdChub2Rlcyk7XG5cbiAgICAgIHNpbmd1bGFyTm9kZSA9IGZpcnN0Tm9kZTsgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIHNpbmd1bGFyTm9kZTtcbiAgfVxuXG4gIGdldERlc2NlbmRhbnROb2Rlc0J5UnVsZU5hbWUoLi4ucnVsZU5hbWVzKSB7XG4gICAgY29uc3Qgbm9kZXMgPSB0aGlzLmZpbHRlckRlc2NlbmRhbnROb2RlKChkZXNjZW5kYW50Tm9kZSkgPT4ge1xuICAgICAgY29uc3QgZGVzY2VuZGFudE5vZGVOb25UZXJtaW5hbE5vZGUgPSBkZXNjZW5kYW50Tm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgICBpZiAoZGVzY2VuZGFudE5vZGVOb25UZXJtaW5hbE5vZGUpIHtcbiAgICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gZGVzY2VuZGFudE5vZGUsIC8vL1xuICAgICAgICAgICAgICBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgICBydWxlTmFtZXNJbmNsdWRlc1J1bGVOYW1lID0gcnVsZU5hbWVzLmluY2x1ZGVzKHJ1bGVOYW1lKTtcblxuICAgICAgICBpZiAocnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbm9kZXM7XG4gIH1cblxuICBzdGF0aWMgZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc09wYWNpdHlBbmRQcmVjZWRlbmNlKENsYXNzLCBydWxlTmFtZSwgY2hpbGROb2Rlcywgb3BhY2l0eSwgcHJlY2VkZW5jZSkgeyByZXR1cm4gTm9uVGVybWluYWxOb2RlQmFzZS5mcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UoQ2xhc3MsIHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBwcmVjZWRlbmNlKTsgfVxufVxuIl0sIm5hbWVzIjpbIk5vblRlcm1pbmFsTm9kZSIsImZpcnN0IiwiYXJyYXlVdGlsaXRpZXMiLCJnZXROb2RlQnlSdWxlTmFtZSIsInJ1bGVOYW1lcyIsIm5vZGUiLCJmaW5kQ2hpbGROb2RlIiwiY2hpbGROb2RlIiwiY2hpbGROb2RlTm9uVGVybWluYWxOb2RlIiwiaXNOb25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGUiLCJydWxlTmFtZSIsImdldFJ1bGVOYW1lIiwicnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSIsImluY2x1ZGVzIiwiZ2V0Tm9kZXNCeVJ1bGVOYW1lIiwibm9kZXMiLCJmaWx0ZXJDaGlsZE5vZGUiLCJnZXRMYXN0Tm9kZUJ5UnVsZU5hbWUiLCJsYXN0Tm9kZSIsImJhY2t3YXJkc1NvbWVDaGlsZE5vZGUiLCJnZXRGaXJzdE5vZGVCeVJ1bGVOYW1lIiwiZmlyc3ROb2RlIiwiZm9yd2FyZHNTb21lQ2hpbGROb2RlIiwiZ2V0U2luZ3VsYXJOb2RlQnlSdWxlTmFtZSIsInNpbmd1bGFyTm9kZSIsIm5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwiZ2V0RGVzY2VuZGFudE5vZGVzQnlSdWxlTmFtZSIsImZpbHRlckRlc2NlbmRhbnROb2RlIiwiZGVzY2VuZGFudE5vZGUiLCJkZXNjZW5kYW50Tm9kZU5vblRlcm1pbmFsTm9kZSIsImZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZSIsIkNsYXNzIiwiY2hpbGROb2RlcyIsIm9wYWNpdHkiLCJwcmVjZWRlbmNlIiwiTm9uVGVybWluYWxOb2RlQmFzZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFRcUJBOzs7eUJBTlU7NEJBRXdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV2RCxJQUFNLEFBQUVDLFFBQVVDLHlCQUFjLENBQXhCRDtBQUVPLElBQUEsQUFBTUQsZ0NBQU47Y0FBTUE7YUFBQUE7Z0NBQUFBO1FBQU4sT0FBQSxrQkFBTUE7O2tCQUFBQTs7WUFDbkJHLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFBa0IsSUFBQSxJQUFBLE9BQUEsVUFBQSxRQUFBLEFBQUdDLFlBQUgsVUFBQSxPQUFBLE9BQUEsR0FBQSxPQUFBLE1BQUE7b0JBQUdBLFVBQUgsUUFBQSxTQUFBLENBQUEsS0FBWTs7Z0JBQzVCLElBQU1DLE9BQU8sSUFBSSxDQUFDQyxhQUFhLENBQUMsU0FBQ0M7b0JBQy9CLElBQU1DLDJCQUEyQkQsVUFBVUUsaUJBQWlCO29CQUU1RCxJQUFJRCwwQkFBMEI7d0JBQzVCLElBQU1FLGtCQUFrQkgsV0FDbEJJLFdBQVdELGdCQUFnQkUsV0FBVyxJQUN0Q0MsNEJBQTRCVCxVQUFVVSxRQUFRLENBQUNIO3dCQUVyRCxJQUFJRSwyQkFBMkI7NEJBQzdCLE9BQU87d0JBQ1Q7b0JBQ0Y7Z0JBQ0YsTUFBTTtnQkFFTixPQUFPUjtZQUNUOzs7WUFFQVUsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUFtQixJQUFBLElBQUEs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
|
package/src/nonTerminalNode.js
DELETED
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { arrayUtilities } from "necessary";
|
|
4
|
-
|
|
5
|
-
import { NonTerminalNode as NonTerminalNodeBase } from "occam-parsers";
|
|
6
|
-
|
|
7
|
-
const { first } = arrayUtilities;
|
|
8
|
-
|
|
9
|
-
export default class NonTerminalNode extends NonTerminalNodeBase {
|
|
10
|
-
getNodeByRuleName(...ruleNames) {
|
|
11
|
-
const node = this.findChildNode((childNode) => {
|
|
12
|
-
const childNodeNonTerminalNode = childNode.isNonTerminalNode();
|
|
13
|
-
|
|
14
|
-
if (childNodeNonTerminalNode) {
|
|
15
|
-
const nonTerminalNode = childNode, ///
|
|
16
|
-
ruleName = nonTerminalNode.getRuleName(),
|
|
17
|
-
ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
|
|
18
|
-
|
|
19
|
-
if (ruleNamesIncludesRuleName) {
|
|
20
|
-
return true;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}) || null;
|
|
24
|
-
|
|
25
|
-
return node;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
getNodesByRuleName(...ruleNames) {
|
|
29
|
-
const nodes = this.filterChildNode((childNode) => {
|
|
30
|
-
const childNodeNonTerminalNode = childNode.isNonTerminalNode();
|
|
31
|
-
|
|
32
|
-
if (childNodeNonTerminalNode) {
|
|
33
|
-
const nonTerminalNode = childNode, ///
|
|
34
|
-
ruleName = nonTerminalNode.getRuleName(),
|
|
35
|
-
ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
|
|
36
|
-
|
|
37
|
-
if (ruleNamesIncludesRuleName) {
|
|
38
|
-
return true;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
return nodes;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
getLastNodeByRuleName(...ruleNames) {
|
|
47
|
-
let lastNode = null;
|
|
48
|
-
|
|
49
|
-
this.backwardsSomeChildNode((childNode) => {
|
|
50
|
-
const childNodeNonTerminalNode = childNode.isNonTerminalNode();
|
|
51
|
-
|
|
52
|
-
if (childNodeNonTerminalNode) {
|
|
53
|
-
const nonTerminalNode = childNode, ///
|
|
54
|
-
ruleName = nonTerminalNode.getRuleName(),
|
|
55
|
-
ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
|
|
56
|
-
|
|
57
|
-
if (ruleNamesIncludesRuleName) {
|
|
58
|
-
lastNode = childNode; ///
|
|
59
|
-
|
|
60
|
-
return true;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
return lastNode;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
getFirstNodeByRuleName(...ruleNames) {
|
|
69
|
-
let firstNode = null;
|
|
70
|
-
|
|
71
|
-
this.forwardsSomeChildNode((childNode) => {
|
|
72
|
-
const childNodeNonTerminalNode = childNode.isNonTerminalNode();
|
|
73
|
-
|
|
74
|
-
if (childNodeNonTerminalNode) {
|
|
75
|
-
const nonTerminalNode = childNode, ///
|
|
76
|
-
ruleName = nonTerminalNode.getRuleName(),
|
|
77
|
-
ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
|
|
78
|
-
|
|
79
|
-
if (ruleNamesIncludesRuleName) {
|
|
80
|
-
firstNode = childNode; ///
|
|
81
|
-
|
|
82
|
-
return true;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
|
|
87
|
-
return firstNode;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
getSingularNodeByRuleName(...ruleNames) {
|
|
91
|
-
let singularNode = null;
|
|
92
|
-
|
|
93
|
-
const nodes = this.filterChildNode((childNode) => {
|
|
94
|
-
const childNodeNonTerminalNode = childNode.isNonTerminalNode();
|
|
95
|
-
|
|
96
|
-
if (childNodeNonTerminalNode) {
|
|
97
|
-
const nonTerminalNode = childNode, ///
|
|
98
|
-
ruleName = nonTerminalNode.getRuleName(),
|
|
99
|
-
ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
|
|
100
|
-
|
|
101
|
-
if (ruleNamesIncludesRuleName) {
|
|
102
|
-
return true;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}),
|
|
106
|
-
nodesLength = nodes.length;
|
|
107
|
-
|
|
108
|
-
if (nodesLength === 1) {
|
|
109
|
-
const firstNode = first(nodes);
|
|
110
|
-
|
|
111
|
-
singularNode = firstNode; ///
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
return singularNode;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
getDescendantNodesByRuleName(...ruleNames) {
|
|
118
|
-
const nodes = this.filterDescendantNode((descendantNode) => {
|
|
119
|
-
const descendantNodeNonTerminalNode = descendantNode.isNonTerminalNode();
|
|
120
|
-
|
|
121
|
-
if (descendantNodeNonTerminalNode) {
|
|
122
|
-
const nonTerminalNode = descendantNode, ///
|
|
123
|
-
ruleName = nonTerminalNode.getRuleName(),
|
|
124
|
-
ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
|
|
125
|
-
|
|
126
|
-
if (ruleNamesIncludesRuleName) {
|
|
127
|
-
return true;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
});
|
|
131
|
-
|
|
132
|
-
return nodes;
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
static fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence) { return NonTerminalNodeBase.fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence); }
|
|
136
|
-
}
|