我有一些以某种形式的 AST 可用的代码,我想执行它。
我可以想到几种方法来做到这一点,例如:
- 直接解释就行了。
- 将其翻译成 Python AST(
ast
模块)和- Python-
compile
那个或 - Python-
eval
那个。
- Python-
- 将其翻译成 Python 源代码(例如纯字符串)和
- Python-
compile
那个或 - Python-
eval
那个。
- Python-
- 将它翻译成某种形式的低级代码,然后用 Python 编写一个简单的 VM 来运行它。
我想我会通过将其转换为 Python ASTcompile
并运行它来获得快速执行。特别是。使用 PyPy 时,我什至可以通过 PyPys JIT 编译优化得到改进(我希望我这样做,是吗?)。
你能想到其他的可能性吗?你能就什么可能是最好的方法提出建议吗?