|
CS 536 Fall 2007, Project 5 | |||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
ObjectASTNode
StmtNode
IfStmtNode
public class IfStmtNode
An AST node representing an "if" statement: "IF cond THEN stmts [ELSIF stmts]* [ELSE stmts]? END IF;".
Nested Class Summary | |
---|---|
static class |
IfStmtNode.IfThen
A condition and corresponding sequence of statements corresponding to an if/then or elsif/then clause of an if statement. |
Nested classes/interfaces inherited from class ASTNode |
---|
ASTNode.Opcode |
Field Summary |
---|
Fields inherited from class StmtNode |
---|
enclosingProc, exitLabel |
Constructor Summary | |
---|---|
IfStmtNode(IfStmtNode.IfThen head,
List<IfStmtNode.IfThen> elsifs,
List<StmtNode> elseClause)
Creates a new IfStmtNode. |
Method Summary | |
---|---|
void |
codeGen(StmtNode loop)
Generates code for this statement. |
void |
resolveNames(SymbolTable symtab)
Resolves all applied uses of identifiers in the tree rooted at this node. |
void |
resolveTypes(ProcDeclNode proc)
Fills in types for all Symbols bound to IdNodes. |
void |
unparse(PrintWriter p,
int level)
Prints a source representation of the tree rooted at this node on output stream p. |
Methods inherited from class ASTNode |
---|
indent, toString |
Methods inherited from class Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public IfStmtNode(IfStmtNode.IfThen head, List<IfStmtNode.IfThen> elsifs, List<StmtNode> elseClause)
head
- the head "if ... then ..."elsifs
- list of "elsif ... then ..." clauses (may be empty)elseClause
- the body of the "else" clause (my be null)Method Detail |
---|
public void unparse(PrintWriter p, int level)
unparse
in class ASTNode
p
- the place to display the output.level
- the number of levels of indentation to use if the output
requires more than one line.public void resolveNames(SymbolTable symtab)
resolveNames
in class ASTNode
symtab
- the symbol table to be used.public void resolveTypes(ProcDeclNode proc)
resolveTypes
in class ASTNode
proc
- the smallest enclosing procedure or function declaration.public void codeGen(StmtNode loop)
codeGen
in class StmtNode
loop
- the smallest enclosing ForStmtNode or WhileStmtNode, if any.
|
CS 536 Fall 2007, Project 5 | |||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |