TP-metaprogrammation-test/TP1/VisiteurExpression.java

60 lines
1.4 KiB
Java
Raw Normal View History

2021-12-03 14:52:36 +00:00
/**
* Visiteur sur une expression arithmétique.
*
* @author Xavier Crégut
* @version $Revision$
*/
public interface VisiteurExpression<R> {
/** Visiter un accès à une variable.
* @param v l'accès à une variable à visiter
*/
R visiterAccesVariable(AccesVariable v);
/** Visiter une constante.
* @param c la constante à visiter
*/
R visiterConstante(Constante c);
/** Visiter une expression binaire.
* @param e l'expression binaire à visiter
*/
R visiterExpressionBinaire(ExpressionBinaire e);
/** Visiter l'opérateur binaire addition.
* @param a l'opérateur à visiter
*/
R visiterAddition(Addition a);
/** Visiter l'opérateur binaire soustraction.
* @param a l'opérateur à visiter
*/
R visiterSoustraction(Soustraction a);
/** Visiter l'opérateur binaire multiplication.
* @param m l'opérateur à visiter
*/
R visiterMultiplication(Multiplication m);
/** Visiter une expression unaire.
* @param v l'expression unaire à visiter
*/
R visiterExpressionUnaire(ExpressionUnaire e);
/** Visiter un opérateur unaire négation.
* @param n l'opérateur unaire à visiter
*/
R visiterNegation(Negation n);
/** Visiter une expression ternaire.
* @param e l'expression ternaire à visiter
*/
R visiterExpressionTernaire(ExpressionTernaire e);
/** Visiter un opérateur ternaire let.
* @param n l'opérateur ternaire à visiter
*/
R visiterLet(Let n);
}