如何将Javascript翻译为字节码?

最白目*_*最白目 17 javascript compiler-construction

我无法在网上找到W3C语言如何编译成机器代码的信息.我知道网络和处理器之间的差距必然是浏览器,但它是如何工作的,以及在处理器中执行Javascript之前的步骤是什么?

科学文件的链接也将受到高度赞赏.

T.J*_*der 21

这取决于实施; 规范是语言的完整描述以及它应该如何工作,实现可以以任何他们喜欢的方式自由地满足该实现.一些实现似乎(从外部)纯粹作为旧语义的解释器运行它; 其他人可能编译或不编译为字节码; V8编译为机器代码(两次,用于应用程序中的热点).

V8团队(V8是Chromium和Chrome中的JavaScript引擎)定期发布他们如何从V8中获得惊人速度的描述.您可以在项目网站Chromium博客上找到一些内容.

当然,您也可以使用任何开源实现的代码.V8和SpiderMonkey(Mozilla的引擎)是我所知道的两个主要的开源源代码.


tof*_*arr 5

这可能会有所帮助:http ://www.ecma-international.org/publications/standards/Ecma-262.htm

没有关于如何翻译成字节码的规范(这取决于浏览器开发人员),但有关于语言应该如何表现的规范

  • 实际上,JavaScript 是 ECMAScript 标准的实现:JavaScript 包含标准未定义的扩展。 (8认同)