Repository navigation
Release 4.8.0
Summary
Release 4.8.0 updates interpreted parsing, makes generated grammar tests usable from isolated directories, and improves regression and CI diagnostics.
Parsing and prediction
- Make ALL(*) the default for ordinary input outside a
Generated-CSharp...directory. A generated parser remains available from its directory or with-p/--parser(or-t gen); recognized grammar files still use their built-in parsers. - Add
--earleyto select the Earley interpreter explicitly. Piped interpreter bundles can also select an existing parser/lexer.interppair by path. - Add
--sllfor pure SLL prediction without full-context LL fallback, including the AllStar interpreter and generated-parser path. Document its correctness caveat and add parser tests. - Add
examples/antlr-sll-predicate-cachewith nested inputs and scripts comparing ANTLR 4.13.1 C# with AllStar. It demonstrates the predicate-context merge regression discussed in antlr/antlr4#4987 and distinguishes that regression from AllStar's normal full-LL fallback cost.
Generated drivers and tests
- Update trgen's generated Bash and PowerShell test scripts across targets to find source examples when the generated app runs elsewhere, write parse outputs under the generated app, and compare them with expected results without modifying source examples.
- Make generated shell scripts use Unix line endings; fix Linux test execution, MSYS Java classpaths, and target-independent XQuery assertion checks.
- Improve the top-level test scripts so CI reports the specific failing nested test, and correct escaping in the C++ driver template.
Other changes
- Add
trxml2 --file-nameto prefix each output path with its input filename (or<stdin>), with documentation and tests. - Bump tool, package, script, and documentation versions to 4.8.0.
Validation
The branch adds regression coverage for SLL behavior, trparse parser selection and output, trxml2 --file-name, trgen start-rule handling, and the new SLL example.
See PR #756 for the full changes.