Files
hakorune/examples/test_python_parser.nyash
Moe Charm c13d9c045e 📚 Phase 12: Nyashスクリプトプラグインシステム設計と埋め込みVM構想
## 主な成果
- Nyashスクリプトでプラグイン作成可能という革命的発見
- C ABI制約の分析と埋め込みVMによる解決策
- MIR/VM/JIT層での箱引数サポートの詳細分析

## ドキュメント作成
- Phase 12基本構想(README.md)
- Gemini/Codex先生の技術分析
- C ABIとの整合性問題と解決策
- 埋め込みVM実装ロードマップ
- 箱引数サポートの技術詳細

## 重要な洞察
- 制約は「リンク時にC ABI必要」のみ
- 埋め込みVMでMIRバイトコード実行により解決可能
- Nyashスクリプト→C ABIプラグイン変換が実現可能

Everything is Box → Everything is Plugin → Everything is Possible!
2025-08-30 22:52:16 +09:00

42 lines
1.5 KiB
Plaintext

// Test Python Parser Plugin
// 環境変数 NYASH_PY_CODE からPythonコードを読み取ってパース
static box Main {
main() {
local console = new ConsoleBox()
// 環境変数からPythonコードを取得
local env_code = ConsoleBox.getEnv("NYASH_PY_CODE")
if env_code == null {
console.log("Usage: NYASH_PY_CODE='def main(): return 0' nyash test_python_parser.nyash")
return 1
}
console.log("=== Python Code ===")
console.log(env_code)
console.log("")
// パーサープラグインを読み込み(仮想的に)
// 実際にはプラグインローダー経由で呼び出す必要がある
console.log("=== Parse Result ===")
console.log("(Parser plugin integration pending)")
// 期待される出力形式を表示
console.log("")
console.log("Expected output format:")
console.log("{")
console.log(' "success": true,')
console.log(' "dump": "Module(body=[FunctionDef(...)])",')
console.log(' "counts": {')
console.log(' "total_nodes": 5,')
console.log(' "functions": 1,')
console.log(' "classes": 0,')
console.log(' "supported": 1,')
console.log(' "unsupported": 0')
console.log(' },')
console.log(' "unsupported": []')
console.log("}")
return 0
}
}