#ifndef CODEGEN_H #define CODEGEN_H #include #include #include #include #include "builder.h" #include "types.h" #include "binops.h" #include "casting.h" #include "tokens.h" namespace codegen { struct StackValue { llvm::Value* value = nullptr; std::shared_ptr ty = nullptr; }; struct Scope { std::vector& binops; std::vector& casts; std::map values; bool is_lvalue; Scope with_lvalue(); }; } #endif