TP-metaprogrammation-test/TP1/AfficheurPostfixe.java

44 lines
1,013 B
Java
Raw Permalink Normal View History

2021-12-03 14:52:36 +00:00
/** Afficheur infixe, complètement parenthésé, d'une expression arithmétique.
*
* @author Xavier Crégut
* @version $Revision$
*/
public class AfficheurPostfixe implements VisiteurExpression<String> {
public String visiterAccesVariable(AccesVariable v) {
return v.getNom();
}
public String visiterConstante(Constante c) {
return String.valueOf(c.getValeur());
}
public String visiterExpressionBinaire(ExpressionBinaire e) {
return e.getOperandeGauche().accepter(this)
+ " " + e.getOperandeDroite().accepter(this)
+ " " + e.getOperateur().accepter(this);
}
public String visiterAddition(Addition a) {
return "+";
}
public String visiterSoustraction(Soustraction a) {
return "-";
}
public String visiterMultiplication(Multiplication m) {
return "*";
}
public String visiterExpressionUnaire(ExpressionUnaire e) {
return e.getOperande().accepter(this)
+ " " + e.getOperateur().accepter(this);
}
public String visiterNegation(Negation n) {
return "~";
}
}