我在XNA中创建了一款游戏,并且正在考虑创建自己的脚本语言(非常简单)。我知道有更好的方法可以解决这个问题(而且我正在重新发明轮子),但是我希望学习体验不仅要高效而且快速。了解运行时间代码的解释和执行
在运行时遇到代码时,根据我的理解,通常的方法是解析机器代码或字节代码或其他实际可执行的代码,然后执行该代码,对吧?但是,例如,当Chrome第一次出现时,他们说他们的JavaScript引擎速度很快,因为它将JavaScript编译为机器代码。这意味着其他引擎不会编译成机器代码。
我宁愿不编译成较低的语言,所以有没有已知的现代技术解析和执行代码而不编译到低级别?也许就像将代码解析成某种树,分支树一样,比较每个符号并调用一些处理该符号的函数? (在黑暗中猜测和刺穿)
处理器只能理解机器语言...所以,如果你不被编译成机器语言,别的东西将不得不这样做,要不然也不会运行到我的知识。 – 2010-03-10 23:52:18
@Tony怎么做翻译的工作呢? – Earlz 2010-03-11 00:00:59
你说:“他们说,他们的JavaScript引擎是快的,因为它编译的JavaScript成机器代码” 高德纳说:“过早的优化是所有罪恶的根源。” 你似乎是优化你的脚本语言,你发明了它。 ;) – msw 2010-03-11 00:02:28