30 lines
734 B
C++
30 lines
734 B
C++
#include "IR.h"
|
|
#include <any>
|
|
#include <memory>
|
|
using namespace std;
|
|
#include "SysYIRGenerator.h"
|
|
|
|
namespace sysy {
|
|
|
|
any SysYIRGenerator::visitCompUnit(SysYParser::CompUnitContext *ctx) {
|
|
// create the IR module
|
|
auto pModule = new Module();
|
|
assert(pModule);
|
|
module.reset(pModule);
|
|
// generates globals and functions
|
|
visitChildren(ctx);
|
|
// return the IR module
|
|
return pModule;
|
|
}
|
|
std::any
|
|
SysYIRGenerator::visitFuncRParams(SysYParser::FuncRParamsContext *ctx) {
|
|
return visitChildren(ctx);
|
|
}
|
|
std::any SysYIRGenerator::visitNumber(SysYParser::NumberContext *ctx) {
|
|
return visitChildren(ctx);
|
|
}
|
|
std::any SysYIRGenerator::visitString(SysYParser::StringContext *ctx) {
|
|
return visitChildren(ctx);
|
|
}
|
|
|
|
} // namespace sysy
|