26 : os(os), indentChar(indentChar), indentSize(indentSize) {}
59 std::string indent()
const;
68 std::vector<std::string> visitResults;
Class for a record field access.
Definition: ASTAccessExpr.h:7
Class for alloc expression.
Definition: ASTAllocExpr.h:7
Class for assignment.
Definition: ASTAssignStmt.h:8
Class for a binary operator.
Definition: ASTBinaryExpr.h:7
Class for block of statements.
Definition: ASTBlockStmt.h:7
Class for dereferencing a pointer expression.
Definition: ASTDeRefExpr.h:7
Class for declaring a name, e.g., function, parameter, variable.
Definition: ASTDeclNode.h:7
Class for local variable declaration statement.
Definition: ASTDeclStmt.h:8
Class for a error statement.
Definition: ASTErrorStmt.h:8
Class for the field of a record.
Definition: ASTFieldExpr.h:7
Class for function call expressions.
Definition: ASTFunAppExpr.h:7
Class for defining the signature, local declarations, and a body of a function.
Definition: ASTFunction.h:11
Class for if-then-else.
Definition: ASTIfStmt.h:8
Class for a null expression.
Definition: ASTNullExpr.h:7
Class for numeric literals.
Definition: ASTNumberExpr.h:7
Class for an output statement.
Definition: ASTOutputStmt.h:8
Class for a program which is a name and a list of functions.
Definition: ASTProgram.h:11
Class for defining a record.
Definition: ASTRecordExpr.h:8
Class for referencing the address of an expression.
Definition: ASTRefExpr.h:7
Class for a return statement.
Definition: ASTReturnStmt.h:8
Class for referencing a variable.
Definition: ASTVariableExpr.h:7
Base class for AST visitors.
Definition: ASTVisitor.h:23
Class for a while loop.
Definition: ASTWhileStmt.h:8
GNU Style PrettyPrinter.
Definition: PrettyPrinter.h:22
PrettyPrinter()
Definition: PrettyPrinter.h:24
virtual bool visit(ASTFunction *element) override
Definition: PrettyPrinter.cpp:55
PrettyPrinter(std::ostream &os, char indentChar, int indentSize)
Definition: PrettyPrinter.h:25
virtual void endVisit(ASTProgram *element) override
Definition: PrettyPrinter.cpp:36
static void print(ASTProgram *p, std::ostream &os, char c, int n)
Definition: PrettyPrinter.cpp:6