progs/compile.scala
changeset 695 484b74bc057e
parent 690 8d57433c7b5e
child 716 df7d47a507f8
equal deleted inserted replaced
694:b6ed836ce59b 695:484b74bc057e
    26 case object False extends BExp
    26 case object False extends BExp
    27 case class Bop(o: String, a1: AExp, a2: AExp) extends BExp
    27 case class Bop(o: String, a1: AExp, a2: AExp) extends BExp
    28 
    28 
    29 
    29 
    30 // compiler headers needed for the JVM
    30 // compiler headers needed for the JVM
    31 // (contains an init method, as well as methods for read and write)
    31 // (contains methods for read and write)
    32 val beginning = """
    32 val beginning = """
    33 .class public XXX.XXX
    33 .class public XXX.XXX
    34 .super java/lang/Object
    34 .super java/lang/Object
    35 
       
    36 .method public <init>()V
       
    37    aload_0
       
    38    invokenonvirtual java/lang/Object/<init>()V
       
    39    return
       
    40 .end method
       
    41 
    35 
    42 .method public static write(I)V 
    36 .method public static write(I)V 
    43     .limit locals 1 
    37     .limit locals 1 
    44     .limit stack 2 
    38     .limit stack 2 
    45     getstatic java/lang/System/out Ljava/io/PrintStream; 
    39     getstatic java/lang/System/out Ljava/io/PrintStream;