|
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 ASTNodep - 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 ASTNodesymtab - the symbol table to be used.public void resolveTypes(ProcDeclNode proc)
resolveTypes in class ASTNodeproc - the smallest enclosing procedure or function declaration.public void codeGen(StmtNode loop)
codeGen in class StmtNodeloop - 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 | |||||||