gpt4 book ai didi

lua - 为什么将Lua设计为生成中间操作码?

转载 作者:行者123 更新时间:2023-12-04 05:03:57 26 4
gpt4 key购买 nike

我在阅读Lua的源代码时,意外地发现它被实现为生成一些奇怪的指令(例如GETUPVAL,FORLOOP等),然后这些操作码由虚拟机执行。
这样做有什么好处(与基于AST的纯解释器相比)

谢谢。

最佳答案

使用虚拟机是一种古老的语言实现技术,至少可以追溯到UCSD Pascal,BCPL和Smalltalk。现在,大多数脚本语言都使用虚拟机。有些使用通用虚拟机。 Lua使用专用虚拟机来反射(reflect)语言的语义。因此,专门的操作码。 Lua通过将版本5.0移至基于寄存器的虚拟机,而不是传统的基于堆栈的虚拟机,确实在这一领域引入了新颖性。

关于lua - 为什么将Lua设计为生成中间操作码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17930437/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com