feat(joinir): Phase 213-2 Step 2-2 & 2-3 Data structure extensions
Extended PatternPipelineContext and CarrierUpdateInfo for Pattern 3 AST-based generalization. Changes: 1. PatternPipelineContext: - Added loop_condition: Option<ASTNode> - Added loop_body: Option<Vec<ASTNode>> - Added loop_update_summary: Option<LoopUpdateSummary> - Updated build_pattern_context() for Pattern 3 2. CarrierUpdateInfo: - Added then_expr: Option<ASTNode> - Added else_expr: Option<ASTNode> - Updated analyze_loop_updates() with None defaults Status: Phase 213-2 Steps 2-2 & 2-3 complete Next: Create Pattern3IfAnalyzer to extract if statement and populate update summary
This commit is contained in:
@ -5,9 +5,9 @@ Overview
|
||||
- Default remains env‑gated for safety; CI runs smokes to build confidence.
|
||||
|
||||
Recommended Flows
|
||||
- Runner (pilot): `NYASH_USE_NY_COMPILER=1 ./target/release/nyash --backend vm apps/examples/string_p0.hako`
|
||||
- Runner (pilot): `NYASH_USE_NY_COMPILER=1 ./target/release/hakorune --backend vm apps/examples/string_p0.hako`
|
||||
- Emit‑only: `NYASH_USE_NY_COMPILER=1 NYASH_NY_COMPILER_EMIT_ONLY=1 ...`
|
||||
- EXE‑first (parser EXE): `tools/build_compiler_exe.sh && NYASH_USE_NY_COMPILER=1 NYASH_USE_NY_COMPILER_EXE=1 ./target/release/nyash --backend vm apps/examples/string_p0.hako`
|
||||
- EXE‑first (parser EXE): `tools/build_compiler_exe.sh && NYASH_USE_NY_COMPILER=1 NYASH_USE_NY_COMPILER_EXE=1 ./target/release/hakorune --backend vm apps/examples/string_p0.hako`
|
||||
- LLVM AOT: `NYASH_LLVM_USE_HARNESS=1 tools/build_llvm.sh apps/... -o app && ./app`
|
||||
|
||||
CI Workflows
|
||||
@ -16,11 +16,11 @@ CI Workflows
|
||||
- Selfhost EXE‑first(optional)
|
||||
- crate 直結(ny-llvmc)で JSON→EXE→実行までを最短経路で確認できるよ。
|
||||
- 手順(ローカル):
|
||||
1) MIR(JSON) を出力: `./target/release/nyash --emit-mir-json tmp/app.json --backend mir apps/tests/ternary_basic.hako`
|
||||
1) MIR(JSON) を出力: `./target/release/hakorune --emit-mir-json tmp/app.json --backend mir apps/tests/ternary_basic.hako`
|
||||
2) EXE 生成: `./target/release/ny-llvmc --in tmp/app.json --emit exe --nyrt target/release --out tmp/app`
|
||||
3) 実行: `./tmp/app`(戻り値が exit code)
|
||||
- ワンコマンドスモーク: `bash tools/crate_exe_smoke.sh apps/tests/ternary_basic.hako`
|
||||
- CLI で直接 EXE 出力: `./target/release/nyash --emit-exe tmp/app --backend mir apps/tests/ternary_basic.hako`
|
||||
- CLI で直接 EXE 出力: `./target/release/hakorune --emit-exe tmp/app --backend mir apps/tests/ternary_basic.hako`
|
||||
- Installs LLVM 18 + llvmlite, then runs `tools/exe_first_smoke.sh`.
|
||||
|
||||
Useful Env Flags
|
||||
|
||||
Reference in New Issue
Block a user