solution/cw5/fun_llvm.sc
changeset 868 8fb3b6d3be70
parent 867 54bcd848d716
equal deleted inserted replaced
867:54bcd848d716 868:8fb3b6d3be70
    61 type TyEnv = Map[String, Ty]
    61 type TyEnv = Map[String, Ty]
    62 
    62 
    63 case class KVar(s: String, ty: Ty = "UNDEF") extends KVal
    63 case class KVar(s: String, ty: Ty = "UNDEF") extends KVal
    64 case class KLoad(v: KVal) extends KVal
    64 case class KLoad(v: KVal) extends KVal
    65 case class KNum(i: Int) extends KVal
    65 case class KNum(i: Int) extends KVal
    66 case class KFNum(i: Float) extends KVal
    66 case class KFNum(i: Double) extends KVal
    67 case class KChr(c: Int) extends KVal
    67 case class KChr(c: Int) extends KVal
    68 case class Kop(o: String, v1: KVal, v2: KVal, ty: Ty = "UNDEF") extends KVal
    68 case class Kop(o: String, v1: KVal, v2: KVal, ty: Ty = "UNDEF") extends KVal
    69 case class KCall(o: String, vrs: List[KVal], ty: Ty = "UNDEF") extends KVal
    69 case class KCall(o: String, vrs: List[KVal], ty: Ty = "UNDEF") extends KVal
    70 
    70 
    71 case class KIf(x1: String, e1: KExp, e2: KExp) extends KExp {
    71 case class KIf(x1: String, e1: KExp, e2: KExp) extends KExp {