feat: implements binary operators in asmGenerator
Co-authored-by: Gleb Koval <gleb@koval.net> Co-authored-by: Barf-Vader <Barf-Vader@users.noreply.github.com>
This commit is contained in:
@@ -69,13 +69,15 @@ object microWacc {
|
||||
// Statements
|
||||
sealed trait Stmt
|
||||
|
||||
case class Builtin(val name: String)(retTy: SemType) extends CallTarget(retTy) {
|
||||
override def toString(): String = name
|
||||
}
|
||||
object Builtin {
|
||||
case object ReadInt extends CallTarget(KnownType.Int)
|
||||
case object ReadChar extends CallTarget(KnownType.Char)
|
||||
case object Print extends CallTarget(?)
|
||||
case object Println extends CallTarget(?)
|
||||
case object Exit extends CallTarget(?)
|
||||
case object Free extends CallTarget(?)
|
||||
object Read extends Builtin("read")(?)
|
||||
object Printf extends Builtin("printf")(?)
|
||||
object Exit extends Builtin("exit")(?)
|
||||
object Free extends Builtin("free")(?)
|
||||
object Malloc extends Builtin("malloc")(?)
|
||||
}
|
||||
|
||||
case class Assign(lhs: LValue, rhs: Expr) extends Stmt
|
||||
|
||||
Reference in New Issue
Block a user