Commit graph

8 commits

Author SHA1 Message Date
Max Brunsfeld 066fd77d39
Fix cases where error recovery could infinite loop (#4257)
Some checks failed
CI / sanitize (push) Failing after 12s
CI / build (push) Failing after 12s
CI / checks (push) Has been cancelled
* Rename corpus test functions to allow easy filtering by language

* Use usize for seed argument

* Avoid retaining useless stack versions when reductions merge

We found this problem when debugging an infinite loop that happened
during error recovery when using the Zig grammar. The large number of
unnecessary paused stack versions were preventing the correct recovery
strategy from being tried.

* Fix leaked lookahead token when reduction results in a merged stack

* Enable running PHP tests in CI

* Fix possible infinite loop during error recovery at EOF

* Account for external scanner state changes when detecting changed ranges in subtrees
2025-03-04 13:50:56 -08:00
Amaan Qureshi 50eaf0b6cd style(lib): add parameter names in declarations that are missing them 2024-09-27 13:38:08 -04:00
Max Brunsfeld 0bdd9b640c Store the lookahead subtree of paused stack versions, not just the lookahead symbol 2022-02-22 09:45:26 -08:00
Max Brunsfeld 584b55df8d Delete unused code, tweak whitespace 2022-01-19 16:54:57 -08:00
Marijn Haverbeke fe5aa46d8d Swap two incorrectly placed comments 2019-03-26 16:53:35 +01:00
Max Brunsfeld 0f2347b318 Just call the C lib 'the library' everywhere, don't call it a 'runtime' 2019-01-10 15:22:39 -08:00
Max Brunsfeld dd416b0955 Update include paths to not reference 'runtime' directory 2019-01-04 17:33:34 -08:00
Max Brunsfeld 47607cecf4 Reorganize repo, add rust CLI and binding code, 2019-01-04 17:31:49 -08:00