# Phase 10.7 - True Python Native via Plugin Boxes

## 🎯 概要

PythonコードをNyashで**本当にネイティブ実行**する。CPythonへの依存なしに、Pythonコードが完全にNyash MIR/JIT経由で機械語として実行される。

### 現状 vs 理想

**現状（Phase 10.6）**: PyRuntimeBox → libpython呼び出し
**理想（Phase 10.7）**: Python → Nyashスクリプト → MIR → ネイティブ

## 🏗️ アーキテクチャ：トランスパイル方式

```
Python AST → CorePy IR → Nyash AST → Nyashスクリプト
```

### なぜトランスパイル？

1. **透明性**: 生成コードが見える・デバッグできる・手を加えられる
2. **既存資産活用**: Nyashコンパイラの最適化を自動享受
3. **教育的価値**: PythonとNyashの対応が学習価値を持つ
4. **段階的改善**: 生成コードの品質を徐々に向上

### プラグインBox群

- **PythonParserBox**: Python → AST変換
- **PythonCompilerBox**: AST → Nyashスクリプト生成
- **py_runtime.ny**: Pythonセマンティクス保持ライブラリ

## ⚠️ All or Nothing設計（フォールバックなし）

**コンパイルできる or できない の2択のみ**

```nyash
compiler = new PythonCompilerBox()
result = compiler.compile(ast)

if result.isOk() {
    // 100%コンパイル成功 → ネイティブ実行
    print("Success! Native execution ready.")
} else {
    // 未対応機能あり → 完全拒否
    print("Cannot compile: " + result.getError())
    print("Use PyRuntimeBox instead.")
}
```

理由：開発時と本番時で挙動が変わるのは最悪の設計

## 📋 実装フェーズ

### Phase 10.7a - Parser Plugin（1週間）
- PythonParserBoxの実装
- Python AST → ASTBox変換
- テレメトリー基盤

### Phase 10.7b - Compiler Core（2週間）
**Phase 1機能（必須）**
- 関数定義、条件分岐、ループ
- 演算子、関数呼び出し
- Python固有：LEGB、デフォルト引数、for/else

### Phase 10.7c - Validation & Testing（1週間）
- コンパイル可能性の事前検証
- Differential testing（CPythonと比較）
- 明確なエラーメッセージ

### Phase 10.7d - Coverage拡大（3-4週間）
**Phase 2**: 例外処理、with文、comprehensions
**Phase 3**: async/await、デコレータ、ジェネレータ

## 🧪 py_runtime設計

```nyash
// Pythonセマンティクスを忠実に再現
box PyRuntime {
    py_truthy(x) {
        // Python的真偽値判定
        if x == null or x == false { return false }
        if x.hasMethod("__bool__") { return x.__bool__() }
        if x.hasMethod("__len__") { return x.__len__() != 0 }
        return true
    }
    
    py_getattr(obj, name) {
        // ディスクリプタプロトコル、MRO探索
    }
    
    py_call(f, args, kwargs) {
        // デフォルト引数、*args/**kwargs処理
    }
}
```

## 📊 成功指標

### Phase 1完了時
```
Compilable files: 15/100 (15%)
Performance (numeric): 10x faster than CPython
Correctness: 100% (differential testing)
```

### 最終目標（Phase 3）
```
Coverage: 95%+ of common patterns
Performance: 5-20x faster
Distribution: Single binary, no CPython
```

## 🚀 クイックスタート

```bash
# プラグイン作成
cd plugins/
cargo new nyash-python-parser-plugin --lib

# 最小実装
[dependencies]
pyo3 = { version = "0.22", features = ["auto-initialize"] }
nyash-plugin-sdk = { path = "../../crates/plugin-sdk" }

# テスト実行
cargo build --release
../../target/release/nyash test_parser.hako
```

## 💡 創造的可能性

### ハイブリッドプログラミング
```python
@nyash.vectorize  # PythonデコレータがNyashのSIMD生成！
def matrix_multiply(a, b):
    return a @ b
```

### 言語の共進化
- Nyashが「Pythonで最も使われるイディオム」から学習
- Pythonに「Nyash-aware」コーディングスタイル誕生

### 教育的インパクト
左にPython、右にリアルタイムNyash変換のPlayground

## 📚 参考資料

- **archive/gemini-analysis-transpile-beauty.md** - 創造性分析
- **archive/codex-analysis-technical-implementation.md** - 技術分析