Files
hakorune/docs/development/roadmap/phases/phase-15.5/README.md
Selfhosting Dev 07f96ab4fb feat: Phase 15.5 Week 1完了!llvmlite革命&環境変数完全整理
 llvmlite統一Call基盤革命達成
- mir_call.py: delegate→真の統一実装(6種Callee完全対応)
- Global/Method/Constructor/Closure/Value/Extern統一処理
- 実際のLLVMハーネス動作確認(モックルート完全回避)

 環境変数体系完全整理
- CLAUDE.md: モックルート回避設定完全文書化
- 複雑な環境変数組み合わせの成功パターン確立

 Phase 15.5ドキュメント体系確立
- 実装状況追跡システム構築
- Week 1→2移行準備完了

🎯 Week 2開始準備: JSON出力統一→mir_json_emit.rs実装へ

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-24 02:13:43 +09:00

102 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Phase 15.5: JSON v0中心化・統一Call基盤革命
**セルフホスティング前の基盤アーキテクチャ大改革**
## 🎯 概要
Phase 15セルフホスティングの前段階として、Nyashの実行基盤を根本的に見直し、将来のRust離脱・多言語実装を見据えた堅牢な基盤を構築する。
### 🔥 核心目標 - 3つの統一革命
1. **🏗️ MIR命令生成統一** - Builder側でemit_unified_call()統一
2. **⚙️ Callee処理統一** - 全実行器で6種類Callee対応
3. **📋 JSON出力統一** - 統一Call形式での交換フォーマット確立
**最終目標**: 4実行器 × 3統一 = **完全統一Call基盤**でセルフホスティング成功
## 🚨 なぜPhase 15.5が必要か
### 現在の問題
- **言語依存**: Rust MIRに過度に依存
- **実行器分散**: 4つの実行器でCall処理がバラバラ
- **JSON混在**: 入力用v0と出力用が統一されていない
- **将来リスク**: Rust離脱時に全面書き直しが必要
### ChatGPT戦略提案の核心
> "MIR型正、JSON境界" の役割分担を保ちつつ、段階的にJSON v0中心化へ移行
## 📋 Phase構成
### [Phase A: JSON出力統一](./migration-phases.md#📋-phase-a-json出力統一今すぐ実装)
- `mir_json_emit`で統一Call対応
- `json_out:v1`スキーマ導入
- 後方互換性維持
### [Phase B: JSON中心化移行](./migration-phases.md#📋-phase-b-json中心化移行次段階)
- MIR ModuleをJSON v0ラッパー化
- HIR/名前解決情報のJSON化
- 型安全性維持
### [Phase C: 完全JSON化](./migration-phases.md#📋-phase-c-完全json化最終段階)
- Rust MIR廃止準備
- プリンター等もJSON経由
- 多言語実装基盤完成
## 🔗 関連ドキュメント
### 📊 現在の進捗
- **[実装状況追跡](./implementation-status.md)** - リアルタイム進捗管理
- **[段階移行計画](./migration-phases.md)** - 詳細実装ロードマップ
### 🛡️ 戦略・設計
- **[JSON v0中心化戦略](./json-v0-centralization.md)** - アーキテクチャ設計の核心
- **[リスク分析と対策](./risk-analysis.md)** - 潜在的リスクと軽減戦略
### 既存Phase連携
- [Phase 15: セルフホスティング](../phase-15/README.md)
- [MIR Call統一マスタープラン](../phase-15/mir-call-unification-master-plan.md)
## 📊 Phase 15との関係
```
Phase 15.5 (基盤革命) → Phase 15 (セルフホスティング)
↓ ↓
JSON v0基盤確立 Rust→Nyash移行
統一Call完成 80k→20k行削減
```
Phase 15.5は**Phase 15成功の前提条件**である。
## 🎯 成功定義
### Phase A完了条件 - 修正版
- [ ] **MIR Builder**: emit_unified_call()で全Call生成 ✅
- [ ] **VM実行器**: Callee処理完全対応 ✅
- [ ] **Python LLVM**: llvmlite内部Callee統一 🔄 **要対応**
- [ ] **JSON出力**: 統一Call v1形式 ⏳
- [ ] **環境変数**: NYASH_MIR_UNIFIED_CALL=1で全統一 🔄
### Phase B完了条件
- [ ] JSON→MIRリーダーの薄化
- [ ] HIR情報のJSON化
- [ ] 型安全性とパフォーマンス維持
### Phase C完了条件
- [ ] MIR Module廃止準備完了
- [ ] 多言語実装の技術実証
- [ ] セルフホスティング基盤完成
## ⚠️ 重要注意事項
### 急がない原則
- **一気にJSON化しない** - 型喪失・性能劣化のリスク
- **既存機能を壊さない** - 段階移行で安全性確保
- **テスト駆動** - 各段階で完全な動作確認
### 撤退戦略
各Phaseで前段階に戻れる設計を維持する。
---
**更新**: 2025-09-24
**責任者**: Claude Code + ChatGPT戦略
**関連Issue**: Phase 15セルフホスティング前提条件