1

我正在阅读 Joshua Engel 的 Java 虚拟机编程,并尝试输入书中的一个示例。我知道这本书使用了乌龙,而我使用的是 Jasmin,但是对于这样一个简单的示例,并且由于 Oolong 和 Jasmin 的语法非常相似,我不明白为什么这不起作用。作为旁注,我无法找到有关 Oolong 和 Jasmin 之间语法差异的任何信息。谁能指出我这样的资源?

这是代码,与书中的完全一样:

.class Test
.method static run()I
    bipush 9
    bipush 6
    imul

    ireturn
.end method

当我对此运行 Jasmin 时,出现以下错误:

Test.j:2: Warning - Syntax error.
.method
        ^
Test.j:2: Error - Couldn't repair and continue parse.
.method 
        ^

那么我做错了什么?

4

1 回答 1

2

Jasmin 需要.super关键字 after .class

以下代码应该可以正常编译:

.class Test
.super java/lang/Object
.method static run()I
    bipush 9
    bipush 6
    imul

    ireturn
.end method
于 2019-10-18T23:13:29.223 回答