occam-parsers 23.3.29 → 23.3.30
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/context/definition.js +2 -6
- package/lib/context/part/committedPart.js +9 -1
- package/lib/part/nonTerminal/choiceOfParts.js +4 -2
- package/lib/part/nonTerminal/optionalPart.js +7 -3
- package/lib/rule.js +5 -4
- package/lib/utilities/part.js +8 -3
- package/package.json +1 -1
- package/src/context/definition.js +3 -5
- package/src/context/part/committedPart.js +12 -0
- package/src/part/nonTerminal/choiceOfParts.js +3 -1
- package/src/part/nonTerminal/optionalPart.js +8 -3
- package/src/rule.js +5 -4
- package/src/utilities/part.js +9 -2
|
@@ -96,11 +96,7 @@ class DefinitionContext extends _context.default {
|
|
|
96
96
|
frame = _frame.default.fromChildNode(childNode);
|
|
97
97
|
} else {
|
|
98
98
|
const committed = nonTerminalNode.isCommitted();
|
|
99
|
-
|
|
100
|
-
frame = _frame.abortedFrame;
|
|
101
|
-
} else {
|
|
102
|
-
frame = _frame.nullifiedFrame;
|
|
103
|
-
}
|
|
99
|
+
frame = committed ? _frame.abortedFrame : _frame.nullifiedFrame;
|
|
104
100
|
}
|
|
105
101
|
return frame;
|
|
106
102
|
}
|
|
@@ -117,4 +113,4 @@ function nonTerminalNodeFromFrame(frame, context) {
|
|
|
117
113
|
return nonTerminalNode;
|
|
118
114
|
}
|
|
119
115
|
|
|
120
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L2RlZmluaXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBGcmFtZSBmcm9tIFwiLi4vZnJhbWVcIjtcbmltcG9ydCBDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0XCI7XG5cbmltcG9ydCB7IGFib3J0ZWRGcmFtZSwgbnVsbGlmaWVkRnJhbWUgfSBmcm9tIFwiLi4vZnJhbWVcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGVmaW5pdGlvbkNvbnRleHQgZXh0ZW5kcyBDb250ZXh0IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RhdGUsIGNvbnRpbnVhdGlvbnMsIHByZWNlZGVuY2UpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdGF0ZSwgY29udGludWF0aW9ucyk7XG5cbiAgICB0aGlzLnByZWNlZGVuY2UgPSBwcmVjZWRlbmNlO1xuICB9XG5cbiAgZ2V0UHJlY2VkZW5jZShmcmFtZSkge1xuICAgIGxldCBwcmVjZWRlbmNlO1xuXG4gICAgcHJlY2VkZW5jZSA9IGZyYW1lLmdldFByZWNlZGVuY2UoKTtcblxuICAgIHByZWNlZGVuY2UgPSBwcmVjZWRlbmNlIHx8IHRoaXMucHJlY2VkZW5jZTsgLy8vXG5cbiAgICByZXR1cm4gcHJlY2VkZW5jZTtcbiAgfVxuXG4gIGdldFJ1bGUoKSB7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuZ2V0Q29udGV4dCgpLFxuICAgICAgICAgIHJ1bGVDb250ZXh0ID0gY29udGV4dCwgIC8vL1xuICAgICAgICAgIHJ1bGUgPSBydWxlQ29udGV4dC5nZXRSdWxlKCk7XG5cbiAgICByZXR1cm4gcnVsZTtcbiAgfVxuXG4gIGlzSXNvbGF0ZWQoKSB7XG4gICAgY29uc3QgaXNvbGF0ZWQgPSBmYWxzZTtcblxuICAgIHJldHVybiBpc29sYXRlZDtcbiAgfVxuXG4gIGlzQ29tbWl0dGVkKCkge1xuICAgIGNvbnN0IGNvbW1pdHRlZCA9IGZhbHNlO1xuXG4gICAgcmV0dXJuIGNvbW1pdHRlZDtcbiAgfVxuXG4gIGNvbXBvc2UoZnJhbWUpIHtcbiAgICBsZXQgY29udGV4dDtcblxuICAgIGNvbnN0IGNoaWxkTm9kZXMgPSBmcmFtZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgcHJlY2VkZW5jZSA9IHRoaXMuZ2V0UHJlY2VkZW5jZShmcmFtZSk7XG5cbiAgICBmcmFtZSA9IEZyYW1lLmZyb21DaGlsZE5vZGVzQW5kUHJlY2VkZW5jZShjaGlsZE5vZGVzLCBwcmVjZWRlbmNlKTtcblxuICAgIGNvbnRleHQgPSB0aGlzOyAvLy9cblxuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vblRlcm1pbmFsTm9kZUZyb21GcmFtZShmcmFtZSwgY29udGV4dCk7XG5cbiAgICBjb250ZXh0ID0gdGhpcy5nZXRDb250ZXh0KCk7XG5cbiAgICBjb25zdCBpc29sYXRlZCA9IGNvbnRleHQuaXNJc29sYXRlZCgpO1xuXG4gICAgaWYgKGlzb2xhdGVkKSB7XG4gICAgICBub25UZXJtaW5hbE5vZGUubnVsbGlmeVByZWNlZGVuY2UoKTtcbiAgICB9XG5cbiAgICBjb25zdCBwYWxhdGFibGUgPSBub25UZXJtaW5hbE5vZGUuaXNQYWxhdGFibGUoKTtcblxuICAgIGlmIChwYWxhdGFibGUpIHtcbiAgICAgIGNvbnN0IGNoaWxkTm9kZSA9IG5vblRlcm1pbmFsTm9kZTsgIC8vL1xuXG4gICAgICBmcmFtZSA9IEZyYW1lLmZyb21DaGlsZE5vZGUoY2hpbGROb2RlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgY29tbWl0dGVkID0gbm9uVGVybWluYWxOb2RlLmlzQ29tbWl0dGVkKCk7XG5cbiAgICAgIGZyYW1lID0gY29tbWl0dGVkID9cbiAgICAgICAgICAgICAgICBhYm9ydGVkRnJhbWUgOlxuICAgICAgICAgICAgICAgICAgbnVsbGlmaWVkRnJhbWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZyYW1lO1xuICB9XG5cbiAgc3RhdGljIGZyb21EZWZpbml0aW9uKGRlZmluaXRpb24sIGNvbnRleHQpIHtcbiAgICBjb25zdCBwcmVjZWRlbmNlID0gZGVmaW5pdGlvbi5nZXRQcmVjZWRlbmNlKCksXG4gICAgICAgICAgZGVmaW5pdGlvbkNvbnRleHQgPSBDb250ZXh0LmZyb21Ob3RoaW5nKERlZmluaXRpb25Db250ZXh0LCBwcmVjZWRlbmNlLCBjb250ZXh0KTtcblxuICAgIHJldHVybiBkZWZpbml0aW9uQ29udGV4dDtcbiAgfVxufVxuXG5mdW5jdGlvbiBub25UZXJtaW5hbE5vZGVGcm9tRnJhbWUoZnJhbWUsIGNvbnRleHQpIHtcbiAgbGV0IG5vblRlcm1pbmFsTm9kZTtcblxuICBjb25zdCBydWxlID0gY29udGV4dC5nZXRSdWxlKCksXG4gICAgICAgIG9wYWNpdHkgPSBydWxlLmdldE9wYWNpdHkoKSxcbiAgICAgICAgcnVsZU5hbWUgPSBydWxlLmdldE5hbWUoKSxcbiAgICAgICAgY2hpbGROb2RlcyA9IGZyYW1lLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgcHJlY2VkZW5jZSA9IGZyYW1lLmdldFByZWNlZGVuY2UoKSxcbiAgICAgICAgTm9uVGVybWluYWxOb2RlID0gcnVsZS5Ob25UZXJtaW5hbE5vZGVGcm9tUnVsZU5hbWUocnVsZU5hbWUsIGNvbnRleHQpO1xuXG4gIG5vblRlcm1pbmFsTm9kZSA9IE5vblRlcm1pbmFsTm9kZS5mcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UocnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UpO1xuXG4gIG5vblRlcm1pbmFsTm9kZSA9IG5vblRlcm1pbmFsTm9kZS5yZXdyaXRlKGNvbnRleHQpOyAgLy8vXG5cbiAgcmV0dXJuIG5vblRlcm1pbmFsTm9kZTtcbn1cbiJdLCJuYW1lcyI6WyJEZWZpbml0aW9uQ29udGV4dCIsIkNvbnRleHQiLCJjb250ZXh0Iiwic3RhdGUiLCJjb250aW51YXRpb25zIiwicHJlY2VkZW5jZSIsImdldFByZWNlZGVuY2UiLCJmcmFtZSIsImdldFJ1bGUiLCJnZXRDb250ZXh0IiwicnVsZUNvbnRleHQiLCJydWxlIiwiaXNJc29sYXRlZCIsImlzb2xhdGVkIiwiaXNDb21taXR0ZWQiLCJjb21taXR0ZWQiLCJjb21wb3NlIiwiY2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJGcmFtZSIsImZyb21DaGlsZE5vZGVzQW5kUHJlY2VkZW5jZSIsIm5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZUZyb21GcmFtZSIsIm51bGxpZnlQcmVjZWRlbmNlIiwicGFsYXRhYmxlIiwiaXNQYWxhdGFibGUiLCJjaGlsZE5vZGUiLCJmcm9tQ2hpbGROb2RlIiwiYWJvcnRlZEZyYW1lIiwibnVsbGlmaWVkRnJhbWUiLCJmcm9tRGVmaW5pdGlvbiIsImRlZmluaXRpb24iLCJkZWZpbml0aW9uQ29udGV4dCIsImZyb21Ob3RoaW5nIiwib3BhY2l0eSIsImdldE9wYWNpdHkiLCJydWxlTmFtZSIsImdldE5hbWUiLCJOb25UZXJtaW5hbE5vZGUiLCJOb25UZXJtaW5hbE5vZGVGcm9tUnVsZU5hbWUiLCJmcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UiLCJyZXdyaXRlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFPQTs7O2VBQXFCQTs7OytEQUxIO2dFQUNFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUlMLE1BQU1BLDBCQUEwQkMsZ0JBQU87SUFDcEQsWUFBWUMsT0FBTyxFQUFFQyxLQUFLLEVBQUVDLGFBQWEsRUFBRUMsVUFBVSxDQUFFO1FBQ3JELEtBQUssQ0FBQ0gsU0FBU0MsT0FBT0M7UUFFdEIsSUFBSSxDQUFDQyxVQUFVLEdBQUdBO0lBQ3BCO0lBRUFDLGNBQWNDLEtBQUssRUFBRTtRQUNuQixJQUFJRjtRQUVKQSxhQUFhRSxNQUFNRCxhQUFhO1FBRWhDRCxhQUFhQSxjQUFjLElBQUksQ0FBQ0EsVUFBVSxFQUFFLEdBQUc7UUFFL0MsT0FBT0E7SUFDVDtJQUVBRyxVQUFVO1FBQ1IsTUFBTU4sVUFBVSxJQUFJLENBQUNPLFVBQVUsSUFDekJDLGNBQWNSLFNBQ2RTLE9BQU9ELFlBQVlGLE9BQU87UUFFaEMsT0FBT0c7SUFDVDtJQUVBQyxhQUFhO1FBQ1gsTUFBTUMsV0FBVztRQUVqQixPQUFPQTtJQUNUO0lBRUFDLGNBQWM7UUFDWixNQUFNQyxZQUFZO1FBRWxCLE9BQU9BO0lBQ1Q7SUFFQUMsUUFBUVQsS0FBSyxFQUFFO1FBQ2IsSUFBSUw7UUFFSixNQUFNZSxhQUFhVixNQUFNVyxhQUFhLElBQ2hDYixhQUFhLElBQUksQ0FBQ0MsYUFBYSxDQUFDQztRQUV0Q0EsUUFBUVksY0FBSyxDQUFDQywyQkFBMkIsQ0FBQ0gsWUFBWVo7UUFFdERILFVBQVUsSUFBSSxFQUFFLEdBQUc7UUFFbkIsTUFBTW1CLGtCQUFrQkMseUJBQXlCZixPQUFPTDtRQUV4REEsVUFBVSxJQUFJLENBQUNPLFVBQVU7UUFFekIsTUFBTUksV0FBV1gsUUFBUVUsVUFBVTtRQUVuQyxJQUFJQyxVQUFVO1lBQ1pRLGdCQUFnQkUsaUJBQWlCO1FBQ25DO1FBRUEsTUFBTUMsWUFBWUgsZ0JBQWdCSSxXQUFXO1FBRTdDLElBQUlELFdBQVc7WUFDYixNQUFNRSxZQUFZTCxpQkFBa0IsR0FBRztZQUV2Q2QsUUFBUVksY0FBSyxDQUFDUSxhQUFhLENBQUNEO1FBQzlCLE9BQU87WUFDTCxNQUFNWCxZQUFZTSxnQkFBZ0JQLFdBQVc7WUFFN0NQLFFBQVFRLFlBQ0VhLG1CQUFZLEdBQ1ZDLHFCQUFjO1FBQzVCO1FBRUEsT0FBT3RCO0lBQ1Q7SUFFQSxPQUFPdUIsZUFBZUMsVUFBVSxFQUFFN0IsT0FBTyxFQUFFO1FBQ3pDLE1BQU1HLGFBQWEwQixXQUFXekIsYUFBYSxJQUNyQzBCLG9CQUFvQi9CLGdCQUFPLENBQUNnQyxXQUFXLENBQUNqQyxtQkFBbUJLLFlBQVlIO1FBRTdFLE9BQU84QjtJQUNUO0FBQ0Y7QUFFQSxTQUFTVix5QkFBeUJmLEtBQUssRUFBRUwsT0FBTztJQUM5QyxJQUFJbUI7SUFFSixNQUFNVixPQUFPVCxRQUFRTSxPQUFPLElBQ3RCMEIsVUFBVXZCLEtBQUt3QixVQUFVLElBQ3pCQyxXQUFXekIsS0FBSzBCLE9BQU8sSUFDdkJwQixhQUFhVixNQUFNVyxhQUFhLElBQ2hDYixhQUFhRSxNQUFNRCxhQUFhLElBQ2hDZ0Msa0JBQWtCM0IsS0FBSzRCLDJCQUEyQixDQUFDSCxVQUFVbEM7SUFFbkVtQixrQkFBa0JpQixnQkFBZ0JFLDBDQUEwQyxDQUFDSixVQUFVbkIsWUFBWWlCLFNBQVM3QjtJQUU1R2dCLGtCQUFrQkEsZ0JBQWdCb0IsT0FBTyxDQUFDdkMsVUFBVyxHQUFHO0lBRXhELE9BQU9tQjtBQUNUIn0=
|
|
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
const _context = /*#__PURE__*/ _interop_require_default(require("../../context"));
|
|
12
|
+
const _frame = require("../../frame");
|
|
12
13
|
function _interop_require_default(obj) {
|
|
13
14
|
return obj && obj.__esModule ? obj : {
|
|
14
15
|
default: obj
|
|
@@ -19,6 +20,13 @@ class CommittedPartPartContext extends _context.default {
|
|
|
19
20
|
const committed = true;
|
|
20
21
|
return committed;
|
|
21
22
|
}
|
|
23
|
+
compose(frame, partFrame = _frame.nullifiedFrame) {
|
|
24
|
+
const partFrameValid = partFrame.isValid();
|
|
25
|
+
if (partFrameValid) {
|
|
26
|
+
frame = frame.merge(partFrame);
|
|
27
|
+
}
|
|
28
|
+
return frame;
|
|
29
|
+
}
|
|
22
30
|
continued(frame, context) {
|
|
23
31
|
frame = this.compose(frame);
|
|
24
32
|
const frameValid = frame.isValid();
|
|
@@ -32,4 +40,4 @@ class CommittedPartPartContext extends _context.default {
|
|
|
32
40
|
}
|
|
33
41
|
}
|
|
34
42
|
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0L3BhcnQvY29tbWl0dGVkUGFydC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IENvbnRleHQgZnJvbSBcIi4uLy4uL2NvbnRleHRcIjtcblxuaW1wb3J0IHsgbnVsbGlmaWVkRnJhbWUgfSBmcm9tIFwiLi4vLi4vZnJhbWVcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29tbWl0dGVkUGFydFBhcnRDb250ZXh0IGV4dGVuZHMgQ29udGV4dCB7XG4gIGlzQ29tbWl0dGVkKCkge1xuICAgIGNvbnN0IGNvbW1pdHRlZCA9IHRydWU7XG5cbiAgICByZXR1cm4gY29tbWl0dGVkO1xuICB9XG5cbiAgY29tcG9zZShmcmFtZSwgcGFydEZyYW1lID0gbnVsbGlmaWVkRnJhbWUpIHtcbiAgICBjb25zdCBwYXJ0RnJhbWVWYWxpZCA9IHBhcnRGcmFtZS5pc1ZhbGlkKCk7XG5cbiAgICBpZiAocGFydEZyYW1lVmFsaWQpIHtcbiAgICAgIGZyYW1lID0gZnJhbWUubWVyZ2UocGFydEZyYW1lKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZnJhbWU7XG4gIH1cblxuICBjb250aW51ZWQoZnJhbWUsIGNvbnRleHQpIHtcbiAgICBmcmFtZSA9IHRoaXMuY29tcG9zZShmcmFtZSk7XG5cbiAgICBjb25zdCBmcmFtZVZhbGlkID0gZnJhbWUuaXNWYWxpZCgpO1xuXG4gICAgaWYgKGZyYW1lVmFsaWQpIHtcbiAgICAgIGNvbnRleHQuY29tbWl0KHRoaXMpO1xuICAgIH1cblxuICAgIHJldHVybiBmcmFtZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm90aGluZyhjb250ZXh0KSB7XG4gICAgcmV0dXJuIENvbnRleHQuZnJvbU5vdGhpbmcoQ29tbWl0dGVkUGFydFBhcnRDb250ZXh0LCBjb250ZXh0KTtcbiAgfVxufSJdLCJuYW1lcyI6WyJDb21taXR0ZWRQYXJ0UGFydENvbnRleHQiLCJDb250ZXh0IiwiaXNDb21taXR0ZWQiLCJjb21taXR0ZWQiLCJjb21wb3NlIiwiZnJhbWUiLCJwYXJ0RnJhbWUiLCJudWxsaWZpZWRGcmFtZSIsInBhcnRGcmFtZVZhbGlkIiwiaXNWYWxpZCIsIm1lcmdlIiwiY29udGludWVkIiwiY29udGV4dCIsImZyYW1lVmFsaWQiLCJjb21taXQiLCJmcm9tTm90aGluZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUFxQkE7OztnRUFKRDt1QkFFVzs7Ozs7O0FBRWhCLE1BQU1BLGlDQUFpQ0MsZ0JBQU87SUFDM0RDLGNBQWM7UUFDWixNQUFNQyxZQUFZO1FBRWxCLE9BQU9BO0lBQ1Q7SUFFQUMsUUFBUUMsS0FBSyxFQUFFQyxZQUFZQyxxQkFBYyxFQUFFO1FBQ3pDLE1BQU1DLGlCQUFpQkYsVUFBVUcsT0FBTztRQUV4QyxJQUFJRCxnQkFBZ0I7WUFDbEJILFFBQVFBLE1BQU1LLEtBQUssQ0FBQ0o7UUFDdEI7UUFFQSxPQUFPRDtJQUNUO0lBRUFNLFVBQVVOLEtBQUssRUFBRU8sT0FBTyxFQUFFO1FBQ3hCUCxRQUFRLElBQUksQ0FBQ0QsT0FBTyxDQUFDQztRQUVyQixNQUFNUSxhQUFhUixNQUFNSSxPQUFPO1FBRWhDLElBQUlJLFlBQVk7WUFDZEQsUUFBUUUsTUFBTSxDQUFDLElBQUk7UUFDckI7UUFFQSxPQUFPVDtJQUNUO0lBRUEsT0FBT1UsWUFBWUgsT0FBTyxFQUFFO1FBQzFCLE9BQU9YLGdCQUFPLENBQUNjLFdBQVcsQ0FBQ2YsMEJBQTBCWTtJQUN2RDtBQUNGIn0=
|
|
@@ -42,7 +42,9 @@ class ChoiceOfPartsPart extends _nonTerminal.default {
|
|
|
42
42
|
frame = partChoice.parse(frame, context);
|
|
43
43
|
} else {
|
|
44
44
|
const partFrame = partChoice.parse(_frame.emptyFrame, context), partFrameValid = partFrame.isValid(), partFrameAborted = partFrame.isAborted();
|
|
45
|
-
if (
|
|
45
|
+
if (false) {
|
|
46
|
+
///
|
|
47
|
+
} else if (partFrameValid) {
|
|
46
48
|
frame = context.compose(frame, partFrame);
|
|
47
49
|
} else if (partFrameAborted) {
|
|
48
50
|
frame = partFrame; ///
|
|
@@ -80,4 +82,4 @@ class ChoiceOfPartsPart extends _nonTerminal.default {
|
|
|
80
82
|
}
|
|
81
83
|
}
|
|
82
84
|
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYXJ0L25vblRlcm1pbmFsL2Nob2ljZU9mUGFydHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBOb25UZXJtaW5hbFBhcnQgZnJvbSBcIi4uLy4uL3BhcnQvbm9uVGVybWluYWxcIjtcblxuaW1wb3J0IHsgcGFydENvbnRleHQgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL2NvbnRleHRcIjtcbmltcG9ydCB7IENob2ljZU9mUGFydHNQYXJ0VHlwZSB9IGZyb20gXCIuLi8uLi9wYXJ0VHlwZXNcIjtcbmltcG9ydCB7IGVtcHR5RnJhbWUsIG51bGxpZmllZEZyYW1lIH0gZnJvbSBcIi4uLy4uL2ZyYW1lXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENob2ljZU9mUGFydHNQYXJ0IGV4dGVuZHMgTm9uVGVybWluYWxQYXJ0IHtcbiAgY29uc3RydWN0b3IodHlwZSwgY29udGludWF0aW9uLCBwYXJ0Q2hvaWNlcykge1xuICAgIHN1cGVyKHR5cGUsIGNvbnRpbnVhdGlvbik7XG4gICAgXG4gICAgdGhpcy5wYXJ0Q2hvaWNlcyA9IHBhcnRDaG9pY2VzO1xuICB9XG4gIFxuICBnZXRQYXJ0Q2hvaWNlcygpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJ0Q2hvaWNlcztcbiAgfVxuXG4gIGdldFBhcnRzKCkge1xuICAgIGNvbnN0IHBhcnRzID0gdGhpcy5wYXJ0Q2hvaWNlcy5tYXAoKHBhcnRDaG9pY2UpID0+IHtcbiAgICAgIGNvbnN0IHBhcnQgPSBwYXJ0Q2hvaWNlLmdldFBhcnQoKTtcblxuICAgICAgcmV0dXJuIHBhcnQ7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcGFydHM7XG4gIH1cblxuICBwYXJzZShmcmFtZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHBhcnQgPSB0aGlzOyAgLy8vXG5cbiAgICBwYXJ0Q29udGV4dCgoY29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgY29udGludWluZyA9IGNvbnRleHQuaXNDb250aW51aW5nKCksXG4gICAgICAgICAgICBzYXZlZEZyYW1lID0gZnJhbWU7IC8vL1xuXG4gICAgICB0aGlzLnBhcnRDaG9pY2VzLnNvbWUoKHBhcnRDaG9pY2UpID0+
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYXJ0L25vblRlcm1pbmFsL2Nob2ljZU9mUGFydHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBOb25UZXJtaW5hbFBhcnQgZnJvbSBcIi4uLy4uL3BhcnQvbm9uVGVybWluYWxcIjtcblxuaW1wb3J0IHsgcGFydENvbnRleHQgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL2NvbnRleHRcIjtcbmltcG9ydCB7IENob2ljZU9mUGFydHNQYXJ0VHlwZSB9IGZyb20gXCIuLi8uLi9wYXJ0VHlwZXNcIjtcbmltcG9ydCB7IGVtcHR5RnJhbWUsIG51bGxpZmllZEZyYW1lIH0gZnJvbSBcIi4uLy4uL2ZyYW1lXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENob2ljZU9mUGFydHNQYXJ0IGV4dGVuZHMgTm9uVGVybWluYWxQYXJ0IHtcbiAgY29uc3RydWN0b3IodHlwZSwgY29udGludWF0aW9uLCBwYXJ0Q2hvaWNlcykge1xuICAgIHN1cGVyKHR5cGUsIGNvbnRpbnVhdGlvbik7XG4gICAgXG4gICAgdGhpcy5wYXJ0Q2hvaWNlcyA9IHBhcnRDaG9pY2VzO1xuICB9XG4gIFxuICBnZXRQYXJ0Q2hvaWNlcygpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJ0Q2hvaWNlcztcbiAgfVxuXG4gIGdldFBhcnRzKCkge1xuICAgIGNvbnN0IHBhcnRzID0gdGhpcy5wYXJ0Q2hvaWNlcy5tYXAoKHBhcnRDaG9pY2UpID0+IHtcbiAgICAgIGNvbnN0IHBhcnQgPSBwYXJ0Q2hvaWNlLmdldFBhcnQoKTtcblxuICAgICAgcmV0dXJuIHBhcnQ7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcGFydHM7XG4gIH1cblxuICBwYXJzZShmcmFtZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHBhcnQgPSB0aGlzOyAgLy8vXG5cbiAgICBwYXJ0Q29udGV4dCgoY29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgY29udGludWluZyA9IGNvbnRleHQuaXNDb250aW51aW5nKCksXG4gICAgICAgICAgICBzYXZlZEZyYW1lID0gZnJhbWU7IC8vL1xuXG4gICAgICB0aGlzLnBhcnRDaG9pY2VzLnNvbWUoKHBhcnRDaG9pY2UpID0+IHtcbiAgICAgICAgZnJhbWUgPSBzYXZlZEZyYW1lOyAvLy9cblxuICAgICAgICBpZiAoY29udGludWluZykge1xuICAgICAgICAgIGZyYW1lID0gcGFydENob2ljZS5wYXJzZShmcmFtZSwgY29udGV4dCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgcGFydEZyYW1lID0gcGFydENob2ljZS5wYXJzZShlbXB0eUZyYW1lLCBjb250ZXh0KSxcbiAgICAgICAgICAgICAgICBwYXJ0RnJhbWVWYWxpZCA9IHBhcnRGcmFtZS5pc1ZhbGlkKCksXG4gICAgICAgICAgICAgICAgcGFydEZyYW1lQWJvcnRlZCA9IHBhcnRGcmFtZS5pc0Fib3J0ZWQoKTtcblxuICAgICAgICAgIGlmIChmYWxzZSkge1xuICAgICAgICAgICAgLy8vXG4gICAgICAgICAgfSBlbHNlIGlmIChwYXJ0RnJhbWVWYWxpZCkge1xuICAgICAgICAgICAgZnJhbWUgPSBjb250ZXh0LmNvbXBvc2UoZnJhbWUsIHBhcnRGcmFtZSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChwYXJ0RnJhbWVBYm9ydGVkKSB7XG4gICAgICAgICAgICBmcmFtZSA9IHBhcnRGcmFtZTsgLy8vXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZyYW1lID0gbnVsbGlmaWVkRnJhbWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZnJhbWVWYWxpZCA9IGZyYW1lLmlzVmFsaWQoKSxcbiAgICAgICAgICAgICAgZnJhbWVBYm9ydGVkID0gZnJhbWUuaXNBYm9ydGVkKCk7XG5cbiAgICAgICAgaWYgKGZyYW1lVmFsaWQgfHwgZnJhbWVBYm9ydGVkKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBmcmFtZVZhbGlkID0gZnJhbWUuaXNWYWxpZCgpO1xuXG4gICAgICBpZiAoZnJhbWVWYWxpZCkge1xuICAgICAgICBjb250ZXh0LmNvbW1pdCgpO1xuICAgICAgfVxuICAgIH0sIHBhcnQsIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIGZyYW1lO1xuICB9XG5cbiAgYXNTdHJpbmcoKSB7XG4gICAgY29uc3QgcGFydENob2ljZXNTdHJpbmcgPSB0aGlzLnBhcnRDaG9pY2VzLnJlZHVjZSgocGFydENob2ljZXNTdHJpbmcsIHBhcnRDaG9pY2UpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBhcnRDaG9pY2VTdHJpbmcgPSBwYXJ0Q2hvaWNlLmFzU3RyaW5nKCk7XG4gICAgXG4gICAgICAgICAgICBpZiAocGFydENob2ljZXNTdHJpbmcgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgcGFydENob2ljZXNTdHJpbmcgPSBwYXJ0Q2hvaWNlU3RyaW5nO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcGFydENob2ljZXNTdHJpbmcgPSBgJHtwYXJ0Q2hvaWNlc1N0cmluZ30gfCAke3BhcnRDaG9pY2VTdHJpbmd9YDtcbiAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgIHJldHVybiBwYXJ0Q2hvaWNlc1N0cmluZztcbiAgICAgICAgICB9LCBudWxsKSxcbiAgICAgICAgICBzdHJpbmcgPSBgKCAke3BhcnRDaG9pY2VzU3RyaW5nfSApYDtcbiAgICBcbiAgICByZXR1cm4gc3RyaW5nO1xuICB9XG5cbiAgc3RhdGljIGZyb21QYXJ0Q2hvaWNlcyhwYXJ0Q2hvaWNlcykge1xuICAgIGNvbnN0IHR5cGUgPSBDaG9pY2VPZlBhcnRzUGFydFR5cGUsXG4gICAgICAgICAgY29udGludWF0aW9uID0gZmFsc2UsXG4gICAgICAgICAgY2hvaWNlT2ZQYXJ0c1BhcnQgPSBuZXcgQ2hvaWNlT2ZQYXJ0c1BhcnQodHlwZSwgY29udGludWF0aW9uLCBwYXJ0Q2hvaWNlcyk7XG5cbiAgICByZXR1cm4gY2hvaWNlT2ZQYXJ0c1BhcnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJDaG9pY2VPZlBhcnRzUGFydCIsIk5vblRlcm1pbmFsUGFydCIsInR5cGUiLCJjb250aW51YXRpb24iLCJwYXJ0Q2hvaWNlcyIsImdldFBhcnRDaG9pY2VzIiwiZ2V0UGFydHMiLCJwYXJ0cyIsIm1hcCIsInBhcnRDaG9pY2UiLCJwYXJ0IiwiZ2V0UGFydCIsInBhcnNlIiwiZnJhbWUiLCJjb250ZXh0IiwicGFydENvbnRleHQiLCJjb250aW51aW5nIiwiaXNDb250aW51aW5nIiwic2F2ZWRGcmFtZSIsInNvbWUiLCJwYXJ0RnJhbWUiLCJlbXB0eUZyYW1lIiwicGFydEZyYW1lVmFsaWQiLCJpc1ZhbGlkIiwicGFydEZyYW1lQWJvcnRlZCIsImlzQWJvcnRlZCIsImNvbXBvc2UiLCJudWxsaWZpZWRGcmFtZSIsImZyYW1lVmFsaWQiLCJmcmFtZUFib3J0ZWQiLCJjb21taXQiLCJhc1N0cmluZyIsInBhcnRDaG9pY2VzU3RyaW5nIiwicmVkdWNlIiwicGFydENob2ljZVN0cmluZyIsInN0cmluZyIsImZyb21QYXJ0Q2hvaWNlcyIsIkNob2ljZU9mUGFydHNQYXJ0VHlwZSIsImNob2ljZU9mUGFydHNQYXJ0Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFRQTs7O2VBQXFCQTs7O29FQU5PO3lCQUVBOzJCQUNVO3VCQUNLOzs7Ozs7QUFFNUIsTUFBTUEsMEJBQTBCQyxvQkFBZTtJQUM1RCxZQUFZQyxJQUFJLEVBQUVDLFlBQVksRUFBRUMsV0FBVyxDQUFFO1FBQzNDLEtBQUssQ0FBQ0YsTUFBTUM7UUFFWixJQUFJLENBQUNDLFdBQVcsR0FBR0E7SUFDckI7SUFFQUMsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUNELFdBQVc7SUFDekI7SUFFQUUsV0FBVztRQUNULE1BQU1DLFFBQVEsSUFBSSxDQUFDSCxXQUFXLENBQUNJLEdBQUcsQ0FBQyxDQUFDQztZQUNsQyxNQUFNQyxPQUFPRCxXQUFXRSxPQUFPO1lBRS9CLE9BQU9EO1FBQ1Q7UUFFQSxPQUFPSDtJQUNUO0lBRUFLLE1BQU1DLEtBQUssRUFBRUMsT0FBTyxFQUFFO1FBQ3BCLE1BQU1KLE9BQU8sSUFBSSxFQUFHLEdBQUc7UUFFdkJLLElBQUFBLG9CQUFXLEVBQUMsQ0FBQ0Q7WUFDWCxNQUFNRSxhQUFhRixRQUFRRyxZQUFZLElBQ2pDQyxhQUFhTCxPQUFPLEdBQUc7WUFFN0IsSUFBSSxDQUFDVCxXQUFXLENBQUNlLElBQUksQ0FBQyxDQUFDVjtnQkFDckJJLFFBQVFLLFlBQVksR0FBRztnQkFFdkIsSUFBSUYsWUFBWTtvQkFDZEgsUUFBUUosV0FBV0csS0FBSyxDQUFDQyxPQUFPQztnQkFDbEMsT0FBTztvQkFDTCxNQUFNTSxZQUFZWCxXQUFXRyxLQUFLLENBQUNTLGlCQUFVLEVBQUVQLFVBQ3pDUSxpQkFBaUJGLFVBQVVHLE9BQU8sSUFDbENDLG1CQUFtQkosVUFBVUssU0FBUztvQkFFNUMsSUFBSSxPQUFPO29CQUNULEdBQUc7b0JBQ0wsT0FBTyxJQUFJSCxnQkFBZ0I7d0JBQ3pCVCxRQUFRQyxRQUFRWSxPQUFPLENBQUNiLE9BQU9PO29CQUNqQyxPQUFPLElBQUlJLGtCQUFrQjt3QkFDM0JYLFFBQVFPLFdBQVcsR0FBRztvQkFDeEIsT0FBTzt3QkFDTFAsUUFBUWMscUJBQWM7b0JBQ3hCO2dCQUNGO2dCQUVBLE1BQU1DLGFBQWFmLE1BQU1VLE9BQU8sSUFDMUJNLGVBQWVoQixNQUFNWSxTQUFTO2dCQUVwQyxJQUFJRyxjQUFjQyxjQUFjO29CQUM5QixPQUFPO2dCQUNUO1lBQ0Y7WUFFQSxNQUFNRCxhQUFhZixNQUFNVSxPQUFPO1lBRWhDLElBQUlLLFlBQVk7Z0JBQ2RkLFFBQVFnQixNQUFNO1lBQ2hCO1FBQ0YsR0FBR3BCLE1BQU1JO1FBRVQsT0FBT0Q7SUFDVDtJQUVBa0IsV0FBVztRQUNULE1BQU1DLG9CQUFvQixJQUFJLENBQUM1QixXQUFXLENBQUM2QixNQUFNLENBQUMsQ0FBQ0QsbUJBQW1CdkI7WUFDOUQsTUFBTXlCLG1CQUFtQnpCLFdBQVdzQixRQUFRO1lBRTVDLElBQUlDLHNCQUFzQixNQUFNO2dCQUM5QkEsb0JBQW9CRTtZQUN0QixPQUFPO2dCQUNMRixvQkFBb0IsR0FBR0Esa0JBQWtCLEdBQUcsRUFBRUUsa0JBQWtCO1lBQ2xFO1lBRUEsT0FBT0Y7UUFDVCxHQUFHLE9BQ0hHLFNBQVMsQ0FBQyxFQUFFLEVBQUVILGtCQUFrQixFQUFFLENBQUM7UUFFekMsT0FBT0c7SUFDVDtJQUVBLE9BQU9DLGdCQUFnQmhDLFdBQVcsRUFBRTtRQUNsQyxNQUFNRixPQUFPbUMsZ0NBQXFCLEVBQzVCbEMsZUFBZSxPQUNmbUMsb0JBQW9CLElBQUl0QyxrQkFBa0JFLE1BQU1DLGNBQWNDO1FBRXBFLE9BQU9rQztJQUNUO0FBQ0YifQ==
|
|
@@ -34,8 +34,12 @@ class OptionalPartPart extends _nonTerminal.default {
|
|
|
34
34
|
if (continuing) {
|
|
35
35
|
const savedFrame = frame; ///
|
|
36
36
|
frame = this.part.parse(frame, context);
|
|
37
|
-
const
|
|
38
|
-
if (
|
|
37
|
+
const frameAborted = frame.isAborted(), frameNullified = frame.isNullified();
|
|
38
|
+
if (false) {
|
|
39
|
+
///
|
|
40
|
+
} else if (frameAborted) {
|
|
41
|
+
frame = _frame.nullifiedFrame;
|
|
42
|
+
} else if (frameNullified) {
|
|
39
43
|
frame = savedFrame; ///
|
|
40
44
|
frame = context.continue(frame);
|
|
41
45
|
}
|
|
@@ -67,4 +71,4 @@ class OptionalPartPart extends _nonTerminal.default {
|
|
|
67
71
|
}
|
|
68
72
|
}
|
|
69
73
|
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYXJ0L25vblRlcm1pbmFsL29wdGlvbmFsUGFydC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgc3BlY2lhbFN5bWJvbHMgfSBmcm9tIFwib2NjYW0tbGV4ZXJzXCI7XG5cbmltcG9ydCBOb25UZXJtaW5hbFBhcnQgZnJvbSBcIi4uLy4uL3BhcnQvbm9uVGVybWluYWxcIjtcblxuaW1wb3J0IHsgcGFydENvbnRleHQgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL2NvbnRleHRcIjtcbmltcG9ydCB7IE9wdGlvbmFsUGFydFBhcnRUeXBlIH0gZnJvbSBcIi4uLy4uL3BhcnRUeXBlc1wiO1xuaW1wb3J0IHsgZW1wdHlGcmFtZSwgbnVsbGlmaWVkRnJhbWUgfSBmcm9tIFwiLi4vLi4vZnJhbWVcIjtcblxuY29uc3QgeyBxdWVzdGlvbk1hcmsgfSA9IHNwZWNpYWxTeW1ib2xzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBPcHRpb25hbFBhcnRQYXJ0IGV4dGVuZHMgTm9uVGVybWluYWxQYXJ0IHtcbiAgY29uc3RydWN0b3IodHlwZSwgY29udGludWF0aW9uLCBwYXJ0KSB7XG4gICAgc3VwZXIodHlwZSwgY29udGludWF0aW9uKTtcblxuICAgIHRoaXMucGFydCA9IHBhcnQ7XG4gIH1cblxuICBnZXRQYXJ0KCkge1xuICAgIHJldHVybiB0aGlzLnBhcnQ7XG4gIH1cblxuICBwYXJzZShmcmFtZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHBhcnQgPSB0aGlzOyAgLy8vXG5cbiAgICBwYXJ0Q29udGV4dCgoY29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgY29udGludWluZyA9IGNvbnRleHQuaXNDb250aW51aW5nKCk7XG5cbiAgICAgIGlmIChjb250aW51aW5nKSB7XG4gICAgICAgIGNvbnN0IHNhdmVkRnJhbWUgPSBmcmFtZTsgLy8vXG5cbiAgICAgICAgZnJhbWUgPSB0aGlzLnBhcnQucGFyc2UoZnJhbWUsIGNvbnRleHQpO1xuXG4gICAgICAgIGNvbnN0IGZyYW1lQWJvcnRlZCA9IGZyYW1lLmlzQWJvcnRlZCgpLFxuICAgICAgICAgICAgICBmcmFtZU51bGxpZmllZCA9IGZyYW1lLmlzTnVsbGlmaWVkKCk7XG5cbiAgICAgICAgaWYgKGZhbHNlKSB7XG4gICAgICAgICAgLy8vXG4gICAgICAgIH0gZWxzZSBpZiAoZnJhbWVBYm9ydGVkKSB7XG4gICAgICAgICAgZnJhbWUgPSBudWxsaWZpZWRGcmFtZTtcbiAgICAgICAgfSBlbHNlIGlmIChmcmFtZU51bGxpZmllZCkge1xuICAgICAgICAgIGZyYW1lID0gc2F2ZWRGcmFtZTsgLy8vXG5cbiAgICAgICAgICBmcmFtZSA9IGNvbnRleHQuY29udGludWUoZnJhbWUpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgcGFydEZyYW1lO1xuXG4gICAgICAgIHBhcnRGcmFtZSA9IGVtcHR5RnJhbWU7IC8vL1xuXG4gICAgICAgIHBhcnRGcmFtZSA9IHRoaXMucGFydC5wYXJzZShwYXJ0RnJhbWUsIGNvbnRleHQpO1xuXG4gICAgICAgIGNvbnN0IHBhcnRGcmFtZUludmFsaWQgPSBwYXJ0RnJhbWUuaXNJbnZhbGlkKCk7XG5cbiAgICAgICAgaWYgKHBhcnRGcmFtZUludmFsaWQpIHtcbiAgICAgICAgICBwYXJ0RnJhbWUgPSBlbXB0eUZyYW1lOyAvLy9cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBhcnRGcmFtZVZhbGlkID0gcGFydEZyYW1lLmlzVmFsaWQoKTtcblxuICAgICAgICBmcmFtZSA9IHBhcnRGcmFtZVZhbGlkID9cbiAgICAgICAgICAgICAgICAgIGNvbnRleHQuY29tcG9zZShmcmFtZSwgcGFydEZyYW1lKSA6XG4gICAgICAgICAgICAgICAgICAgIG51bGxpZmllZEZyYW1lO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBmcmFtZVZhbGlkID0gZnJhbWUuaXNWYWxpZCgpO1xuXG4gICAgICBpZiAoZnJhbWVWYWxpZCkge1xuICAgICAgICBjb250ZXh0LmNvbW1pdCgpO1xuICAgICAgfVxuICAgIH0sIHBhcnQsIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIGZyYW1lO1xuICB9XG5cbiAgYXNTdHJpbmcoKSB7XG4gICAgY29uc3QgcGFydFN0cmluZyA9IHRoaXMucGFydC5hc1N0cmluZygpLFxuICAgICAgICAgIHN0cmluZyA9IGAke3BhcnRTdHJpbmd9JHtxdWVzdGlvbk1hcmt9YDtcblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICBzdGF0aWMgZnJvbVBhcnQocGFydCkge1xuICAgIGNvbnN0IHR5cGUgPSBPcHRpb25hbFBhcnRQYXJ0VHlwZSxcbiAgICAgICAgICBjb250aW51YXRpb24gPSBmYWxzZSxcbiAgICAgICAgICBvcHRpb25hbFBhcnRQYXJ0ID0gbmV3IE9wdGlvbmFsUGFydFBhcnQodHlwZSwgY29udGludWF0aW9uLCBwYXJ0KTtcblxuICAgIHJldHVybiBvcHRpb25hbFBhcnRQYXJ0O1xuICB9XG59Il0sIm5hbWVzIjpbIk9wdGlvbmFsUGFydFBhcnQiLCJxdWVzdGlvbk1hcmsiLCJzcGVjaWFsU3ltYm9scyIsIk5vblRlcm1pbmFsUGFydCIsInR5cGUiLCJjb250aW51YXRpb24iLCJwYXJ0IiwiZ2V0UGFydCIsInBhcnNlIiwiZnJhbWUiLCJjb250ZXh0IiwicGFydENvbnRleHQiLCJjb250aW51aW5nIiwiaXNDb250aW51aW5nIiwic2F2ZWRGcmFtZSIsImZyYW1lQWJvcnRlZCIsImlzQWJvcnRlZCIsImZyYW1lTnVsbGlmaWVkIiwiaXNOdWxsaWZpZWQiLCJudWxsaWZpZWRGcmFtZSIsImNvbnRpbnVlIiwicGFydEZyYW1lIiwiZW1wdHlGcmFtZSIsInBhcnRGcmFtZUludmFsaWQiLCJpc0ludmFsaWQiLCJwYXJ0RnJhbWVWYWxpZCIsImlzVmFsaWQiLCJjb21wb3NlIiwiZnJhbWVWYWxpZCIsImNvbW1pdCIsImFzU3RyaW5nIiwicGFydFN0cmluZyIsInN0cmluZyIsImZyb21QYXJ0IiwiT3B0aW9uYWxQYXJ0UGFydFR5cGUiLCJvcHRpb25hbFBhcnRQYXJ0Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFZQTs7O2VBQXFCQTs7OzZCQVZVO29FQUVIO3lCQUVBOzJCQUNTO3VCQUNNOzs7Ozs7QUFFM0MsTUFBTSxFQUFFQyxZQUFZLEVBQUUsR0FBR0MsMkJBQWM7QUFFeEIsTUFBTUYseUJBQXlCRyxvQkFBZTtJQUMzRCxZQUFZQyxJQUFJLEVBQUVDLFlBQVksRUFBRUMsSUFBSSxDQUFFO1FBQ3BDLEtBQUssQ0FBQ0YsTUFBTUM7UUFFWixJQUFJLENBQUNDLElBQUksR0FBR0E7SUFDZDtJQUVBQyxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUNELElBQUk7SUFDbEI7SUFFQUUsTUFBTUMsS0FBSyxFQUFFQyxPQUFPLEVBQUU7UUFDcEIsTUFBTUosT0FBTyxJQUFJLEVBQUcsR0FBRztRQUV2QkssSUFBQUEsb0JBQVcsRUFBQyxDQUFDRDtZQUNYLE1BQU1FLGFBQWFGLFFBQVFHLFlBQVk7WUFFdkMsSUFBSUQsWUFBWTtnQkFDZCxNQUFNRSxhQUFhTCxPQUFPLEdBQUc7Z0JBRTdCQSxRQUFRLElBQUksQ0FBQ0gsSUFBSSxDQUFDRSxLQUFLLENBQUNDLE9BQU9DO2dCQUUvQixNQUFNSyxlQUFlTixNQUFNTyxTQUFTLElBQzlCQyxpQkFBaUJSLE1BQU1TLFdBQVc7Z0JBRXhDLElBQUksT0FBTztnQkFDVCxHQUFHO2dCQUNMLE9BQU8sSUFBSUgsY0FBYztvQkFDdkJOLFFBQVFVLHFCQUFjO2dCQUN4QixPQUFPLElBQUlGLGdCQUFnQjtvQkFDekJSLFFBQVFLLFlBQVksR0FBRztvQkFFdkJMLFFBQVFDLFFBQVFVLFFBQVEsQ0FBQ1g7Z0JBQzNCO1lBQ0YsT0FBTztnQkFDTCxJQUFJWTtnQkFFSkEsWUFBWUMsaUJBQVUsRUFBRSxHQUFHO2dCQUUzQkQsWUFBWSxJQUFJLENBQUNmLElBQUksQ0FBQ0UsS0FBSyxDQUFDYSxXQUFXWDtnQkFFdkMsTUFBTWEsbUJBQW1CRixVQUFVRyxTQUFTO2dCQUU1QyxJQUFJRCxrQkFBa0I7b0JBQ3BCRixZQUFZQyxpQkFBVSxFQUFFLEdBQUc7Z0JBQzdCO2dCQUVBLE1BQU1HLGlCQUFpQkosVUFBVUssT0FBTztnQkFFeENqQixRQUFRZ0IsaUJBQ0VmLFFBQVFpQixPQUFPLENBQUNsQixPQUFPWSxhQUNyQkYscUJBQWM7WUFDNUI7WUFFQSxNQUFNUyxhQUFhbkIsTUFBTWlCLE9BQU87WUFFaEMsSUFBSUUsWUFBWTtnQkFDZGxCLFFBQVFtQixNQUFNO1lBQ2hCO1FBQ0YsR0FBR3ZCLE1BQU1JO1FBRVQsT0FBT0Q7SUFDVDtJQUVBcUIsV0FBVztRQUNULE1BQU1DLGFBQWEsSUFBSSxDQUFDekIsSUFBSSxDQUFDd0IsUUFBUSxJQUMvQkUsU0FBUyxHQUFHRCxhQUFhOUIsY0FBYztRQUU3QyxPQUFPK0I7SUFDVDtJQUVBLE9BQU9DLFNBQVMzQixJQUFJLEVBQUU7UUFDcEIsTUFBTUYsT0FBTzhCLCtCQUFvQixFQUMzQjdCLGVBQWUsT0FDZjhCLG1CQUFtQixJQUFJbkMsaUJBQWlCSSxNQUFNQyxjQUFjQztRQUVsRSxPQUFPNkI7SUFDVDtBQUNGIn0=
|
package/lib/rule.js
CHANGED
|
@@ -8,9 +8,10 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return Rule;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
+
const _occamlexers = require("occam-lexers");
|
|
11
12
|
const _context = require("./utilities/context");
|
|
12
13
|
const _constants = require("./constants");
|
|
13
|
-
const
|
|
14
|
+
const _frame = require("./frame");
|
|
14
15
|
const _string = require("./utilities/string");
|
|
15
16
|
const { opaque: opaqueSpecialSymbol, semiOpaque: semiOpaqueSpecialSymbol } = _occamlexers.specialSymbols;
|
|
16
17
|
class Rule {
|
|
@@ -55,8 +56,8 @@ class Rule {
|
|
|
55
56
|
(0, _context.ruleContext)((context)=>{
|
|
56
57
|
this.definitions.some((definition)=>{
|
|
57
58
|
frame = definition.parse(context);
|
|
58
|
-
const
|
|
59
|
-
if (
|
|
59
|
+
const frameNullified = frame.isNullified();
|
|
60
|
+
if (!frameNullified) {
|
|
60
61
|
return true;
|
|
61
62
|
}
|
|
62
63
|
});
|
|
@@ -114,4 +115,4 @@ ${marginString} | ${definitionString}` : `${definitionsString} | ${definitionS
|
|
|
114
115
|
return definitionsString;
|
|
115
116
|
}
|
|
116
117
|
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBydWxlQ29udGV4dCB9IGZyb20gXCIuL3V0aWxpdGllcy9jb250ZXh0XCI7XG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IHNwZWNpYWxTeW1ib2xzIH0gZnJvbSBcIm9jY2FtLWxleGVyc1wiO1xuaW1wb3J0IHsgbWFyZ2luU3RyaW5nRnJvbU1hcmdpbldpZHRoIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuXG5jb25zdCB7IG9wYXF1ZTogb3BhcXVlU3BlY2lhbFN5bWJvbCwgc2VtaU9wYXF1ZTogc2VtaU9wYXF1ZVNwZWNpYWxTeW1ib2wgfSA9IHNwZWNpYWxTeW1ib2xzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSdWxlIHtcbiAgY29uc3RydWN0b3IobmFtZSwgb3BhY2l0eSwgZGVmaW5pdGlvbnMpIHtcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgIHRoaXMub3BhY2l0eSA9IG9wYWNpdHk7XG4gICAgdGhpcy5kZWZpbml0aW9ucyA9IGRlZmluaXRpb25zO1xuICB9XG5cbiAgZ2V0TmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lO1xuICB9XG5cbiAgZ2V0T3BhY2l0eSgpIHtcbiAgICByZXR1cm4gdGhpcy5vcGFjaXR5O1xuICB9XG5cbiAgZ2V0RGVmaW5pdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGVmaW5pdGlvbnM7XG4gIH1cblxuICBzZXROYW1lKG5hbWUpIHtcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICB9XG5cbiAgc2V0T3BhY2l0eShvcGFjaXR5KSB7XG4gICAgdGhpcy5vcGFjaXR5ID0gb3BhY2l0eTtcbiAgfVxuXG4gIHNldERlZmluaXRpb25zKGRlZmluaXRpb25zKSB7XG4gICAgdGhpcy5kZWZpbml0aW9ucyA9IGRlZmluaXRpb25zO1xuICB9XG5cbiAgaXNPcGFxdWUoKSB7XG4gICAgY29uc3Qgb3BhcXVlID0gKHRoaXMub3BhY2l0eSA9PT0gb3BhcXVlU3BlY2lhbFN5bWJvbCk7XG5cbiAgICByZXR1cm4gb3BhcXVlO1xuICB9XG5cbiAgaXNTZW1pT3BhcXVlKCkge1xuICAgIGNvbnN0IHNlbWlPcGFxdWUgPSAodGhpcy5vcGFjaXR5ID09PSBzZW1pT3BhcXVlU3BlY2lhbFN5bWJvbCk7XG5cbiAgICByZXR1cm4gc2VtaU9wYXF1ZTtcbiAgfVxuXG4gIGlzVHJhbnNwYXJlbnQoKSB7XG4gICAgY29uc3Qgc2VtaU9wYXF1ZSA9ICh0aGlzLm9wYWNpdHkgPT09IG51bGwpO1xuXG4gICAgcmV0dXJuIHNlbWlPcGFxdWU7XG4gIH1cblxuICBwYXJzZShjb250ZXh0KSB7XG4gICAgbGV0IGZyYW1lO1xuXG4gICAgY29uc3QgcnVsZSA9IHRoaXM7ICAvLy9cblxuICAgIHJ1bGVDb250ZXh0KChjb250ZXh0KSA9PiB7XG4gICAgICB0aGlzLmRlZmluaXRpb25zLnNvbWUoKGRlZmluaXRpb24pID0+IHtcbiAgICAgICAgZnJhbWUgPSBkZWZpbml0aW9uLnBhcnNlKGNvbnRleHQpO1xuXG4gICAgICAgIGNvbnN0IGZyYW1lVmFsaWQgPSBmcmFtZS5pc1ZhbGlkKCksXG4gICAgICAgICAgICAgIGZyYW1lQWJvcnRlZCA9IGZyYW1lLmlzQWJvcnRlZCgpO1xuXG4gICAgICAgIGlmIChmcmFtZVZhbGlkIHx8IGZyYW1lQWJvcnRlZCkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgY29uc3QgZnJhbWVWYWxpZCA9IGZyYW1lLmlzVmFsaWQoKTtcblxuICAgICAgaWYgKGZyYW1lVmFsaWQpIHtcbiAgICAgICAgY29udGV4dC5jb21taXQoKTtcbiAgICAgIH1cbiAgICB9LCBydWxlLCBjb250ZXh0KTtcblxuICAgIHJldHVybiBmcmFtZTtcbiAgfVxuXG4gIE5vblRlcm1pbmFsTm9kZUZyb21SdWxlTmFtZShydWxlTmFtZSwgY29udGV4dCkgeyByZXR1cm4gY29udGV4dC5Ob25UZXJtaW5hbE5vZGVGcm9tUnVsZU5hbWUocnVsZU5hbWUpOyB9XG5cbiAgYXNTdHJpbmcobWF4aW11bVJ1bGVOYW1lTGVuZ3RoLCBtdWx0aUxpbmUgPSB0cnVlKSB7XG4gICAgY29uc3QgZGVmaW5pdGlvbnNMZW5ndGggPSB0aGlzLmRlZmluaXRpb25zLmxlbmd0aDtcblxuICAgIG11bHRpTGluZSA9IG11bHRpTGluZSAmJiAoZGVmaW5pdGlvbnNMZW5ndGggPiAxKTsgIC8vL1xuXG4gICAgY29uc3Qgb3BhY2l0eVN0cmluZyA9IG9wYWNpdHlTdHJpbmdGcm9tT3BhY2l0eSh0aGlzLm9wYWNpdHkpLFxuICAgICAgICAgIHNlbWljb2xvblN0cmluZyA9IHNlbWljb2xvblN0cmluZ0Zyb21NdWx0aWxpbmVBbmRNYXhpbXVtUnVsZU5hbWVMZW5ndGgobXVsdGlMaW5lLCBtYXhpbXVtUnVsZU5hbWVMZW5ndGgpLFxuICAgICAgICAgIGRlZmluaXRpb25zU3RyaW5nID0gZGVmaW5pdGlvbnNTdHJpbmdGcm9tTXVsdGlsaW5lRGVmaW5pdGlvbnNBbmRNYXhpbXVtUnVsZU5hbWVMZW5ndGgobXVsdGlMaW5lLCB0aGlzLmRlZmluaXRpb25zLCBtYXhpbXVtUnVsZU5hbWVMZW5ndGgpLFxuICAgICAgICAgIHJ1bGVOYW1lID0gdGhpcy5uYW1lLCAvLy9cbiAgICAgICAgICBydWxlTmFtZUxlbmd0aCA9IHJ1bGVOYW1lLmxlbmd0aCxcbiAgICAgICAgICBvcGFjaXR5U3RyaW5nTGVuZ3RoID0gb3BhY2l0eVN0cmluZy5sZW5ndGgsXG4gICAgICAgICAgbWFyZ2luV2lkdGggPSBtYXhpbXVtUnVsZU5hbWVMZW5ndGggLSBydWxlTmFtZUxlbmd0aCAtIG9wYWNpdHlTdHJpbmdMZW5ndGgsXG4gICAgICAgICAgbWFyZ2luU3RyaW5nID0gbWFyZ2luU3RyaW5nRnJvbU1hcmdpbldpZHRoKG1hcmdpbldpZHRoKSxcbiAgICAgICAgICBzdHJpbmcgPSBgXG5cbiR7dGhpcy5uYW1lfSR7b3BhY2l0eVN0cmluZ30ke21hcmdpblN0cmluZ30gOjo9ICR7ZGVmaW5pdGlvbnNTdHJpbmd9JHtzZW1pY29sb25TdHJpbmd9YDtcblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5hbWVPcGFjaXR5QW5kRGVmaW5pdGlvbnMoQ2xhc3MsIG5hbWUsIG9wYWNpdHksIGRlZmluaXRpb25zKSB7XG4gICAgaWYgKGRlZmluaXRpb25zID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGRlZmluaXRpb25zID0gb3BhY2l0eTsgIC8vL1xuXG4gICAgICBvcGFjaXR5ID0gbmFtZTsgLy8vXG5cbiAgICAgIG5hbWUgPSBDbGFzczsgLy8vXG5cbiAgICAgIENsYXNzID0gUnVsZTsgLy8vXG4gICAgfVxuXG4gICAgY29uc3QgcnVsZSA9IG5ldyBDbGFzcyhuYW1lLCBvcGFjaXR5LCBkZWZpbml0aW9ucyk7XG5cbiAgICByZXR1cm4gcnVsZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBvcGFjaXR5U3RyaW5nRnJvbU9wYWNpdHkob3BhY2l0eSkge1xuICBjb25zdCBvcGFjaXR5U3RyaW5nID0gKG9wYWNpdHkgIT09IG51bGwpP1xuICAgICAgICAgIG9wYWNpdHk6IC8vL1xuICAgICAgICAgICAgRU1QVFlfU1RSSU5HO1xuXG4gIHJldHVybiBvcGFjaXR5U3RyaW5nO1xufVxuXG5mdW5jdGlvbiBzZW1pY29sb25TdHJpbmdGcm9tTXVsdGlsaW5lQW5kTWF4aW11bVJ1bGVOYW1lTGVuZ3RoKG11bHRpTGluZSwgbWF4aW11bVJ1bGVOYW1lTGVuZ3RoKSB7XG4gIGNvbnN0IG1hcmdpbldpZHRoID0gbWF4aW11bVJ1bGVOYW1lTGVuZ3RoLCAgLy8vXG4gICAgICAgIG1hcmdpblN0cmluZyA9IG1hcmdpblN0cmluZ0Zyb21NYXJnaW5XaWR0aChtYXJnaW5XaWR0aCksXG4gICAgICAgIHNlbWljb2xvblN0cmluZyA9IG11bHRpTGluZSA/XG4gICAgICBgXG5cbiR7bWFyZ2luU3RyaW5nfSAgIDtgIDpcbiAgICAgIFwiIDtcIjtcblxuICByZXR1cm4gc2VtaWNvbG9uU3RyaW5nO1xufVxuXG5mdW5jdGlvbiBkZWZpbml0aW9uc1N0cmluZ0Zyb21NdWx0aWxpbmVEZWZpbml0aW9uc0FuZE1heGltdW1SdWxlTmFtZUxlbmd0aChtdWx0aUxpbmUsIGRlZmluaXRpb25zLCBtYXhpbXVtUnVsZU5hbWVMZW5ndGgpIHtcbiAgY29uc3QgbWFyZ2luV2lkdGggPSBtYXhpbXVtUnVsZU5hbWVMZW5ndGgsICAvLy9cbiAgICAgICAgbWFyZ2luU3RyaW5nID0gbWFyZ2luU3RyaW5nRnJvbU1hcmdpbldpZHRoKG1hcmdpbldpZHRoKSxcbiAgICAgICAgZGVmaW5pdGlvbnNTdHJpbmcgPSBkZWZpbml0aW9ucy5yZWR1Y2UoKGRlZmluaXRpb25zU3RyaW5nLCBkZWZpbml0aW9uKSA9PiB7XG4gICAgICAgICAgY29uc3QgZGVmaW5pdGlvblN0cmluZyA9IGRlZmluaXRpb24uYXNTdHJpbmcoKTtcblxuICAgICAgICAgIGlmIChkZWZpbml0aW9uc1N0cmluZyA9PT0gRU1QVFlfU1RSSU5HKSB7XG4gICAgICAgICAgICBkZWZpbml0aW9uc1N0cmluZyA9IGRlZmluaXRpb25TdHJpbmc7IC8vL1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBkZWZpbml0aW9uc1N0cmluZyA9IG11bHRpTGluZSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtkZWZpbml0aW9uc1N0cmluZ31cbiAgICBcbiR7bWFyZ2luU3RyaW5nfSAgIHwgJHtkZWZpbml0aW9uU3RyaW5nfWAgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtkZWZpbml0aW9uc1N0cmluZ30gfCAke2RlZmluaXRpb25TdHJpbmd9YDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gZGVmaW5pdGlvbnNTdHJpbmc7XG4gICAgICAgIH0sIEVNUFRZX1NUUklORyk7XG5cbiAgcmV0dXJuIGRlZmluaXRpb25zU3RyaW5nO1xufVxuIl0sIm5hbWVzIjpbIlJ1bGUiLCJvcGFxdWUiLCJvcGFxdWVTcGVjaWFsU3ltYm9sIiwic2VtaU9wYXF1ZSIsInNlbWlPcGFxdWVTcGVjaWFsU3ltYm9sIiwic3BlY2lhbFN5bWJvbHMiLCJuYW1lIiwib3BhY2l0eSIsImRlZmluaXRpb25zIiwiZ2V0TmFtZSIsImdldE9wYWNpdHkiLCJnZXREZWZpbml0aW9ucyIsInNldE5hbWUiLCJzZXRPcGFjaXR5Iiwic2V0RGVmaW5pdGlvbnMiLCJpc09wYXF1ZSIsImlzU2VtaU9wYXF1ZSIsImlzVHJhbnNwYXJlbnQiLCJwYXJzZSIsImNvbnRleHQiLCJmcmFtZSIsInJ1bGUiLCJydWxlQ29udGV4dCIsInNvbWUiLCJkZWZpbml0aW9uIiwiZnJhbWVWYWxpZCIsImlzVmFsaWQiLCJmcmFtZUFib3J0ZWQiLCJpc0Fib3J0ZWQiLCJjb21taXQiLCJOb25UZXJtaW5hbE5vZGVGcm9tUnVsZU5hbWUiLCJydWxlTmFtZSIsImFzU3RyaW5nIiwibWF4aW11bVJ1bGVOYW1lTGVuZ3RoIiwibXVsdGlMaW5lIiwiZGVmaW5pdGlvbnNMZW5ndGgiLCJsZW5ndGgiLCJvcGFjaXR5U3RyaW5nIiwib3BhY2l0eVN0cmluZ0Zyb21PcGFjaXR5Iiwic2VtaWNvbG9uU3RyaW5nIiwic2VtaWNvbG9uU3RyaW5nRnJvbU11bHRpbGluZUFuZE1heGltdW1SdWxlTmFtZUxlbmd0aCIsImRlZmluaXRpb25zU3RyaW5nIiwiZGVmaW5pdGlvbnNTdHJpbmdGcm9tTXVsdGlsaW5lRGVmaW5pdGlvbnNBbmRNYXhpbXVtUnVsZU5hbWVMZW5ndGgiLCJydWxlTmFtZUxlbmd0aCIsIm9wYWNpdHlTdHJpbmdMZW5ndGgiLCJtYXJnaW5XaWR0aCIsIm1hcmdpblN0cmluZyIsIm1hcmdpblN0cmluZ0Zyb21NYXJnaW5XaWR0aCIsInN0cmluZyIsImZyb21OYW1lT3BhY2l0eUFuZERlZmluaXRpb25zIiwiQ2xhc3MiLCJ1bmRlZmluZWQi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
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBzcGVjaWFsU3ltYm9scyB9IGZyb20gXCJvY2NhbS1sZXhlcnNcIjtcblxuaW1wb3J0IHsgcnVsZUNvbnRleHQgfSBmcm9tIFwiLi91dGlsaXRpZXMvY29udGV4dFwiO1xuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBudWxsaWZpZWRGcmFtZSB9IGZyb20gXCIuL2ZyYW1lXCI7XG5pbXBvcnQgeyBtYXJnaW5TdHJpbmdGcm9tTWFyZ2luV2lkdGggfSBmcm9tIFwiLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5cbmNvbnN0IHsgb3BhcXVlOiBvcGFxdWVTcGVjaWFsU3ltYm9sLCBzZW1pT3BhcXVlOiBzZW1pT3BhcXVlU3BlY2lhbFN5bWJvbCB9ID0gc3BlY2lhbFN5bWJvbHM7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJ1bGUge1xuICBjb25zdHJ1Y3RvcihuYW1lLCBvcGFjaXR5LCBkZWZpbml0aW9ucykge1xuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgdGhpcy5vcGFjaXR5ID0gb3BhY2l0eTtcbiAgICB0aGlzLmRlZmluaXRpb25zID0gZGVmaW5pdGlvbnM7XG4gIH1cblxuICBnZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICBnZXRPcGFjaXR5KCkge1xuICAgIHJldHVybiB0aGlzLm9wYWNpdHk7XG4gIH1cblxuICBnZXREZWZpbml0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5kZWZpbml0aW9ucztcbiAgfVxuXG4gIHNldE5hbWUobmFtZSkge1xuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gIH1cblxuICBzZXRPcGFjaXR5KG9wYWNpdHkpIHtcbiAgICB0aGlzLm9wYWNpdHkgPSBvcGFjaXR5O1xuICB9XG5cbiAgc2V0RGVmaW5pdGlvbnMoZGVmaW5pdGlvbnMpIHtcbiAgICB0aGlzLmRlZmluaXRpb25zID0gZGVmaW5pdGlvbnM7XG4gIH1cblxuICBpc09wYXF1ZSgpIHtcbiAgICBjb25zdCBvcGFxdWUgPSAodGhpcy5vcGFjaXR5ID09PSBvcGFxdWVTcGVjaWFsU3ltYm9sKTtcblxuICAgIHJldHVybiBvcGFxdWU7XG4gIH1cblxuICBpc1NlbWlPcGFxdWUoKSB7XG4gICAgY29uc3Qgc2VtaU9wYXF1ZSA9ICh0aGlzLm9wYWNpdHkgPT09IHNlbWlPcGFxdWVTcGVjaWFsU3ltYm9sKTtcblxuICAgIHJldHVybiBzZW1pT3BhcXVlO1xuICB9XG5cbiAgaXNUcmFuc3BhcmVudCgpIHtcbiAgICBjb25zdCBzZW1pT3BhcXVlID0gKHRoaXMub3BhY2l0eSA9PT0gbnVsbCk7XG5cbiAgICByZXR1cm4gc2VtaU9wYXF1ZTtcbiAgfVxuXG4gIHBhcnNlKGNvbnRleHQpIHtcbiAgICBsZXQgZnJhbWU7XG5cbiAgICBjb25zdCBydWxlID0gdGhpczsgIC8vL1xuXG4gICAgcnVsZUNvbnRleHQoKGNvbnRleHQpID0+IHtcbiAgICAgIHRoaXMuZGVmaW5pdGlvbnMuc29tZSgoZGVmaW5pdGlvbikgPT4ge1xuICAgICAgICBmcmFtZSA9IGRlZmluaXRpb24ucGFyc2UoY29udGV4dCk7XG5cbiAgICAgICAgY29uc3QgZnJhbWVOdWxsaWZpZWQgPSBmcmFtZS5pc051bGxpZmllZCgpO1xuXG4gICAgICAgIGlmICghZnJhbWVOdWxsaWZpZWQpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGZyYW1lVmFsaWQgPSBmcmFtZS5pc1ZhbGlkKCk7XG5cbiAgICAgIGlmIChmcmFtZVZhbGlkKSB7XG4gICAgICAgIGNvbnRleHQuY29tbWl0KCk7XG4gICAgICB9XG4gICAgfSwgcnVsZSwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gZnJhbWU7XG4gIH1cblxuICBOb25UZXJtaW5hbE5vZGVGcm9tUnVsZU5hbWUocnVsZU5hbWUsIGNvbnRleHQpIHsgcmV0dXJuIGNvbnRleHQuTm9uVGVybWluYWxOb2RlRnJvbVJ1bGVOYW1lKHJ1bGVOYW1lKTsgfVxuXG4gIGFzU3RyaW5nKG1heGltdW1SdWxlTmFtZUxlbmd0aCwgbXVsdGlMaW5lID0gdHJ1ZSkge1xuICAgIGNvbnN0IGRlZmluaXRpb25zTGVuZ3RoID0gdGhpcy5kZWZpbml0aW9ucy5sZW5ndGg7XG5cbiAgICBtdWx0aUxpbmUgPSBtdWx0aUxpbmUgJiYgKGRlZmluaXRpb25zTGVuZ3RoID4gMSk7ICAvLy9cblxuICAgIGNvbnN0IG9wYWNpdHlTdHJpbmcgPSBvcGFjaXR5U3RyaW5nRnJvbU9wYWNpdHkodGhpcy5vcGFjaXR5KSxcbiAgICAgICAgICBzZW1pY29sb25TdHJpbmcgPSBzZW1pY29sb25TdHJpbmdGcm9tTXVsdGlsaW5lQW5kTWF4aW11bVJ1bGVOYW1lTGVuZ3RoKG11bHRpTGluZSwgbWF4aW11bVJ1bGVOYW1lTGVuZ3RoKSxcbiAgICAgICAgICBkZWZpbml0aW9uc1N0cmluZyA9IGRlZmluaXRpb25zU3RyaW5nRnJvbU11bHRpbGluZURlZmluaXRpb25zQW5kTWF4aW11bVJ1bGVOYW1lTGVuZ3RoKG11bHRpTGluZSwgdGhpcy5kZWZpbml0aW9ucywgbWF4aW11bVJ1bGVOYW1lTGVuZ3RoKSxcbiAgICAgICAgICBydWxlTmFtZSA9IHRoaXMubmFtZSwgLy8vXG4gICAgICAgICAgcnVsZU5hbWVMZW5ndGggPSBydWxlTmFtZS5sZW5ndGgsXG4gICAgICAgICAgb3BhY2l0eVN0cmluZ0xlbmd0aCA9IG9wYWNpdHlTdHJpbmcubGVuZ3RoLFxuICAgICAgICAgIG1hcmdpbldpZHRoID0gbWF4aW11bVJ1bGVOYW1lTGVuZ3RoIC0gcnVsZU5hbWVMZW5ndGggLSBvcGFjaXR5U3RyaW5nTGVuZ3RoLFxuICAgICAgICAgIG1hcmdpblN0cmluZyA9IG1hcmdpblN0cmluZ0Zyb21NYXJnaW5XaWR0aChtYXJnaW5XaWR0aCksXG4gICAgICAgICAgc3RyaW5nID0gYFxuXG4ke3RoaXMubmFtZX0ke29wYWNpdHlTdHJpbmd9JHttYXJnaW5TdHJpbmd9IDo6PSAke2RlZmluaXRpb25zU3RyaW5nfSR7c2VtaWNvbG9uU3RyaW5nfWA7XG5cbiAgICByZXR1cm4gc3RyaW5nO1xuICB9XG5cbiAgc3RhdGljIGZyb21OYW1lT3BhY2l0eUFuZERlZmluaXRpb25zKENsYXNzLCBuYW1lLCBvcGFjaXR5LCBkZWZpbml0aW9ucykge1xuICAgIGlmIChkZWZpbml0aW9ucyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBkZWZpbml0aW9ucyA9IG9wYWNpdHk7ICAvLy9cblxuICAgICAgb3BhY2l0eSA9IG5hbWU7IC8vL1xuXG4gICAgICBuYW1lID0gQ2xhc3M7IC8vL1xuXG4gICAgICBDbGFzcyA9IFJ1bGU7IC8vL1xuICAgIH1cblxuICAgIGNvbnN0IHJ1bGUgPSBuZXcgQ2xhc3MobmFtZSwgb3BhY2l0eSwgZGVmaW5pdGlvbnMpO1xuXG4gICAgcmV0dXJuIHJ1bGU7XG4gIH1cbn1cblxuZnVuY3Rpb24gb3BhY2l0eVN0cmluZ0Zyb21PcGFjaXR5KG9wYWNpdHkpIHtcbiAgY29uc3Qgb3BhY2l0eVN0cmluZyA9IChvcGFjaXR5ICE9PSBudWxsKT9cbiAgICAgICAgICBvcGFjaXR5OiAvLy9cbiAgICAgICAgICAgIEVNUFRZX1NUUklORztcblxuICByZXR1cm4gb3BhY2l0eVN0cmluZztcbn1cblxuZnVuY3Rpb24gc2VtaWNvbG9uU3RyaW5nRnJvbU11bHRpbGluZUFuZE1heGltdW1SdWxlTmFtZUxlbmd0aChtdWx0aUxpbmUsIG1heGltdW1SdWxlTmFtZUxlbmd0aCkge1xuICBjb25zdCBtYXJnaW5XaWR0aCA9IG1heGltdW1SdWxlTmFtZUxlbmd0aCwgIC8vL1xuICAgICAgICBtYXJnaW5TdHJpbmcgPSBtYXJnaW5TdHJpbmdGcm9tTWFyZ2luV2lkdGgobWFyZ2luV2lkdGgpLFxuICAgICAgICBzZW1pY29sb25TdHJpbmcgPSBtdWx0aUxpbmUgP1xuICAgICAgYFxuXG4ke21hcmdpblN0cmluZ30gICA7YCA6XG4gICAgICBcIiA7XCI7XG5cbiAgcmV0dXJuIHNlbWljb2xvblN0cmluZztcbn1cblxuZnVuY3Rpb24gZGVmaW5pdGlvbnNTdHJpbmdGcm9tTXVsdGlsaW5lRGVmaW5pdGlvbnNBbmRNYXhpbXVtUnVsZU5hbWVMZW5ndGgobXVsdGlMaW5lLCBkZWZpbml0aW9ucywgbWF4aW11bVJ1bGVOYW1lTGVuZ3RoKSB7XG4gIGNvbnN0IG1hcmdpbldpZHRoID0gbWF4aW11bVJ1bGVOYW1lTGVuZ3RoLCAgLy8vXG4gICAgICAgIG1hcmdpblN0cmluZyA9IG1hcmdpblN0cmluZ0Zyb21NYXJnaW5XaWR0aChtYXJnaW5XaWR0aCksXG4gICAgICAgIGRlZmluaXRpb25zU3RyaW5nID0gZGVmaW5pdGlvbnMucmVkdWNlKChkZWZpbml0aW9uc1N0cmluZywgZGVmaW5pdGlvbikgPT4ge1xuICAgICAgICAgIGNvbnN0IGRlZmluaXRpb25TdHJpbmcgPSBkZWZpbml0aW9uLmFzU3RyaW5nKCk7XG5cbiAgICAgICAgICBpZiAoZGVmaW5pdGlvbnNTdHJpbmcgPT09IEVNUFRZX1NUUklORykge1xuICAgICAgICAgICAgZGVmaW5pdGlvbnNTdHJpbmcgPSBkZWZpbml0aW9uU3RyaW5nOyAvLy9cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZGVmaW5pdGlvbnNTdHJpbmcgPSBtdWx0aUxpbmUgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7ZGVmaW5pdGlvbnNTdHJpbmd9XG4gICAgXG4ke21hcmdpblN0cmluZ30gICB8ICR7ZGVmaW5pdGlvblN0cmluZ31gIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7ZGVmaW5pdGlvbnNTdHJpbmd9IHwgJHtkZWZpbml0aW9uU3RyaW5nfWA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIGRlZmluaXRpb25zU3RyaW5nO1xuICAgICAgICB9LCBFTVBUWV9TVFJJTkcpO1xuXG4gIHJldHVybiBkZWZpbml0aW9uc1N0cmluZztcbn1cbiJdLCJuYW1lcyI6WyJSdWxlIiwib3BhcXVlIiwib3BhcXVlU3BlY2lhbFN5bWJvbCIsInNlbWlPcGFxdWUiLCJzZW1pT3BhcXVlU3BlY2lhbFN5bWJvbCIsInNwZWNpYWxTeW1ib2xzIiwibmFtZSIsIm9wYWNpdHkiLCJkZWZpbml0aW9ucyIsImdldE5hbWUiLCJnZXRPcGFjaXR5IiwiZ2V0RGVmaW5pdGlvbnMiLCJzZXROYW1lIiwic2V0T3BhY2l0eSIsInNldERlZmluaXRpb25zIiwiaXNPcGFxdWUiLCJpc1NlbWlPcGFxdWUiLCJpc1RyYW5zcGFyZW50IiwicGFyc2UiLCJjb250ZXh0IiwiZnJhbWUiLCJydWxlIiwicnVsZUNvbnRleHQiLCJzb21lIiwiZGVmaW5pdGlvbiIsImZyYW1lTnVsbGlmaWVkIiwiaXNOdWxsaWZpZWQiLCJmcmFtZVZhbGlkIiwiaXNWYWxpZCIsImNvbW1pdCIsIk5vblRlcm1pbmFsTm9kZUZyb21SdWxlTmFtZSIsInJ1bGVOYW1lIiwiYXNTdHJpbmciLCJtYXhpbXVtUnVsZU5hbWVMZW5ndGgiLCJtdWx0aUxpbmUiLCJkZWZpbml0aW9uc0xlbmd0aCIsImxlbmd0aCIsIm9wYWNpdHlTdHJpbmciLCJvcGFjaXR5U3RyaW5nRnJvbU9wYWNpdHkiLCJzZW1pY29sb25TdHJpbmciLCJzZW1pY29sb25TdHJpbmdGcm9tTXVsdGlsaW5lQW5kTWF4aW11bVJ1bGVOYW1lTGVuZ3RoIiwiZGVmaW5pdGlvbnNTdHJpbmciLCJkZWZpbml0aW9uc1N0cmluZ0Zyb21NdWx0aWxpbmVEZWZpbml0aW9uc0FuZE1heGltdW1SdWxlTmFtZUxlbmd0aCIsInJ1bGVOYW1lTGVuZ3RoIiwib3BhY2l0eVN0cmluZ0xlbmd0aCIsIm1hcmdpbldpZHRoIiwibWFyZ2luU3RyaW5nIiwibWFyZ2luU3RyaW5nRnJvbU1hcmdpbldpZHRoIiwic3RyaW5nIiwiZnJvbU5hbWVPcGFjaXR5QW5kRGVmaW5pdGlvbnMiLCJDbGFzcyIsInVuZGVmaW5lZCIs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
|
package/lib/utilities/part.js
CHANGED
|
@@ -13,8 +13,13 @@ function parsePartContinually(part, count, strict, frame, context) {
|
|
|
13
13
|
(0, _context.continuationPartContext)((context)=>{
|
|
14
14
|
const savedFrame = frame; ///
|
|
15
15
|
frame = part.parse(frame, context);
|
|
16
|
-
const
|
|
17
|
-
if (
|
|
16
|
+
const frameAborted = frame.isAborted(), frameNullified = frame.isNullified();
|
|
17
|
+
if (false) {
|
|
18
|
+
///
|
|
19
|
+
} else if (frameAborted) {
|
|
20
|
+
frame = savedFrame; ///
|
|
21
|
+
frame = context.continue(frame);
|
|
22
|
+
} else if (frameNullified) {
|
|
18
23
|
const initial = count === 0;
|
|
19
24
|
if (strict && initial) {
|
|
20
25
|
///
|
|
@@ -31,4 +36,4 @@ function parsePartContinually(part, count, strict, frame, context) {
|
|
|
31
36
|
return frame;
|
|
32
37
|
}
|
|
33
38
|
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcGFydC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgY29udGludWF0aW9uUGFydENvbnRleHQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2NvbnRleHRcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlUGFydENvbnRpbnVhbGx5KHBhcnQsIGNvdW50LCBzdHJpY3QsIGZyYW1lLCBjb250ZXh0KSB7XG4gIGNvbnRpbnVhdGlvblBhcnRDb250ZXh0KChjb250ZXh0KSA9PiB7XG4gICAgY29uc3Qgc2F2ZWRGcmFtZSA9IGZyYW1lOyAvLy9cblxuICAgIGZyYW1lID0gcGFydC5wYXJzZShmcmFtZSwgY29udGV4dCk7XG5cbiAgICBjb25zdCBmcmFtZUFib3J0ZWQgPSBmcmFtZS5pc0Fib3J0ZWQoKSxcbiAgICAgICAgICBmcmFtZU51bGxpZmllZCA9IGZyYW1lLmlzTnVsbGlmaWVkKCk7XG5cbiAgICBpZiAoZmFsc2UpIHtcbiAgICAgIC8vL1xuICAgIH0gZWxzZSBpZiAoZnJhbWVBYm9ydGVkKSB7XG4gICAgICBmcmFtZSA9IHNhdmVkRnJhbWU7IC8vL1xuXG4gICAgICBmcmFtZSA9IGNvbnRleHQuY29udGludWUoZnJhbWUpO1xuICAgIH0gZWxzZSBpZiAoZnJhbWVOdWxsaWZpZWQpIHtcbiAgICAgIGNvbnN0IGluaXRpYWwgPSAoY291bnQgPT09IDApO1xuXG4gICAgICBpZiAoc3RyaWN0ICYmIGluaXRpYWwpIHtcbiAgICAgICAgLy8vXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmcmFtZSA9IHNhdmVkRnJhbWU7IC8vL1xuXG4gICAgICAgIGZyYW1lID0gY29udGV4dC5jb250aW51ZShmcmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZnJhbWVWYWxpZCA9IGZyYW1lLmlzVmFsaWQoKTtcblxuICAgIGlmIChmcmFtZVZhbGlkKSB7XG4gICAgICBjb250ZXh0LmNvbW1pdCgpO1xuICAgIH1cbiAgfSwgcGFydCwgY291bnQsIHBhcnNlUGFydENvbnRpbnVhbGx5LCBjb250ZXh0KTtcblxuICByZXR1cm4gZnJhbWU7XG59XG4iXSwibmFtZXMiOlsicGFyc2VQYXJ0Q29udGludWFsbHkiLCJwYXJ0IiwiY291bnQiLCJzdHJpY3QiLCJmcmFtZSIsImNvbnRleHQiLCJjb250aW51YXRpb25QYXJ0Q29udGV4dCIsInNhdmVkRnJhbWUiLCJwYXJzZSIsImZyYW1lQWJvcnRlZCIsImlzQWJvcnRlZCIsImZyYW1lTnVsbGlmaWVkIiwiaXNOdWxsaWZpZWQiLCJjb250aW51ZSIsImluaXRpYWwiLCJmcmFtZVZhbGlkIiwiaXNWYWxpZCIsImNvbW1pdCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBSWdCQTs7O2VBQUFBOzs7eUJBRndCO0FBRWpDLFNBQVNBLHFCQUFxQkMsSUFBSSxFQUFFQyxLQUFLLEVBQUVDLE1BQU0sRUFBRUMsS0FBSyxFQUFFQyxPQUFPO0lBQ3RFQyxJQUFBQSxnQ0FBdUIsRUFBQyxDQUFDRDtRQUN2QixNQUFNRSxhQUFhSCxPQUFPLEdBQUc7UUFFN0JBLFFBQVFILEtBQUtPLEtBQUssQ0FBQ0osT0FBT0M7UUFFMUIsTUFBTUksZUFBZUwsTUFBTU0sU0FBUyxJQUM5QkMsaUJBQWlCUCxNQUFNUSxXQUFXO1FBRXhDLElBQUksT0FBTztRQUNULEdBQUc7UUFDTCxPQUFPLElBQUlILGNBQWM7WUFDdkJMLFFBQVFHLFlBQVksR0FBRztZQUV2QkgsUUFBUUMsUUFBUVEsUUFBUSxDQUFDVDtRQUMzQixPQUFPLElBQUlPLGdCQUFnQjtZQUN6QixNQUFNRyxVQUFXWixVQUFVO1lBRTNCLElBQUlDLFVBQVVXLFNBQVM7WUFDckIsR0FBRztZQUNMLE9BQU87Z0JBQ0xWLFFBQVFHLFlBQVksR0FBRztnQkFFdkJILFFBQVFDLFFBQVFRLFFBQVEsQ0FBQ1Q7WUFDM0I7UUFDRjtRQUVBLE1BQU1XLGFBQWFYLE1BQU1ZLE9BQU87UUFFaEMsSUFBSUQsWUFBWTtZQUNkVixRQUFRWSxNQUFNO1FBQ2hCO0lBQ0YsR0FBR2hCLE1BQU1DLE9BQU9GLHNCQUFzQks7SUFFdEMsT0FBT0Q7QUFDVCJ9
|
package/package.json
CHANGED
|
@@ -71,11 +71,9 @@ export default class DefinitionContext extends Context {
|
|
|
71
71
|
} else {
|
|
72
72
|
const committed = nonTerminalNode.isCommitted();
|
|
73
73
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
frame = nullifiedFrame;
|
|
78
|
-
}
|
|
74
|
+
frame = committed ?
|
|
75
|
+
abortedFrame :
|
|
76
|
+
nullifiedFrame;
|
|
79
77
|
}
|
|
80
78
|
|
|
81
79
|
return frame;
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import Context from "../../context";
|
|
4
4
|
|
|
5
|
+
import { nullifiedFrame } from "../../frame";
|
|
6
|
+
|
|
5
7
|
export default class CommittedPartPartContext extends Context {
|
|
6
8
|
isCommitted() {
|
|
7
9
|
const committed = true;
|
|
@@ -9,6 +11,16 @@ export default class CommittedPartPartContext extends Context {
|
|
|
9
11
|
return committed;
|
|
10
12
|
}
|
|
11
13
|
|
|
14
|
+
compose(frame, partFrame = nullifiedFrame) {
|
|
15
|
+
const partFrameValid = partFrame.isValid();
|
|
16
|
+
|
|
17
|
+
if (partFrameValid) {
|
|
18
|
+
frame = frame.merge(partFrame);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
return frame;
|
|
22
|
+
}
|
|
23
|
+
|
|
12
24
|
continued(frame, context) {
|
|
13
25
|
frame = this.compose(frame);
|
|
14
26
|
|
|
@@ -44,7 +44,9 @@ export default class ChoiceOfPartsPart extends NonTerminalPart {
|
|
|
44
44
|
partFrameValid = partFrame.isValid(),
|
|
45
45
|
partFrameAborted = partFrame.isAborted();
|
|
46
46
|
|
|
47
|
-
if (
|
|
47
|
+
if (false) {
|
|
48
|
+
///
|
|
49
|
+
} else if (partFrameValid) {
|
|
48
50
|
frame = context.compose(frame, partFrame);
|
|
49
51
|
} else if (partFrameAborted) {
|
|
50
52
|
frame = partFrame; ///
|
|
@@ -32,9 +32,14 @@ export default class OptionalPartPart extends NonTerminalPart {
|
|
|
32
32
|
|
|
33
33
|
frame = this.part.parse(frame, context);
|
|
34
34
|
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
const frameAborted = frame.isAborted(),
|
|
36
|
+
frameNullified = frame.isNullified();
|
|
37
|
+
|
|
38
|
+
if (false) {
|
|
39
|
+
///
|
|
40
|
+
} else if (frameAborted) {
|
|
41
|
+
frame = nullifiedFrame;
|
|
42
|
+
} else if (frameNullified) {
|
|
38
43
|
frame = savedFrame; ///
|
|
39
44
|
|
|
40
45
|
frame = context.continue(frame);
|
package/src/rule.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { specialSymbols } from "occam-lexers";
|
|
4
|
+
|
|
3
5
|
import { ruleContext } from "./utilities/context";
|
|
4
6
|
import { EMPTY_STRING } from "./constants";
|
|
5
|
-
import {
|
|
7
|
+
import { nullifiedFrame } from "./frame";
|
|
6
8
|
import { marginStringFromMarginWidth } from "./utilities/string";
|
|
7
9
|
|
|
8
10
|
const { opaque: opaqueSpecialSymbol, semiOpaque: semiOpaqueSpecialSymbol } = specialSymbols;
|
|
@@ -65,10 +67,9 @@ export default class Rule {
|
|
|
65
67
|
this.definitions.some((definition) => {
|
|
66
68
|
frame = definition.parse(context);
|
|
67
69
|
|
|
68
|
-
const
|
|
69
|
-
frameAborted = frame.isAborted();
|
|
70
|
+
const frameNullified = frame.isNullified();
|
|
70
71
|
|
|
71
|
-
if (
|
|
72
|
+
if (!frameNullified) {
|
|
72
73
|
return true;
|
|
73
74
|
}
|
|
74
75
|
});
|
package/src/utilities/part.js
CHANGED
|
@@ -8,9 +8,16 @@ export function parsePartContinually(part, count, strict, frame, context) {
|
|
|
8
8
|
|
|
9
9
|
frame = part.parse(frame, context);
|
|
10
10
|
|
|
11
|
-
const
|
|
11
|
+
const frameAborted = frame.isAborted(),
|
|
12
|
+
frameNullified = frame.isNullified();
|
|
12
13
|
|
|
13
|
-
if (
|
|
14
|
+
if (false) {
|
|
15
|
+
///
|
|
16
|
+
} else if (frameAborted) {
|
|
17
|
+
frame = savedFrame; ///
|
|
18
|
+
|
|
19
|
+
frame = context.continue(frame);
|
|
20
|
+
} else if (frameNullified) {
|
|
14
21
|
const initial = (count === 0);
|
|
15
22
|
|
|
16
23
|
if (strict && initial) {
|