hoolang/Visitor.hpp

26 lines
581 B
C++

#pragma once
#include "HooBaseVisitor.h"
#include <string>
#include <memory>
#include <llvm/IR/LLVMContext.h>
#include <llvm/IR/Module.h>
#include <llvm/IR/IRBuilder.h>
class Visitor : public HooBaseVisitor
{
private:
std::string &_moduleName;
std::shared_ptr<llvm::LLVMContext> _context;
std::shared_ptr<llvm::Module> _module;
std::shared_ptr<llvm::IRBuilder<>> _builder;
public:
Visitor(std::string &moduleName);
public:
std::any visitLiteral(HooParser::LiteralContext *ctx) override;
std::any visitUnit(HooParser::UnitContext *ctx) override;
};