Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
每个浏览器如何公开JavaScript的中间表示?_Javascript_Compiler Construction_Interpreter - Fatal编程技术网

每个浏览器如何公开JavaScript的中间表示?

每个浏览器如何公开JavaScript的中间表示?,javascript,compiler-construction,interpreter,Javascript,Compiler Construction,Interpreter,问题: 我听说人们交替使用术语动态编译和解释。这不是一个关于语义的问题 显然,当代码到达处理器时,它是以某种二进制形式出现的 我如何看待中间表征 例如,使用编译器选项查看汇编中的C代码非常容易 有没有类似的方法可以用JavaScript实现这一点?我不确定中间表示将被称为什么,但这里有一些一般参考 研究 口译员() 动态编译() 汇编() 澄清: 这个问题与缩小无关。看看Vyacheslav Egorov的JSConf是否能让你更接近你所需要的。如果你自己编译d8外壳来构建V8,你可以运行d

问题:

我听说人们交替使用术语动态编译和解释。这不是一个关于语义的问题

显然,当代码到达处理器时,它是以某种二进制形式出现的

我如何看待中间表征

例如,使用编译器选项查看汇编中的C代码非常容易

有没有类似的方法可以用JavaScript实现这一点?我不确定中间表示将被称为什么,但这里有一些一般参考

研究

  • 口译员()

  • 动态编译()

  • 汇编()

澄清:


这个问题与缩小无关。

看看Vyacheslav Egorov的JSConf是否能让你更接近你所需要的。

如果你自己编译d8外壳来构建V8,你可以运行
d8--print_code
d8--print_opt_code
。您可能想将这些数据输出到一个文件中。

如果我可能会问,您为什么想找到这样做的方法?那么,您的意思是优化?对于V8,您可以运行
d8--print\u code
d8--print\u opt\u code
没有一个标准,公认的JavaScript内部表示,每个JS引擎都以自己的方式解释或编译JS。你最好选择一个好的JS引擎,比如Rhino,然后检查文档,看看它是否能做你想做的事情。@templatetypedef-这个评论对我来说似乎是一个答案:)