v0.1.0-rc.1
Pre-releaseLangForge v0.1.0-rc.1 Release Notes
LangForge v0.1.0-rc.1 is the first public release candidate of the LangForge CLI.
LangForge is a scanner/parser generator for building DSLs, validators, transpilers, compilers, code generators, and language tooling from one readable .lf grammar file.
This is a pre-release. The generated APIs, grammar syntax, and project layout may still change before v0.1.0.
Highlights
- Generates scanner/parser code for Go, C#, C, and C++.
- Supports combined
.lfgrammar files with lexer and parser sections. - Supports LR parser modes: SLR(1), LALR(1), IELR(1), and canonical LR(1).
- Provides typed reducer contexts so handwritten semantic code can use named values such as
ctx.Leftandctx.Rightinstead of manual parser-stack indexing. - Supports pull-based lexeme-source parsing for lazy scanner-to-parser pipelines.
- Includes grammar-directed parser recovery with structured diagnostics.
- Writes deterministic manifests such as
langforge.actions.jsonfor reducer and parity checks. - Includes runnable examples and copyable templates for Go, C#, C, and C++.
- Includes benchmark examples for Go and C# parsing/scanning workloads.
- Includes CI, Docker smoke checks, release artifact generation, and SHA256 checksums.
Install This Release Candidate
Because this is a pre-release, use the tag-specific release URL instead of /releases/latest/download/....
Install this release candidate with:
curl -fsSL https://github.com/russlank/lang-forge/releases/download/v0.1.0-rc.1/install-lang-forge.sh \
| LANG_FORGE_VERSION=v0.1.0-rc.1 shInstall to a user-writable directory:
curl -fsSL https://github.com/russlank/lang-forge/releases/download/v0.1.0-rc.1/install-lang-forge.sh \
| LANG_FORGE_VERSION=v0.1.0-rc.1 LANG_FORGE_INSTALL_DIR="$HOME/.local/bin" shOr download the platform-specific binary from the assets below and verify it with SHA256SUMS.
For the final non-pre-release v0.1.0, the usual latest-release URL can be used:
curl -fsSL https://github.com/russlank/lang-forge/releases/latest/download/install-lang-forge.sh | shRelease Assets
Attached assets include:
lang-forge-linux-amd64lang-forge-linux-arm64lang-forge-darwin-amd64lang-forge-darwin-arm64lang-forge-windows-amd64.exeinstall-lang-forge.shSHA256SUMS
Notes For This Release Candidate
This release candidate is mainly intended for:
- trying the CLI;
- validating
.lfgrammars; - inspecting parser tables;
- generating Go, C#, C, and C++ examples;
- reviewing the generated API shape;
- giving feedback before the first
v0.1.0release.
Recommended first commands after downloading or cloning:
lang-forge version
lang-forge validate --spec examples/go/calc/calc.lf
lang-forge inspect --spec examples/go/calc/calc.lf --format textFrom a source checkout:
make ci
make examples-test
make vocabulary-check