package IC.Hierarchy; import IC.Error.*; import IC.Semantic.*; import IC.SymbolTable.*; import IC.LowIR.*; /** *
Title:
*Description:
*Copyright: Copyright (c) 2003
*Company:
* @author unascribed * @version 1.0 */ public class Assign extends Expr{ public Location l; public Expr e; public Assign(Node loc, Node exp) { l = (Location) loc; e = (Expr) exp; } public Var translate(){ Var t = l.translate(); Var v = e.translate(); LIR.irList.add(new Copy(t,v)); return t; } public void print(){ fprintln(nodenum+": "+"Assign(N"+getNum(l)+",N"+getNum(e)+");"); if(String.valueOf(l)!="null") l.print(); if(String.valueOf(e)!="null") e.print(); } public Object accept(Visitor v, SymTable st) throws SemanticError { return (v.visit(this, st)); } }