#ifndef fk_SYMTABLE_HPP #define fk_SYMTABLE_HPP #include "commons.hpp" #include "SymEntry.hpp" namespace fk { FK_ERROR(symbol_error); class SymTable { public: explicit SymTable(); virtual ~SymTable(); void declare_local(std::string const& name, addr_t addr, Loc const& loc); void declare_global(std::string const& name, addr_t addr, Loc const& loc); std::optional find(std::string const& name); std::string string() const; private: std::vector m_entries; }; } #endif