我在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