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.