Runtime library for scanners and LL(k)/LALR(1) parsers generated by the parol ecosystem in .NET.
This package is intended to be consumed by code generated by parol. Generated LL(k) and LALR(1) parsers include all required scanner and parser tables/data; consumers typically do not define DFA states or parser automata by hand.
- Runtime support for parol-generated scanners and LL(k)/LALR(1) parsers
- Integration points for generated semantic actions
- Stable package intended for generated code consumption
LL(k): Supported via parser code generated by parol.LALR(1): Supported via parser code generated by parol.- In both cases, generated code contains the parser tables/data required by this runtime.
dotnet add package Parol.Runtime- Generate your LL(k) or LALR(1) parser with parol.
- Use the generated parser and actions in your application.
- The generated code provides all runtime data structures required by this package.
netstandard2.0net8.0net9.0net10.0
dotnet build Parol.Runtime.slnx -c Releasedotnet test Parol.Runtime.slnxdotnet buildon this solution builds all configured target frameworks for each project.dotnet teston this solution runs tests for all target frameworks configured intests/Parol.Runtime.Tests/Parol.Runtime.Tests.csproj.netstandard2.0is build-validated for the runtime project, but tests run on executable runtimes (net8.0,net9.0,net10.0).
If a machine does not have all required SDKs/runtimes installed, commands that run all targets can fail. Use a framework-specific test command to run one target only:
dotnet test tests/Parol.Runtime.Tests/Parol.Runtime.Tests.csproj -c Release -f net8.0CI and publish workflows install .NET SDKs 8.0.x, 9.0.x, and 10.0.x and execute tests per target framework.
See CHANGELOG.md.
See CONTRIBUTING.md.
- Checklist: RELEASE.md
- Copy/paste release routine: RELEASE_TEMPLATE.md
