Codegen binops, kind-of

This commit is contained in:
Sofia 2026-04-09 17:17:57 +03:00
parent 78816dff10
commit a6939784f8

View File

@ -23,8 +23,15 @@ namespace AST {
} }
llvm::Value* BinaryOperationExpression::codegen(codegen::Builder& builder, codegen::Scope& scope) { llvm::Value* BinaryOperationExpression::codegen(codegen::Builder& builder, codegen::Scope& scope) {
auto ty = builder.builder->getInt32Ty(); auto lhs = this->m_lhs->codegen(builder, scope);
return llvm::ConstantInt::get(ty, 0); auto rhs = this->m_rhs->codegen(builder, scope);
switch (this->m_binop) {
case BinOp::Assignment:
builder.builder->CreateStore(rhs, lhs, false);
return lhs;
default:
throw std::runtime_error("invalid binop");
}
} }
void ReturnStatement::codegen(codegen::Builder& builder, codegen::Scope& scope) { void ReturnStatement::codegen(codegen::Builder& builder, codegen::Scope& scope) {