# JIT→EXE実装スケジュール ## 📅 全体スケジュール(6週間) ### Week 0: 準備期間(リファクタリング待ち) - ChatGPT5のリファクタリング完了待機 - Cranelift/lld調査・準備 - テスト環境構築 ### Week 1-2: 基礎実装 - [ ] C ABIファサード実装(`ny_mir_to_obj`) - [ ] Cranelift統合(基本的なMIR→CLIF変換) - [ ] 簡単なプログラムでの動作確認 ### Week 3: リンカー統合 - [ ] lld内蔵実装 - [ ] プラットフォーム別リンカーラッパー - [ ] nyashrtランタイム作成 ### Week 4: 最適化・改善 - [ ] プロファイルベースJIT判定 - [ ] オブジェクトファイルキャッシュ - [ ] エラーハンドリング改善 ### Week 5: 評価・ベンチマーク - [ ] 性能測定スイート作成 - [ ] 他言語との比較 - [ ] ボトルネック分析 ### Week 6: 論文執筆 - [ ] データ整理・グラフ作成 - [ ] 各セクション執筆 - [ ] レビュー・推敲 ## 🔧 技術的マイルストーン ### Phase 1: Minimum Viable Compiler ```bash # 最小動作確認 echo 'box Main { main() { print("Hello from EXE!") } }' > test.ny nyash build test.ny --backend=cranelift ./test.exe # or ./test on Linux ``` ### Phase 2: Real-World Programs - サイコロRPGのEXE化 - 統計計算ツールのスタンドアロン化 - ベンチマークプログラムの移植 ### Phase 3: Self-Hosting Preparation - Nyashコンパイラ自身のAOTコンパイル - ブートストラップテスト - 配布パッケージ作成 ## 📊 成功指標 ### 技術的指標 - [ ] Hello WorldがEXE化できる - [ ] 全スモークテストがAOTで通る - [ ] JIT性能の90%以上を達成 - [ ] バイナリサイズ < 5MB ### 論文的指標 - [ ] 13命令での完全性証明 - [ ] 性能評価データ収集完了 - [ ] 関連研究との差別化明確 - [ ] 実装の再現可能性確保 ## 🎯 リスクと対策 ### リスク1: Cranelift API変更 - **対策**: バージョン固定、抽象化層 ### リスク2: プラットフォーム依存 - **対策**: CI/CDでの継続的テスト ### リスク3: 性能目標未達 - **対策**: プロファイリング、段階的最適化 ## 💡 論文投稿戦略 ### 投稿先優先順位 1. **PLDI 2026** (締切: 2025年11月) - プログラミング言語の最高峰 - JIT/AOT統合は完璧にマッチ 2. **CC 2026** (締切: 2025年10月) - コンパイラ専門会議 - 技術的深さを評価 3. **ASPLOS 2026** (締切: 2025年8月) - システム寄りだが可能性あり - 性能面を強調 ### 差別化ポイント - **極小IR(13命令)**: 前代未聞のシンプルさ - **完全自立**: 外部ツールチェーン不要 - **実証済み**: 自己ホスティング成功 - **実用性**: 実際のアプリケーションで検証 ## 🚀 実装開始チェックリスト ### 環境準備 - [ ] Cranelift最新版の調査 - [ ] lldのビルド方法確認 - [ ] Windows/Linux両環境準備 ### コード準備 - [ ] MIR→Cranelift変換の設計 - [ ] C ABIヘッダー作成 - [ ] テストケース整理 ### ドキュメント準備 - [ ] API仕様書 - [ ] ビルド手順書 - [ ] トラブルシューティング --- **次のステップ**: ChatGPT5のリファクタリング完了を待ちながら、Cranelift APIの学習とプロトタイプ作成を開始!