#pragma once #include "AST/ASTNode.h" #include "llvm/ADT/APFloat.h" #include "llvm/IR/IRBuilder.h" #include "llvm/IR/LLVMContext.h" #include "llvm/IR/Module.h" class ASTNode; class IRBuilder { std::unique_ptr context; std::unique_ptr> builder; std::unique_ptr module; public: IRBuilder(); void create_main_function(std::shared_ptr expression); llvm::IRBuilder<>* getBuilder(); std::string getGeneratedIR(); };