48 lines
1,023 B
Java
Executable file
48 lines
1,023 B
Java
Executable file
/** 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;
|
|
}
|
|
|
|
}
|