Files
hakorune/docs/papers/active/paper-d-jit-to-exe/implementation-schedule.md
Moe Charm 4e824fa00e Phase 12.7文法改革: ドキュメント文法統一 + VMリファクタリング準備
🌟 Phase 12.7文法改革に基づくドキュメント更新
- init {} → field: TypeBox 個別フィールド宣言形式
- init() → birth() コンストラクタ統一
- pack() → 廃止(birth()に統一)
- public {}/private {} → 個別フィールド修飾子
- override → 廃止(メソッド定義はシンプルに)

📚 更新したドキュメント
- CLAUDE.md: メイン開発ガイド
- docs/quick-reference/syntax-cheatsheet.md: 構文早見表
- docs/reference/language/LANGUAGE_REFERENCE_2025.md: 言語リファレンス
- docs/development/roadmap/phases/phase-15/README.md: Phase 15計画

🔧 VMリファクタリング準備
- vm_methods.rs: VMメソッド呼び出しの分離
- plugin_loader.rs → plugin_loader/: ディレクトリ構造化
- mir/builder/exprs.rs: 式ビルダー分離

📝 新規ドキュメント追加
- 論文戦略・ロードマップ
- Phase 15セルフホスティング準備資料
- Codex Androidセットアップガイド

ビルドは正常に通ることを確認済み!🎉

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-04 06:27:39 +09:00

120 lines
3.4 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.

# 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月)
- システム寄りだが可能性あり
- 性能面を強調
### 差別化ポイント
- **極小IR13命令**: 前代未聞のシンプルさ
- **完全自立**: 外部ツールチェーン不要
- **実証済み**: 自己ホスティング成功
- **実用性**: 実際のアプリケーションで検証
## 🚀 実装開始チェックリスト
### 環境準備
- [ ] Cranelift最新版の調査
- [ ] lldのビルド方法確認
- [ ] Windows/Linux両環境準備
### コード準備
- [ ] MIRCranelift変換の設計
- [ ] C ABIヘッダー作成
- [ ] テストケース整理
### ドキュメント準備
- [ ] API仕様書
- [ ] ビルド手順書
- [ ] トラブルシューティング
---
**次のステップ**: ChatGPT5のリファクタリング完了を待ちながらCranelift APIの学習とプロトタイプ作成を開始