Class AssignStmtNode
Object
ASTNode
StmtNode
AssignStmtNode
public class AssignStmtNode
- extends StmtNode
An AST node representing an assignment statement "var := expr;" or
"var(subscript) := expr;".
AssignStmtNode
public AssignStmtNode(SimpleExprNode dest,
ExprNode src)
- Creates a new AssignStmtNode.
- Parameters:
dest
- the left-hand side of the assignment (a CallExprNode).src
- the right-hand side of the assignment.
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.