#pragma once #include #include #include #include #include #include struct llvm_state { llvm::LLVMContext ctx; llvm::IRBuilder<> builder; llvm::Module module; std::map functions; std::map struct_types; llvm::StructType* stack_type; llvm::PointerType* node_ptr_type; llvm::IntegerType* tag_type; llvm_state() : builder(ctx), module("bloglang", ctx) { create_types(); create_functions(); } void create_types(); void create_functions(); };