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.