4IFS2-COMP-PLD/compiler/CodeGenVisitor.cpp
Clément Grennerat 5dbf58b460 Initial commit
2026-03-02 08:37:40 +01:00

29 lines
572 B
C++

#include "CodeGenVisitor.h"
antlrcpp::Any CodeGenVisitor::visitProg(ifccParser::ProgContext *ctx)
{
#ifdef __APPLE__
std::cout<< ".globl _main\n" ;
std::cout<< " _main: \n" ;
#else
std::cout<< ".globl main\n" ;
std::cout<< " main: \n" ;
#endif
this->visit( ctx->return_stmt() );
std::cout << " ret\n";
return 0;
}
antlrcpp::Any CodeGenVisitor::visitReturn_stmt(ifccParser::Return_stmtContext *ctx)
{
int retval = stoi(ctx->CONST()->getText());
std::cout << " movl $"<<retval<<", %eax\n" ;
return 0;
}