我正在阅读Lua的源代码,令人惊讶地发现它的实现是为了生成一些奇怪的指令(例如GETUPVAL,FORLOOP等),然后这些操作码由虚拟机执行。与基于AST的纯解释器相比,这样做有什么好处?
谢谢。
由Lua的作者撰写的另一篇论文,The Implementation of Lua 5.0提供了许多有关实现的详细信息,第7章
虚拟机