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

3.4 KiB
Raw Blame History

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

# 最小動作確認
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両環境準備

コード準備

  • MIR→Cranelift変換の設計
  • C ABIヘッダー作成
  • テストケース整理

ドキュメント準備

  • API仕様書
  • ビルド手順書
  • トラブルシューティング

次のステップ: ChatGPT5のリファクタリング完了を待ちながら、Cranelift APIの学習とプロトタイプ作成を開始