// 符号表:记录变量和常量定义。 #pragma once #include #include #include "SysYParser.h" class SymbolTable { public: void AddVar(const std::string& name, SysYParser::VarDefContext* decl); void AddConst(const std::string& name, SysYParser::ConstDefContext* decl); bool Contains(const std::string& name) const; SysYParser::VarDefContext* LookupVar(const std::string& name) const; SysYParser::ConstDefContext* LookupConst(const std::string& name) const; private: std::unordered_map var_table_; std::unordered_map const_table_; };