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 Neg extends UnopExpr{ public Neg(Node e) { super(e); } public Var translate(){ Var b = e.translate(); Var a = new Var(LIR.getNextName(),tableRef); tableRef.put(a.name, new TableEntry(a.name, "temp var", null)); LIR.irList.add(new Unop(a,Operators.NEG,b)); return a; } public void print(){ fprintln(nodenum+": "+"Neg(N"+getNum(e)+");"); if(String.valueOf(e)!="null") e.print(); } public Object accept(Visitor v, SymTable st) throws SemanticError { return (v.visit(this, st)); } }