17#include <gyoji-misc/pointers.hpp>
18#include <gyoji-mir/types.hpp>
41 SYMBOL_STATIC_FUNCTION,
43 SYMBOL_MEMBER_DESTRUCTOR
72 SymbolType get_type()
const;
119 Symbol::SymbolType _sym_type,
120 const Type *symbol_type);
136 void dump(FILE *out)
const;
A symbol defined globally inside a namespace.
Definition symbols.hpp:38
~Symbol()
Move along, nothing to see here.
Definition symbols.cpp:28
std::string get_name() const
Definition symbols.cpp:32
const Type * get_mir_type() const
Definition symbols.cpp:36
Symbol table for the intermediate representation (MIR)
Definition symbols.hpp:94
void define_symbol(std::string name, Symbol::SymbolType _sym_type, const Type *symbol_type)
Create a new global symbol.
Definition symbols.cpp:51
const Symbol * get_symbol(std::string name) const
Look up a symbol by name.
Definition symbols.cpp:89
Symbols()
Definition symbols.cpp:44
void dump(FILE *out) const
Definition symbols.cpp:64
~Symbols()
Move along, nothing to see here.
Definition symbols.cpp:47
This represents a type as declared in a translation unit.
Definition types.hpp:313
Middle intermediate representation (MIR) of a translation unit.
Definition gyoji-mir.hpp:51