Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.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
Jvm Jasmin的烟尘版本无法组装Jasmin程序集文件_Jvm_Jasmin_Soot - Fatal编程技术网

Jvm Jasmin的烟尘版本无法组装Jasmin程序集文件

Jvm Jasmin的烟尘版本无法组装Jasmin程序集文件,jvm,jasmin,soot,Jvm,Jasmin,Soot,我有来自Jasmin SourceForge的Jasmin 2.4版本和来自sable.mcgill.ca烟尘项目的Jasmin 2.4版本,标记为jasminclasses,我需要的烟尘版本似乎工作不正常 我制作了一个简单的编译器,它最初编译为jasminjvmassembly,然后使用Jasmin组装成JVM类文件。我曾经使用来自Jasmin的SourceForge站点的正常版本的Jasmin,它工作得非常好;一切都已正确编译并运行。现在,我已经开始使用烟尘框架进行优化,只要我不尝试将优化后

我有来自Jasmin SourceForge的Jasmin 2.4版本和来自sable.mcgill.ca烟尘项目的Jasmin 2.4版本,标记为jasminclasses,我需要的烟尘版本似乎工作不正常

我制作了一个简单的编译器,它最初编译为jasminjvmassembly,然后使用Jasmin组装成JVM类文件。我曾经使用来自Jasmin的SourceForge站点的正常版本的Jasmin,它工作得非常好;一切都已正确编译并运行。现在,我已经开始使用烟尘框架进行优化,只要我不尝试将优化后的代码转换回类文件,所有这些都非常有效

因为我现在使用的是烟尘,所以我必须使用烟尘版本的Jasmin,它支持烟尘使用的JasminOutputStream。烟尘版本的Jasmin看起来似乎仍然能够以老式的方式处理Jasmin文件,读取.j文件而不是获取输入流,但是当我尝试在优化之前进行初始组装时,烟尘版本失败了

如果我这样做

java -cp jasmin.jar jasmin.Main MyClass.j
我得到生成的输出:MyClass.class如预期的那样

如果我这样做的话,JasminClass就是Jasmin的烟尘版本

java -cp jasminclasses-2.4.0.jar jasmin.Main MyClass.j
我得到输出

MyClass.j:5: Warning - Syntax error.
.field public n
                ^
MyClass.j:5: Error - Couldn't repair and continue parse.
.field public n
                ^
MyClass.j: Found 2 errors`
第五行刚刚结束 .外地公共图书馆 没有什么不正确的地方,如上所示,它可以与Jasmin的正常版本一起编译

为了完整起见,这里有更多关于这一点的代码:

.source MyClass.j
.class public MyClass
.super AnotherClass

.field public n I

.method public <init>()V
 aload_0
 invokenonvirtual AnotherClass/<init>()V
 return
.end method
那里的一切都很好,和普通的茉莉花搭配得很好

有人知道Jasmin的烟尘版本是否需要不同的语法吗?就像大多数关于烟灰和茉莉花的东西一样,网络上的内容一开始就不多,更不用说我在搜索什么了,所以我的谷歌搜索结果也不多

提前感谢您提供的任何帮助,我在这里真的很沮丧。我的下一步是调试烟尘的Jasmin软件包,看看它在做什么,为什么失败,但我希望我现在不必为了这个而走那么远