#pragma once #include #include #include #include "sem/Sema.h" class SymbolTable { public: void EnterScope(); void ExitScope(); bool Declare(const std::string& name, const SymbolInfo* symbol); const SymbolInfo* Lookup(const std::string& name) const; const SymbolInfo* LookupCurrent(const std::string& name) const; private: std::vector> scopes_; };