Files
hakorune/src/llvm_py
Selfhosting Dev d90216e9c4 📚 Phase 15 - セルフホスティング戦略の明確化とEXE-first実装
## 主な変更点

### 🎯 戦略の転換と明確化
- PyVMを開発ツールとして位置づけ(本番経路ではない)
- EXE-first戦略を明確に優先(build_compiler_exe.sh実装済み)
- Phase順序の整理: 15.2(LLVM)→15.3(コンパイラ)→15.4(VM)

### 🚀 セルフホスティング基盤の実装
- apps/selfhost-compiler/にNyashコンパイラMVP実装
  - compiler.nyash: メインエントリー(位置引数対応)
  - boxes/: parser_box, emitter_box, debug_box分離
- tools/build_compiler_exe.sh: ネイティブEXEビルド+dist配布
- Python MVPパーサーStage-2完成(local/if/loop/call/method/new)

### 📝 ドキュメント整備
- Phase 15 README/ROADMAP更新(Self-Hosting優先明記)
- docs/guides/exe-first-wsl.md: WSLクイックスタート追加
- docs/private/papers/: 論文G~L、爆速事件簿41事例収録

### 🔧 技術的改善
- JSON v0 Bridge: If/Loop PHI生成実装(ChatGPT協力)
- PyVM/llvmliteパリティ検証スイート追加
- using/namespace機能(gated実装、Phase 15では非解決)

## 次のステップ
1. パーサー無限ループ修正(未実装関数の実装)
2. EXEビルドとセルフホスティング実証
3. c0→c1→c1'ブートストラップループ確立

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-15 18:44:49 +09:00
..

LLVM Python Backend (Experimental)

📝 概要

Rust/inkwellの複雑性を回避し、llvmliteを使ってシンプルに実装する実験的バックエンド。 ChatGPTが設計したdocs/LLVM_LAYER_OVERVIEW.mdの設計原則に従う。

🎯 目的

  1. 検証ハーネス - PHI/SSA構造の高速検証
  2. プロトタイプ - 新機能の迅速な試作
  3. 教育的価値 - シンプルで理解しやすい実装
  4. バックアップ - Rustが詰まった時の代替案

📂 構造

llvm_py/
├── README.md          # このファイル
├── mir_reader.py      # MIR JSON読み込み
├── llvm_builder.py    # メインのLLVM IR生成
├── resolver.py        # Resolver APIPython版
├── types.py          # 型変換ユーティリティ
└── test_simple.py    # 基本テスト

🚀 使い方

# MIR JSONからオブジェクトファイル生成
python src/llvm_py/llvm_builder.py input.mir.json -o output.o

# 環境変数で切り替え(将来)
NYASH_LLVM_USE_HARNESS=1 ./target/release/nyash program.nyash

📋 設計原則LLVM_LAYER_OVERVIEWに準拠

  1. Resolver-only reads - 直接vmapアクセス禁止
  2. Localize at block start - BB先頭でPHI生成
  3. Sealed SSA - snapshot経由の配線
  4. BuilderCursor相当 - 挿入位置の厳格管理

🎨 実装状況

  • 基本構造MIR読み込み
  • Core-14命令の実装
  • Resolver API
  • LoopForm対応
  • テストスイート

📊 予想行数

  • 全体: 800-1000行
  • コア実装: 300-400行

「簡単最高」の精神を体現!