parseman 0.61.7 → 0.61.8
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/dist/analysis/diagnostics.js +9 -5
- package/dist/analysis/diagnostics.js.map +1 -1
- package/dist/cli/index.js +9 -5
- package/dist/cli/index.js.map +1 -1
- package/dist/index.js +9 -5
- package/dist/index.js.map +1 -1
- package/dist/plugin/index.js +9 -5
- package/dist/plugin/index.js.map +1 -1
- package/dist/table/fail-clean.d.ts.map +1 -1
- package/dist/table/index.js +9 -5
- package/dist/table/index.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/package.json +1 -1
- package/src/table/fail-clean.ts +8 -4
- package/src/version.ts +1 -1
package/dist/index.js
CHANGED
|
@@ -5666,7 +5666,7 @@ function sourceLeaf(root, fn) {
|
|
|
5666
5666
|
}
|
|
5667
5667
|
|
|
5668
5668
|
// src/version.ts
|
|
5669
|
-
var PARSEMAN_VERSION = "0.61.
|
|
5669
|
+
var PARSEMAN_VERSION = "0.61.8";
|
|
5670
5670
|
|
|
5671
5671
|
// src/table/lex-body.ts
|
|
5672
5672
|
function buildLexBodyRecognizer(spec, constants) {
|
|
@@ -14325,11 +14325,15 @@ function failCleanAnalysis(code) {
|
|
|
14325
14325
|
case OP_CONT:
|
|
14326
14326
|
out = clean(code[ip + 1]) && neverFails(code[ip + 3]);
|
|
14327
14327
|
break;
|
|
14328
|
-
// An arm's failure and
|
|
14329
|
-
// not
|
|
14330
|
-
|
|
14331
|
-
|
|
14328
|
+
// An arm's failure and a committing fallback's are committed; only the
|
|
14329
|
+
// selector's is not. An uncommitted fallback's failure leaves the selector's
|
|
14330
|
+
// capture, unless the fallback reads it through `routed()`, which rolls that
|
|
14331
|
+
// capture back first. With no fallback, the dispatch fails after the selector wrote.
|
|
14332
|
+
case OP_DISPATCH: {
|
|
14333
|
+
const flags = code[ip + 4];
|
|
14334
|
+
out = code[ip + 3] >= 0 && ((flags & 2) === 0 || (flags & 1) === 1) && clean(code[ip + 1]);
|
|
14332
14335
|
break;
|
|
14336
|
+
}
|
|
14333
14337
|
default: {
|
|
14334
14338
|
const c = passChild(code, ip);
|
|
14335
14339
|
out = c >= 0 && clean(c);
|