字节码编译器首先将源代码转换为VM汇编语言,然后再转换为VM字节码吗?
e.g
源代码->{ VM字节码编译器(lex,解析为AST) --> AST到VM程序集} --> VM汇编程序-> VM字节码
发布于 2013-10-15 12:33:43
似乎你对汇编语言有错误的印象。汇编语言主要是某种机器代码的人类可读的表示形式.对于编译器来说,创建要生成的代码的人类可读的中间表示没有好处。
对于Java来说,根本没有标准的程序集表示,尽管有一些处理伪Java程序集语言的工具看起来非常接近,因为它们都使用JVM规范中相同的众所周知的名称。因此,例如,您可以使用JDK附带的.class命令将所有javap文件转换为伪程序集源。但这并没有给工具、javac和其他编程语言编译器带来任何好处。
大多数编译器在编译时都有某种中间表示,但这不是汇编语言表示。
https://stackoverflow.com/questions/19318716
复制相似问题