Class WhileStmtNode
Object
ASTNode
StmtNode
WhileStmtNode
public class WhileStmtNode
- extends StmtNode
An AST node representing a while statement:
"[WHILE cond]? LOOP stmts END LOOP;".
WhileStmtNode
public WhileStmtNode(ExprNode cond,
List<StmtNode> body)
- Creates a new WhileStmtNode.
- Parameters:
cond
- the condition expression.body
- 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.