public CJump(CJUMP.Rel rel, Temp.Temp left, Temp.Temp right, Label label) { Relop = rel; Left = left; Right = right; Label = label; }
public Exp TranslateRelExp(CJUMP.Rel op, Exp left, Exp right) { return(new RelCx(op, left, right)); }
public Exp TranslateStringRelExp(CJUMP.Rel op, Exp left, Exp right) { Expr comp = Frame.ExternalCall("_strcmp", new Tree.ExpList(left.UnEx(), new Tree.ExpList(right.UnEx(), null))); return(new RelCx(op, new Ex(comp), new Ex(new CONST(0)))); }
public RelCx(CJUMP.Rel rel, Exp left, Exp right) { Relop = rel; Left = left; Right = right; }
public CJumpInt(CJUMP.Rel rel, Temp.Temp left, int right, Label label) { Relop = rel; Left = left; Right = right; Label = label; }