构建另一种语言的解释器时,通常建议创建一个基于堆栈的虚拟机来解释实际解释器生成的字节码。因此,解释器将由两部分组成:翻译器将高级语言指令转换为虚拟机的字节码,而虚拟机本身则用于解释这些字节码。
我的问题是:是否存在解释语言的其他选择?例如,是否有可能(并且实际可行)跳过虚拟机,使用C函数实现所有指令?在某种程度上,我认为这应该是可能的,但对于更复杂的功能,您可能最终仍需要实现某种最小化的虚拟机。还有其他选择吗?
我的问题是:是否存在解释语言的其他选择?例如,是否有可能(并且实际可行)跳过虚拟机,使用C函数实现所有指令?在某种程度上,我认为这应该是可能的,但对于更复杂的功能,您可能最终仍需要实现某种最小化的虚拟机。还有其他选择吗?