Files
hakorune/docs/development/roadmap/phases/phase-10.5/10.1e_transpiler
Moe Charm 6fdc52457e Phase番号再編成: プラグインBox統一化を10.1に昇格
- 革新的発見: 既存プラグインシステム(C ABI)でJIT→EXE実現可能
- Phase 10.1: プラグインBox統一化(新規)
- Phase 10.5: Python統合(旧10.1を移動)
- CURRENT_TASKを更新して新計画を反映

Everything is Box → Everything is Plugin への進化
2025-08-29 03:32:50 +09:00
..

Phase 10.1e - Python → Nyashトランスパイラー

🎯 このフェーズの目的

Python ASTをNyashソースコードとして出力する機能を実装する。

📁 実装ドキュメント

  • python_to_nyash_transpiler.txt - トランスパイラー設計

🔧 実装機能

1. AST → Nyashソース生成

impl PythonParserBox {
    pub fn to_nyash_source(&self, python_code: &str) -> Result<String, String> {
        // Python → JSON AST → Nyash AST → Nyashソース
    }
}

2. 変換例

# Python入力
def add(x, y):
    return x + y

result = add(10, 5)
# Nyash出力
function add(x, y) {
    return x + y
}

local result
result = add(10, 5)

3. 出力フォーマッター

  • インデント管理
  • 括弧の追加Nyashは明示的
  • コメント保持(可能な範囲で)

🛠️ コマンドラインツール

# 基本変換
nyash-transpile input.py -o output.nyash

# 変換統計付き
nyash-transpile --stats complex.py
# Output: Converted 15/17 functions (88%)

# 部分変換(サポート関数のみ)
nyash-transpile --partial script.py

完了条件

  • to_nyash_source() メソッドが動作する
  • 基本的なPythonコードが正しいNyashに変換される
  • インデントが正しく管理される
  • 変換統計が表示される
  • ファイル出力ができる

🌟 期待される利用シーン

  1. 学習ツール - PythonユーザーがNyash構文を学ぶ
  2. 段階的移行 - 既存Pythonコードの移行
  3. 性能最適化 - ホットパスをNyashネイティブに

⏭️ 次のフェーズ

→ Phase 10.1f (テストとベンチマーク)