Skip to content
Snippets Groups Projects
Commit 9fa1eedf authored by lucien.noel's avatar lucien.noel
Browse files

test 4 & 5 passent

parent 0cb5a82f
No related branches found
No related tags found
No related merge requests found
...@@ -231,11 +231,11 @@ public class ByteCodeGenerator implements ASTVisitor { ...@@ -231,11 +231,11 @@ public class ByteCodeGenerator implements ASTVisitor {
}else if(expr instanceof Addition){ }else if(expr instanceof Addition){
res = getIntInExpression(((Addition) expr).getGauche()) + getIntInExpression(((Addition) expr).getDroite()); res = getIntInExpression(((Addition) expr).getGauche()) + getIntInExpression(((Addition) expr).getDroite());
}else if(expr instanceof Soustraction){ }else if(expr instanceof Soustraction){
res = getIntInExpression(((Addition) expr).getGauche()) - getIntInExpression(((Addition) expr).getDroite()); res = getIntInExpression(((Soustraction) expr).getGauche()) - getIntInExpression(((Soustraction) expr).getDroite());
}else if(expr instanceof Produit){ }else if(expr instanceof Produit){
res = getIntInExpression(((Addition) expr).getGauche()) * getIntInExpression(((Addition) expr).getDroite()); res = getIntInExpression(((Produit) expr).getGauche()) * getIntInExpression(((Produit) expr).getDroite());
}else if(expr instanceof Division){ }else if(expr instanceof Division){
res =(int) (getIntInExpression(((Addition) expr).getGauche()) / getIntInExpression(((Addition) expr).getDroite())); res =(int) (getIntInExpression(((Division) expr).getGauche()) / getIntInExpression(((Division) expr).getDroite()));
}else if(expr instanceof Moins){ }else if(expr instanceof Moins){
res = -getIntInExpression(((Moins)expr).getOperand()); res = -getIntInExpression(((Moins)expr).getOperand());
}else if(expr instanceof Idf && TDS.getInstance().identifier(new Entree(((Idf) expr).getNom())).getType() instanceof Entier){ }else if(expr instanceof Idf && TDS.getInstance().identifier(new Entree(((Idf) expr).getNom())).getType() instanceof Entier){
...@@ -254,15 +254,23 @@ public class ByteCodeGenerator implements ASTVisitor { ...@@ -254,15 +254,23 @@ public class ByteCodeGenerator implements ASTVisitor {
}else if(expr instanceof Faux){ }else if(expr instanceof Faux){
res = false; res = false;
}else if(expr instanceof Non){ }else if(expr instanceof Non){
res = getBoolInExpression(((Non) expr).getOperand()); res = !getBoolInExpression(((Non) expr).getOperand());
}else if(expr instanceof Et){ }else if(expr instanceof Et){
res = getBoolInExpression(((Et) expr).getGauche()) && getBoolInExpression(((Et) expr).getDroite()); res = getBoolInExpression(((Et) expr).getGauche()) && getBoolInExpression(((Et) expr).getDroite());
}else if(expr instanceof Ou){ }else if(expr instanceof Ou){
res = getBoolInExpression(((Ou) expr).getGauche()) || getBoolInExpression(((Ou) expr).getDroite()); res = getBoolInExpression(((Ou) expr).getGauche()) || getBoolInExpression(((Ou) expr).getDroite());
}else if(expr instanceof Egal){ }else if(expr instanceof Egal){
if(isExpressionBooleen(((Egal)expr).getGauche()) && isExpressionBooleen(((Egal)expr).getDroite())){
res = getBoolInExpression(((Egal)expr).getGauche()) == getBoolInExpression(((Egal)expr).getDroite()); res = getBoolInExpression(((Egal)expr).getGauche()) == getBoolInExpression(((Egal)expr).getDroite());
}else{
res = getIntInExpression(((Egal)expr).getGauche()) == getIntInExpression(((Egal)expr).getDroite());
}
}else if(expr instanceof Diff){ }else if(expr instanceof Diff){
if(isExpressionBooleen(((Diff)expr).getGauche()) && isExpressionBooleen(((Diff)expr).getDroite())){
res = getBoolInExpression(((Diff)expr).getGauche()) != getBoolInExpression(((Diff)expr).getDroite()); res = getBoolInExpression(((Diff)expr).getGauche()) != getBoolInExpression(((Diff)expr).getDroite());
}else{
res = getIntInExpression(((Diff)expr).getGauche()) != getIntInExpression(((Diff)expr).getDroite());
}
}else if(expr instanceof Superieur){ }else if(expr instanceof Superieur){
res = getIntInExpression(((Superieur)expr).getGauche()) > getIntInExpression(((Superieur)expr).getDroite()); res = getIntInExpression(((Superieur)expr).getGauche()) > getIntInExpression(((Superieur)expr).getDroite());
}else if(expr instanceof SupEgal){ }else if(expr instanceof SupEgal){
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment