У меня есть некоторый код, доступный в некоторой форме AST, и я хотел бы выполнить его.
Я могу придумать несколько способов сделать это, например:
- Просто прямо- Вперед истолковать его.
- Перевести его на Python AST (модуль
ast
) и - Python-
compile
that или - Python-
eval
that.
- Переведите его в исходный код Python (например, чистую строку) и
- Python-
compile
that или - Python-
eval
- Переведите его в некую форму низкоуровневого кода и напишите простую виртуальную машину на Python, которая ее запускает.
Полагаю, я бы постилсявыполнение путем перевода его в Python AST, compile
, и запустить его.Особеннопри использовании PyPy я могу даже получить улучшения за счет оптимизации компиляции JIT PyPys (надеюсь, да?).
Можете ли вы вспомнить другие возможности?Можете ли вы дать предложения о том, что может быть лучшим способом?