Files
hakorune/examples/aot_py_eval_env_min.nyash
Moe Charm db265d7f29 🐍 Python統合をAOTレベルまで完成(eval方式でunsupported=0達成)
- PyRuntimeBox.eval() で完全AOT対応(FloatBox返却)
- NYASH_PY_AUTODECODE=1 によるプリミティブ型自動変換
- ConsoleBox経由の出力もAOT対応
- 多数のPythonテストサンプル追加
- 論文「1ヶ月でインタープリターからネイティブまで」執筆開始

課題:
- import/getattr/callはプラグイン側の実装待ち
- importとevalの文脈共有は未対応

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-30 07:47:21 +09:00

20 lines
621 B
Plaintext

// Minimal AOT Python demo: uses env to avoid string args
// @env NYASH_PLUGIN_ONLY=1
// Notes:
// - PyRuntimeBox.eval() with zero args reads NYASH_PY_EVAL_CODE on the host side.
// - Avoids StringBox and println to minimize unsupported JIT lowerings.
// - Build AOT:
// bash tools/build_python_aot.sh examples/aot_py_eval_env_min.nyash -o app
// - Run:
// NYASH_PY_EVAL_CODE="(__import__('math').sqrt)(9)" ./app
static box Main {
main() {
local py, _
py = new PyRuntimeBox()
_ = py.eval() // no args; plugin reads NYASH_PY_EVAL_CODE
return 0 // keep return simple for AOT strict
}
}