/* * Convertitore.java * Per convertire in notazione postfissa */ public class Convertitore implements Visitor { public String visit(PiuExpr n) { return n.getSx().accept(this) + " " + n.getDx().accept(this) + " +"; } public String visit(MenoExpr n) { return n.getSx().accept(this) + " " + n.getDx().accept(this) + " -"; } public String visit(PerExpr n) { return n.getSx().accept(this) + " " + n.getDx().accept(this) + " *"; } public String visit(DivisoExpr n) { return n.getSx().accept(this) + " " + n.getDx().accept(this) + " /"; } public String visit(UnPiuExpr n) { return n.getE().accept(this) + "u+"; } public String visit(UnMenoExpr n) { return n.getE().accept(this) + "u-"; } public String visit(NumExpr n) { return n.getValue().toString(); } public String visit(IdExpr n) { return n.toString(); } public String converti(Expr e) { return e.accept(this); } }