我正在 XNA 中创建游戏,并且正在考虑创建自己的脚本语言(请注意非常简单)。我知道有更好的方法来解决这个问题(而且我正在重新发明轮子),但我想要的学习体验不仅仅是高效和快速。
在运行时遇到代码时,据我了解,通常的方法是解析成机器码或字节码或其他实际可执行的东西,然后执行,对吧?但是,例如,当 Chrome 刚推出时,他们说他们的 JavaScript 引擎速度很快,因为它将 JavaScript 编译成机器代码。这意味着其他引擎没有编译成机器代码。
我宁愿不编译为低级语言,那么是否有任何已知的现代技术可以在不编译为低级的情况下解析和执行代码?也许像将代码解析成某种树,在树中分支,比较每个符号并调用一些处理该符号的函数?(在黑暗中疯狂的猜测和刺伤)