#include "DeclarationVisitor.h" #include "generated/ifccParser.h" std::any DeclarationVisitor::visitProg(ifccParser::ProgContext *ctx) { symbolTable->addScope("main"); scopeStack.push_back("main"); this->visitChildren(ctx); scopeStack.pop_back(); return 0; } std::any DeclarationVisitor::visitStmt(ifccParser::StmtContext *ctx) { return this->visitChildren(ctx); } std::any DeclarationVisitor::visitDecl_stmt(ifccParser::Decl_stmtContext *ctx) { std::vector vars = ctx->VAR_NAME(); for (auto var : vars) { std::string name = var->getText(); symbolTable->declare(currentScope(), name); } return 0; } std::any DeclarationVisitor::visitSet_stmt(ifccParser::Set_stmtContext *ctx) { return 0; } std::any DeclarationVisitor::visitVal(ifccParser::ValContext *ctx) { return 0; } std::any DeclarationVisitor::visitReturn_stmt(ifccParser::Return_stmtContext *ctx) { return 0; }