Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.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
字节码java虚拟机_Java_Jvm_Antlr_Bytecode - Fatal编程技术网

字节码java虚拟机

字节码java虚拟机,java,jvm,antlr,bytecode,Java,Jvm,Antlr,Bytecode,我们的项目是为我们的语法(miniJava)创建中间代码。 到目前为止,我们使用antlr为其构建了lexer和解析器。 现在对于中间代码,我们应该使用字节码。有人能帮我理解什么是字节码,我们应该怎么使用它吗? 我在网上搜索过,关于这个案子的资料不多 在文档中,字节码通常被描述为指令 第6章指定了Java虚拟机的指令集,以操作码助记符的字母顺序显示指令 Java虚拟机指令由指定要执行的操作的操作码组成,后跟零个或多个包含要操作的值的操作数。本章详细介绍了每个Java虚拟机指令的格式及其执行的操作

我们的项目是为我们的语法(miniJava)创建中间代码。 到目前为止,我们使用antlr为其构建了lexer和解析器。 现在对于中间代码,我们应该使用字节码。有人能帮我理解什么是字节码,我们应该怎么使用它吗? 我在网上搜索过,关于这个案子的资料不多

在文档中,字节码通常被描述为指令

第6章指定了Java虚拟机的指令集,以操作码助记符的字母顺序显示指令

Java虚拟机指令由指定要执行的操作的操作码组成,后跟零个或多个包含要操作的值的操作数。本章详细介绍了每个Java虚拟机指令的格式及其执行的操作

完整字节码列表:

单个字节码指令
在Prolog中表示为术语,其函子是指令的名称,参数是其解析的操作数

例如,aload指令表示为术语aload(N),其中包括作为指令操作数的索引N

其他资源
在文档中,字节码通常被描述为指令

第6章指定了Java虚拟机的指令集,以操作码助记符的字母顺序显示指令

Java虚拟机指令由指定要执行的操作的操作码组成,后跟零个或多个包含要操作的值的操作数。本章详细介绍了每个Java虚拟机指令的格式及其执行的操作

完整字节码列表:

单个字节码指令
在Prolog中表示为术语,其函子是指令的名称,参数是其解析的操作数

例如,aload指令表示为术语aload(N),其中包括作为指令操作数的索引N

其他资源
在文档中,字节码通常被描述为指令

第6章指定了Java虚拟机的指令集,以操作码助记符的字母顺序显示指令

Java虚拟机指令由指定要执行的操作的操作码组成,后跟零个或多个包含要操作的值的操作数。本章详细介绍了每个Java虚拟机指令的格式及其执行的操作

完整字节码列表:

单个字节码指令
在Prolog中表示为术语,其函子是指令的名称,参数是其解析的操作数

例如,aload指令表示为术语aload(N),其中包括作为指令操作数的索引N

其他资源
在文档中,字节码通常被描述为指令

第6章指定了Java虚拟机的指令集,以操作码助记符的字母顺序显示指令

Java虚拟机指令由指定要执行的操作的操作码组成,后跟零个或多个包含要操作的值的操作数。本章详细介绍了每个Java虚拟机指令的格式及其执行的操作

完整字节码列表:

单个字节码指令
在Prolog中表示为术语,其函子是指令的名称,参数是其解析的操作数

例如,aload指令表示为术语aload(N),其中包括作为指令操作数的索引N

其他资源


生成字节码是一件非常重要的事情。这是一个非常高级的话题。我建议您使用类似ASM的库来帮助您完成这项工作。即使字节码在您看来是正确的,也不意味着JVM会接受它。JVM规范是一个好去处。不过,它在某些地方相当丑陋,而且真正的JVM非常挑剔。你确定你应该使用JVM字节码方案,或者类似的方案吗?如果你确实以JVM为目标,请将你的类文件版本设置为50之前的版本,这样你就不必纠结于“堆栈映射”。是的,我们应该使用Jasmin为语法创建字节码tool@Peter我已经编写了直接生成类文件的工具,以及在十六进制编辑器中手工组装类的工具。没那么难。诚然,这可能超出了那些甚至找不到JVM规范的人的能力范围。生成字节码是一件非常重要的事情。这是一个非常高级的话题。我建议您使用类似ASM的库来帮助您完成这项工作。即使字节码在您看来是正确的,也不意味着JVM会接受它。JVM规范是一个好去处。不过,它在某些地方相当丑陋,而且真正的JVM非常挑剔。你确定你应该使用JVM字节码方案,或者类似的方案吗?如果你确实以JVM为目标,请将你的类文件版本设置为50之前的版本,这样你就不必纠结于“堆栈映射”。是的,我们应该使用Jasmin为语法创建字节码tool@Peter我已经编写了直接生成类文件的工具,以及在十六进制编辑器中手工组装类的工具。没那么难。不可否认,这可能超出了那些甚至找不到JVM规范的人的能力范围。生成字节码是一个不可接受的过程-