最白目*_*最白目 17 javascript compiler-construction
我无法在网上找到W3C语言如何编译成机器代码的信息.我知道网络和处理器之间的差距必然是浏览器,但它是如何工作的,以及在处理器中执行Javascript之前的步骤是什么?
科学文件的链接也将受到高度赞赏.
T.J*_*der 21
这取决于实施; 规范是语言的完整描述以及它应该如何工作,实现可以以任何他们喜欢的方式自由地满足该实现.一些实现似乎(从外部)纯粹作为旧语义的解释器运行它; 其他人可能编译或不编译为字节码; V8编译为机器代码(两次,用于应用程序中的热点).
V8团队(V8是Chromium和Chrome中的JavaScript引擎)定期发布他们如何从V8中获得惊人速度的描述.您可以在项目网站和Chromium博客上找到一些内容.
当然,您也可以使用任何开源实现的代码.V8和SpiderMonkey(Mozilla的引擎)是我所知道的两个主要的开源源代码.
这可能会有所帮助:http ://www.ecma-international.org/publications/standards/Ecma-262.htm
没有关于如何翻译成字节码的规范(这取决于浏览器开发人员),但有关于语言应该如何表现的规范