Skip to content

Commit 172d3fe

Browse files
edmundmillerclaude
andcommitted
docs: parse-rate 99.6%; 8 remaining failures categorised
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent 515f529 commit 172d3fe

1 file changed

Lines changed: 19 additions & 19 deletions

File tree

ROADMAP.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -45,37 +45,37 @@ NEXTFLOW_TS_LIB=lib/<platform>/libnextflow.<ext> \
4545
| 2026-07-03 | 98.9% (2047/2070) | destructuring assignment, bare << statements |
4646
| 2026-07-03 | 99.1% (2052/2070) | index on paren/interp, pipe-op closures, error """…""", typed closure params |
4747
| 2026-07-03 | 99.3% (2056/2070) | method calls on triple strings ("""…""".stripIndent()); """ unified to one rule |
48-
| 2026-07-03 | **99.4% (2058/2070)** | lenient string escapes (\\ + any char) |
48+
| 2026-07-03 | 99.4% (2058/2070) | lenient string escapes (\\ + any char) |
49+
| 2026-07-03 | 99.5% (2059/2070) | whitespace in section markers (stub :) |
50+
| 2026-07-03 | **99.6% (2062/2070)** | ; terminates before } / after comment; typed function defs (String f(String a){}) |
4951

50-
## Remaining failures (12 files, 0.6%) — categorised
52+
## Remaining failures (8 files, 0.4%) — categorised
5153

5254
Each was attempted and reverted with the measured cost; these are genuine
5355
LR/lexer limits or non-idiomatic source:
5456

5557
- **`|` as boolean-or in conditions** (4): `if (a == b | c == d)`. Adding `|`
56-
as a binary operator reaches 99.5% but deterministically reparses every
58+
as a binary operator reaches 99.7% but deterministically reparses every
5759
channel pipe `ch | map` as a `binary_expression` instead of
5860
`pipe_expression` (2 corpus tests fail) — `binary_expression`'s static
5961
precedence wins and `prec.dynamic` does not apply (no real GLR conflict).
6062
Breaking the core channel-op node that lint rules read is not worth 4 files
6163
whose source should use `||`.
62-
- **`stmt; /* comment */` then more statements** (3): even with the scanner
63-
emitting a terminator at the explicit `;`, tree-sitter attaches the trailing
64-
inline block comment as an extra *after* the prelude repeat reduces, ending
65-
the script section early. Needs external-scanner control over the
66-
comment/terminator boundary.
67-
- **exotic single-file syntax** (5): `stub :` with a space before the colon
68-
(section markers are atomic tokens); `( cond ? """a""" : "" ) << """b"""` as
69-
a process script body (a binary expression producing the script string);
70-
IIFE `{ … }()`; `stdout emit: x` without a comma; `log.debug "msg"`
71-
(dotted-receiver no-paren command — a dedicated fix regressed other files).
72-
73-
**Resolved this round** (was in the prior 18/29): the whole
74-
`"""…""".stripIndent()` cluster (~7 files) via routing all `"""…"""` through
75-
one `interpolated_triple_quoted_string` rule + a dedicated `string_method_call`
76-
that requires a `.method(...)`; try/catch/finally; chained pipes;
64+
- **exotic / conflict-prone single-file syntax** (4):
65+
- `( cond ? """a""" : "" ) << """b"""` as a process script body — a binary
66+
expression *producing* the script string (rungx).
67+
- IIFE `{ … }()` — adding a closure-call rule introduces an unresolved
68+
grammar conflict for one file (scan).
69+
- `stdout emit: x` without a comma — comma-optional `emit_declaration`
70+
conflicts with `input_declaration` (download).
71+
- `log.debug "msg"` — a dotted-receiver no-paren command; a dedicated rule
72+
regressed other files (subsample).
73+
74+
**Resolved since the prior 12/18**: `"""…""".stripIndent()` cluster (~7 files,
75+
via one `"""` rule + `string_method_call`); try/catch/finally; chained pipes;
7776
destructuring assignment; index on parenthesized/interpolated expressions;
78-
lenient escapes.
77+
lenient escapes; `;` terminating before `}` and after an inline comment; typed
78+
function definitions (`String f(String a){}`); `stub :` whitespace.
7979

8080
Known structural (error-free, not counted as failures): with terminators in
8181
workflow sections, an LALR reduction can place a trailing `take:` identifier

0 commit comments

Comments
 (0)