abstract class Opadd extends Expression {
+ protected Terme gauche;
+ protected Expression droite;
+ Opadd(Terme g, Expression d) {
+ gauche = g;
+ droite = d;
+ }
}
class Opdiv extends Opmul {
+ Opdiv(Facteur g,Terme d) {
+ super(g, d);
+ }
+
public double evaluer() {
- return 0.0;
+ return gauche.evaluer() / droite.evaluer();
}
}
class Opminus extends Opadd {
+ Opminus(Terme g, Expression d) {
+ super(g, d);
+ }
+
public double evaluer() {
- return 0.0;
+ return gauche.evaluer() - droite.evaluer();
}
}
abstract class Opmul extends Terme {
+ protected Facteur gauche;
+ protected Terme droite;
+
+ Opmul(Facteur g, Terme d) {
+ gauche = g;
+ droite = d;
+ }
}
class Opmulti extends Opmul {
+ Opmulti(Facteur g,Terme d) {
+ super(g, d);
+ }
+
public double evaluer() {
- return 0.0;
+ return gauche.evaluer() * droite.evaluer();
}
}
class Opplus extends Opadd {
+ Opplus(Terme g, Expression d) {
+ super(g, d);
+ }
+
public double evaluer() {
- return 0.0;
+ return gauche.evaluer() + droite.evaluer();
}
}