hoolang/Visitor.hpp
2024-11-02 19:55:24 +05:30

24 lines
559 B
C++

#include "HooVisitor.h"
#include <string>
#include <memory>
#include <llvm/IR/LLVMContext.h>
#include <llvm/IR/Module.h>
#include <llvm/IR/IRBuilder.h>
class Visitor : public HooVisitor
{
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;
};