TP-metaprogrammation-test/TP1/CalculHauteur.java

48 lines
1,023 B
Java
Raw 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$
*/
import java.lang.*;
public class CalculHauteur implements VisiteurExpression<Integer> {
public Integer visiterAccesVariable(AccesVariable v) {
return 1;
}
public Integer visiterConstante(Constante c) {
return 1;
}
public Integer visiterExpressionBinaire(ExpressionBinaire e) {
return Math.max(
e.getOperandeGauche().accepter(this),
e.getOperandeDroite().accepter(this)
) + e.getOperateur().accepter(this);
}
public Integer visiterAddition(Addition a) {
return 1;
}
public Integer visiterSoustraction(Soustraction a) {
return 1;
}
public Integer visiterMultiplication(Multiplication m) {
return 1;
}
public Integer visiterExpressionUnaire(ExpressionUnaire e) {
return e.getOperateur().accepter(this)
+ e.getOperande().accepter(this);
}
public Integer visiterNegation(Negation n) {
return 1;
}
}