- 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>
20 lines
621 B
Plaintext
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
|
|
}
|
|
}
|
|
|