🐍 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>
This commit is contained in:
17
examples/py_eval_env_demo.nyash
Normal file
17
examples/py_eval_env_demo.nyash
Normal file
@ -0,0 +1,17 @@
|
||||
// Python plugin demo via env-provided code (avoids StringBox arg path)
|
||||
// Build:
|
||||
// cargo build --release && (cd plugins/nyash-python-plugin && cargo build --release)
|
||||
// Run:
|
||||
// NYASH_PY_EVAL_CODE="'hello' * 3" ./target/release/nyash --backend vm examples/py_eval_env_demo.nyash
|
||||
|
||||
static box Main {
|
||||
main() {
|
||||
local py, obj
|
||||
py = new PyRuntimeBox()
|
||||
// Evaluate code from env var (NYASH_PY_EVAL_CODE)
|
||||
obj = py.eval()
|
||||
me.console.println(obj.str())
|
||||
return 0
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user