Class ForStmtNode
Object
ASTNode
StmtNode
ForStmtNode
public class ForStmtNode
- extends StmtNode
An AST node representing a for statement:
"FOR variable IN low DOTDOT high LOOP stmts END LOOP;".
ForStmtNode
public ForStmtNode(IdNode id,
ExprNode low,
ExprNode high,
List<StmtNode> body)
- Creates a new ForStmtNode.
- Parameters:
id - the bound variablelow - the lower boundhigh - the higher boundbody - the body of the loop.
unparse
public void unparse(PrintWriter p,
int level)
- Prints a source representation of the tree rooted at this node on
output stream p.
- Specified by:
unparse in class ASTNode
- Parameters:
p - the place to display the output.level - the number of levels of indentation to use if the output
requires more than one line.
resolveNames
public void resolveNames(SymbolTable symtab)
- Resolves all applied uses of identifiers in the tree rooted at this
node.
- Specified by:
resolveNames in class ASTNode
- Parameters:
symtab - the symbol table to be used.
resolveTypes
public void resolveTypes(ProcDeclNode proc)
- Fills in types for all Symbols bound to IdNodes. Prints error messages
as necessary.
- Specified by:
resolveTypes in class ASTNode
- Parameters:
proc - the smallest enclosing procedure or function declaration.
codeGen
public void codeGen(StmtNode loop)
- Generates code for this statement.
- Overrides:
codeGen in class StmtNode
- Parameters:
loop - the smallest enclosing ForStmtNode or WhileStmtNode, if any.