public void outAssignStatement(AssignStatement node) {
STE ste = this.mCurrentST.lookup(node.getId());
this.mCurrentST.setNodeSTE(node, ste);
if ( (ste == null) || (!(ste instanceof VarSTE)) ) {
throw new SemanticException("Undeclared variable " + node.getId(), node.getLine(), node.getPos());
}
VarSTE varEntry = (VarSTE) ste;
if( varEntry.getType() != this.mCurrentST.getExpType(node.getExp()) )
throw new SemanticException(
"Invalid expression type assigned to variable "
+ node.getId(),
node.getLine(),
node.getPos());
}