5 #include "TIPBaseVisitor.h"
7 #include "antlr4-runtime.h"
11 using namespace antlrcpp;
24 std::string opString(
int op);
25 std::string generateSHA256(std::string tohash);
35 std::shared_ptr<ASTProgram> build(TIPParser::ProgramContext *ctx);
40 template <
typename T>
void visitBinaryExpr(T *ctx,
const std::string &op);
42 Any visitFunction(TIPParser::FunctionContext *ctx)
override;
43 Any visitNegNumber(TIPParser::NegNumberContext *ctx)
override;
44 Any visitAdditiveExpr(TIPParser::AdditiveExprContext *ctx)
override;
45 Any visitRelationalExpr(TIPParser::RelationalExprContext *ctx)
override;
46 Any visitMultiplicativeExpr(
47 TIPParser::MultiplicativeExprContext *ctx)
override;
48 Any visitEqualityExpr(TIPParser::EqualityExprContext *ctx)
override;
49 Any visitParenExpr(TIPParser::ParenExprContext *ctx)
override;
50 Any visitNumExpr(TIPParser::NumExprContext *ctx)
override;
51 Any visitVarExpr(TIPParser::VarExprContext *ctx)
override;
52 Any visitInputExpr(TIPParser::InputExprContext *ctx)
override;
53 Any visitFunAppExpr(TIPParser::FunAppExprContext *ctx)
override;
54 Any visitAllocExpr(TIPParser::AllocExprContext *ctx)
override;
55 Any visitRefExpr(TIPParser::RefExprContext *ctx)
override;
56 Any visitDeRefExpr(TIPParser::DeRefExprContext *ctx)
override;
57 Any visitNullExpr(TIPParser::NullExprContext *ctx)
override;
58 Any visitRecordExpr(TIPParser::RecordExprContext *ctx)
override;
59 Any visitFieldExpr(TIPParser::FieldExprContext *ctx)
override;
60 Any visitAccessExpr(TIPParser::AccessExprContext *ctx)
override;
61 Any visitDeclaration(TIPParser::DeclarationContext *ctx)
override;
62 Any visitNameDeclaration(TIPParser::NameDeclarationContext *ctx)
override;
63 Any visitAssignStmt(TIPParser::AssignStmtContext *ctx)
override;
64 Any visitBlockStmt(TIPParser::BlockStmtContext *ctx)
override;
65 Any visitWhileStmt(TIPParser::WhileStmtContext *ctx)
override;
66 Any visitIfStmt(TIPParser::IfStmtContext *ctx)
override;
67 Any visitOutputStmt(TIPParser::OutputStmtContext *ctx)
override;
68 Any visitErrorStmt(TIPParser::ErrorStmtContext *ctx)
override;
69 Any visitReturnStmt(TIPParser::ReturnStmtContext *ctx)
override;
Parse tree visitor that generates a program AST.
Definition: ASTBuilder.h:21