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:
nyash-codex
2025-12-10 00:01:53 +09:00
parent 577b5b01d5
commit d7805e5974
138 changed files with 3529 additions and 378 deletions

View File

@ -22,7 +22,7 @@ Status: MVP available behind environment gates (default OFF). This page describe
Example
```
NYASH_MACRO_ENABLE=1 ./target/release/nyash --backend vm apps/APP/main.hako
NYASH_MACRO_ENABLE=1 ./target/release/hakorune --backend vm apps/APP/main.hako
```
## Test runner (MVP)
@ -46,17 +46,17 @@ NYASH_MACRO_ENABLE=1 ./target/release/nyash --backend vm apps/APP/main.hako
Examples
```
# run all tests in a file
./target/release/nyash --run-tests apps/tests/my_tests.hako
./target/release/hakorune --run-tests apps/tests/my_tests.hako
# filter + wrap entry + default arg injection
NYASH_MACRO_ENABLE=1 NYASH_TEST_ARGS_DEFAULTS=1 \
./target/release/nyash --run-tests --test-filter http --test-entry wrap apps/tests/my_tests.hako
./target/release/hakorune --run-tests --test-filter http --test-entry wrap apps/tests/my_tests.hako
```
## Expansion dump
```
./target/release/nyash --expand --dump-ast apps/tests/ternary_basic.hako
./target/release/hakorune --expand --dump-ast apps/tests/ternary_basic.hako
```
Shows pre/post expansion AST (debug only).