// Generated from Sysy.g4 by ANTLR 4.12.0 #pragma once #include "antlr4-runtime.h" #include "SysyParser.h" namespace CompSysY { /** * This class defines an abstract visitor for a parse tree * produced by SysyParser. */ class SysyVisitor : public antlr4::tree::AbstractParseTreeVisitor { public: /** * Visit parse trees produced by SysyParser. */ virtual std::any visitProgram(SysyParser::ProgramContext *context) = 0; virtual std::any visitCompUnit(SysyParser::CompUnitContext *context) = 0; virtual std::any visitDecl(SysyParser::DeclContext *context) = 0; virtual std::any visitConstDecl(SysyParser::ConstDeclContext *context) = 0; virtual std::any visitBType(SysyParser::BTypeContext *context) = 0; virtual std::any visitConstDef(SysyParser::ConstDefContext *context) = 0; virtual std::any visitConstInitVal(SysyParser::ConstInitValContext *context) = 0; virtual std::any visitVarDecl(SysyParser::VarDeclContext *context) = 0; virtual std::any visitVarDef(SysyParser::VarDefContext *context) = 0; virtual std::any visitInitVal(SysyParser::InitValContext *context) = 0; virtual std::any visitFuncDef(SysyParser::FuncDefContext *context) = 0; virtual std::any visitFuncType(SysyParser::FuncTypeContext *context) = 0; virtual std::any visitFuncFParams(SysyParser::FuncFParamsContext *context) = 0; virtual std::any visitFuncFParam(SysyParser::FuncFParamContext *context) = 0; virtual std::any visitBlock(SysyParser::BlockContext *context) = 0; virtual std::any visitBlockItem(SysyParser::BlockItemContext *context) = 0; virtual std::any visitAssignStmt(SysyParser::AssignStmtContext *context) = 0; virtual std::any visitExpStmt(SysyParser::ExpStmtContext *context) = 0; virtual std::any visitBlockStmt(SysyParser::BlockStmtContext *context) = 0; virtual std::any visitIfStmt(SysyParser::IfStmtContext *context) = 0; virtual std::any visitWhileStmt(SysyParser::WhileStmtContext *context) = 0; virtual std::any visitBreakStmt(SysyParser::BreakStmtContext *context) = 0; virtual std::any visitContinueStmt(SysyParser::ContinueStmtContext *context) = 0; virtual std::any visitReturnStmt(SysyParser::ReturnStmtContext *context) = 0; virtual std::any visitExp(SysyParser::ExpContext *context) = 0; virtual std::any visitCond(SysyParser::CondContext *context) = 0; virtual std::any visitLVal(SysyParser::LValContext *context) = 0; virtual std::any visitPrimaryExp(SysyParser::PrimaryExpContext *context) = 0; virtual std::any visitNumber(SysyParser::NumberContext *context) = 0; virtual std::any visitIntConst(SysyParser::IntConstContext *context) = 0; virtual std::any visitUnaryExp(SysyParser::UnaryExpContext *context) = 0; virtual std::any visitUnaryOp(SysyParser::UnaryOpContext *context) = 0; virtual std::any visitFuncRParams(SysyParser::FuncRParamsContext *context) = 0; virtual std::any visitFuncRParam(SysyParser::FuncRParamContext *context) = 0; virtual std::any visitMulExp(SysyParser::MulExpContext *context) = 0; virtual std::any visitAddExp(SysyParser::AddExpContext *context) = 0; virtual std::any visitRelExp(SysyParser::RelExpContext *context) = 0; virtual std::any visitEqExp(SysyParser::EqExpContext *context) = 0; virtual std::any visitLAndExp(SysyParser::LAndExpContext *context) = 0; virtual std::any visitLOrExp(SysyParser::LOrExpContext *context) = 0; virtual std::any visitConstExp(SysyParser::ConstExpContext *context) = 0; }; } // namespace CompSysY