diff options
| author | Patrick Simianer <patrick@lilt.com> | 2026-02-26 19:29:18 +0100 |
|---|---|---|
| committer | Patrick Simianer <patrick@lilt.com> | 2026-02-26 19:29:18 +0100 |
| commit | 44f225d0642d2ecf13f533f68b9ae12d849809ea (patch) | |
| tree | 670b2f3f715097d57389c1e87861c0f647f31853 /fast/test/test_sparse_vector | |
| parent | 0abcdd7e4358cb902c320b008d3c04bde07b749e (diff) | |
Fix two bugs in prototype parser
1. Inner visit at span (0,1) yielded no sub-spans because
visit(1, 0, 1, 1) iterates span from 1 to r-x=0, which is
empty. This prevented unary rules like [S] ||| [X,1] from
completing at the leftmost span, so S(0,1) was never created.
Drop the x=1 parameter (default x=0); scan already handles
bounds checking.
2. Self-filling step searched remaining_items for unary NT rules,
but those rules could be absent if consumed (advanced) during
the parse loop. Look up grammar.start_nt directly instead,
which covers all cases.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'fast/test/test_sparse_vector')
0 files changed, 0 insertions, 0 deletions
