Phase 22.x WIP: LLVM backend improvements + MIR builder enhancements
LLVM backend improvements: - Add native LLVM backend support (NYASH_LLVM_BACKEND=native) - Add crate backend selector with priority (crate > llvmlite) - Add native_llvm_builder.py for native IR generation - Add NYASH_LLVM_NATIVE_TRACE=1 for IR dump MIR builder enhancements: - Refactor lower_if_compare_* boxes for better code generation - Refactor lower_return_* boxes for optimized returns - Refactor lower_loop_* boxes for loop handling - Refactor lower_method_* boxes for method calls - Update pattern_util_box for better pattern matching Smoke tests: - Add phase2100 S3 backend selector tests (17 new tests) - Add phase2120 native backend tests (4 new tests) - Add phase2034 MIR builder internal tests (2 new tests) - Add phase2211 TLV shim parity test Documentation: - Update ENV_VARS.md with LLVM backend variables - Update CURRENT_TASK.md with progress - Update README.md and CHANGELOG.md Config: - Add NYASH_LLVM_BACKEND env support in src/config/env.rs - Update ny_mir_builder.sh for backend selection - Update dispatch.rs for backend routing Tools: - Add tools/native_llvm_builder.py - Update smokes/v2/profiles/quick/core/phase2100/run_all.sh Known: Many Hako builder internal files modified for optimization
This commit is contained in:
12
README.md
12
README.md
@ -4,6 +4,18 @@
|
||||
**A Seriously-Crafted Hobby Language**
|
||||
**From Zero to Native Binary in 20 Days - The AI-Powered Language Revolution**
|
||||
|
||||
Quick — Emit MIR (Hako‑first helper)
|
||||
- Generate MIR(JSON) from a Hako file using the Stage‑B parser + MirBuilder (wrapper falls back to the Rust CLI builder on failure to keep runs green):
|
||||
|
||||
```
|
||||
tools/hakorune_emit_mir.sh path/to/program.hako /tmp/program.mir.json
|
||||
target/release/hakorune --mir-json-file /tmp/program.mir.json
|
||||
```
|
||||
|
||||
Notes
|
||||
- The wrapper runs Stage‑B with `NYASH_JSON_ONLY=1` to keep the output clean (no `RC:` lines).
|
||||
- When the Hako MirBuilder fails (e.g., under development), it automatically falls back to `--program-json-to-mir` (no behavior change by default).
|
||||
|
||||
*[🇯🇵 日本語版はこちら / Japanese Version](README.ja.md)*
|
||||
|
||||
[](https://github.com/moe-charm/nyash/actions/workflows/selfhost-minimal.yml)
|
||||
|
||||
Reference in New Issue
Block a user