Task先生による Phase 161-2 実装成果: **tools/hako_shared/mir_analyzer.hako** (375行) - MirAnalyzerBox: MIR JSON v1 パーサー&アナライザー - Core Methods: - birth(mirJsonText): JSON パース&キャッシュ - validateSchema(): MIR v1 構造検証 - summarize_function(funcIndex): メタデータ抽出 - count_phis(funcIndex): PHI 命令検出 - count_loops(funcIndex): CFG backward edge によるループ検出 **テストインフラ** - test_mir_analyzer.hako: テストハーネスフレームワーク - test_rep1_inline.hako: インラインテスト (rep1_if_simple) - rep1_if_simple.mir.json: MIR JSON テストデータ (8.5KB) - rep2_loop_simple.mir.json: ループパターンテストデータ (9.6KB) **箱理論適用** - 箱化: MirAnalyzerBox = MIR 分析専任(単一責務) - 境界: JsonParserBox との完全分離 - Fail-Fast: 明示的エラー、フォールバック無し - 遅延SG: _functions キャッシュ、オンデマンド計算 **発見された課題** - JsonParserBox._parse_number() 無限ループ問題(次タスクで対処) - VM ステップ予算超過でフル MIR JSON テスト一時ブロック Status: Phase 161-2 80%完了(コア実装OK、テスト検証はJsonParser修正後) Next: _parse_number() 修正 → Phase 161-2 テスト完了 → Phase 161-3 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
22 lines
496 B
Plaintext
22 lines
496 B
Plaintext
// Phase 161 Representative Function 3: Nested If Inside Loop
|
|
// Pattern: If statement nested inside loop generating multiple PHI instructions
|
|
// Tests: Complex PHI detection, nested block analysis, mixed if/loop patterns
|
|
|
|
box Main {
|
|
main() {
|
|
local i = 0
|
|
local sum = 0
|
|
|
|
loop(i < 10) {
|
|
if i % 2 == 0 {
|
|
sum = sum + i
|
|
} else {
|
|
sum = sum - i
|
|
}
|
|
i = i + 1
|
|
}
|
|
|
|
print(sum)
|
|
}
|
|
}
|