exo6: add the basic operations code.
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Fri, 13 Apr 2018 10:22:17 +0000 (12:22 +0200)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Fri, 13 Apr 2018 10:22:17 +0000 (12:22 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
exo6/Opadd.java
exo6/Opdiv.java
exo6/Opminus.java
exo6/Opmul.java
exo6/Opmulti.java
exo6/Opplus.java

index 81b3bda9fa6f1f2c344a53a728eaa6d58ef46cca..d631090d24a86ff49e50d39089577d0e147e134d 100644 (file)
@@ -1,4 +1,10 @@
 
 abstract class Opadd extends Expression {
+    protected Terme gauche;
+    protected Expression droite;
 
+    Opadd(Terme g, Expression d) {
+        gauche = g;
+        droite = d;
+    }
 }
index 99a38838cbe463b7ef03c50c43b08c176c01aecb..0fe971828cba3ccc6cf59b6048d165344b65583e 100644 (file)
@@ -1,7 +1,11 @@
 
 class Opdiv extends Opmul {
 
+    Opdiv(Facteur g,Terme d) {
+        super(g, d);
+    }
+
     public double evaluer() {
-        return 0.0;
+        return gauche.evaluer() / droite.evaluer();
     }
 }
index d33cd17fb710c3a823cfb72ef8e5393820b228e3..9e5307adf175609aebbf6a70781e26eb7e2c6769 100644 (file)
@@ -1,7 +1,11 @@
 
 class Opminus extends Opadd {
 
+    Opminus(Terme g, Expression d) {
+        super(g, d);
+    }
+
     public double evaluer() {
-        return 0.0;
+        return gauche.evaluer() - droite.evaluer();
     }
 }
index 736b4ef9f1ee2c5c8a833765e2bc43b9d3053eda..2793babd44adfec2cf23ad5a50af1a320d09d983 100644 (file)
@@ -1,4 +1,11 @@
 
 abstract class Opmul extends Terme {
+    protected Facteur gauche;
+    protected Terme droite;
+
+    Opmul(Facteur g, Terme d) {
+        gauche = g;
+        droite = d;
+    }
 
 }
index 596015f42437b9ee325bae1c198d3dd28f8a0632..fdb93fd94a809de81043d1fba4ee771310f8264c 100644 (file)
@@ -1,7 +1,11 @@
 
 class Opmulti extends Opmul {
 
+    Opmulti(Facteur g,Terme d) {
+        super(g, d);
+    }
+
     public double evaluer() {
-        return 0.0;
+        return gauche.evaluer() * droite.evaluer();
     }
 }
index 0bd4bfa408a6c971c177e0264b3666fab6f6b54d..95b200b1c158056301f9a99315a46533899ef0e0 100644 (file)
@@ -1,7 +1,11 @@
 
 class Opplus extends Opadd {
 
+    Opplus(Terme g, Expression d) {
+        super(g, d);
+    }
+
     public double evaluer() {
-        return 0.0;
+        return gauche.evaluer() + droite.evaluer();
     }
 }