diff --git a/src/Compiler.java b/src/Compiler.java
index 2c6d06fb8a6b631b9f0842c4ebd6cda247bb51d8..09f1c74c34d41847f620fc28214e62f0eaca8c51 100644
--- a/src/Compiler.java
+++ b/src/Compiler.java
@@ -33,13 +33,13 @@ public class Compiler
 		buildSc();
 		System.out.println("[BUILD SA] ");
 		buildSa();
-		/*
 		System.out.println("[BUILD TS] ");
 		buildTs();
 		System.out.println("[TYPE CHECKING]");
 		typeCheck();
 		System.out.println("[BUILD C3A] ");
 		buildC3a();
+		/*
 		System.out.println("[BUILD PRE NASM] ");
 		buildPreNasm();
 		System.out.println("[BUILD FLOW GRAPH] ");
@@ -48,6 +48,7 @@ public class Compiler
 		solveFg();
 		System.out.println("[BUILD INTERFERENCE GRAPH] ");
 		buildIg();
+
 		System.out.println("[ALLOCATE REGISTERS]");
 		interferenceGraph.allocateRegisters();
 		System.out.println("[PRINT NASM]");
diff --git a/src/c3a/Sa2c3a.java b/src/c3a/Sa2c3a.java
index 8e1a01f8920f5c383c6ec223d7a1bdfb1df11b55..fe59713f50cae4da433590c3bc34d41212ff506b 100644
--- a/src/c3a/Sa2c3a.java
+++ b/src/c3a/Sa2c3a.java
@@ -1,49 +1,274 @@
 package c3a;
+import java.util.*;
 import ts.*;
 import sa.*;
 
-
 public class Sa2c3a extends SaDepthFirstVisitor <C3aOperand> {
     private C3a c3a;
     int indentation;
     public C3a getC3a(){return this.c3a;}
-    
+
     public Sa2c3a(SaNode root, Ts tableGlobale){
-	c3a = new C3a();
-	C3aTemp result = c3a.newTemp();
-	C3aFunction fct = new C3aFunction(tableGlobale.getFct("main"));
-	c3a.ajouteInst(new C3aInstCall(fct, result, ""));
-	c3a.ajouteInst(new C3aInstStop(result, ""));
-	indentation = 0;
+        c3a = new C3a();
+        C3aTemp result = c3a.newTemp();
+        C3aFunction fct = new C3aFunction(tableGlobale.getFct("main"));
+        c3a.ajouteInst(new C3aInstCall(fct, result, ""));
+        c3a.ajouteInst(new C3aInstStop(result, ""));
+
+        indentation = 0;
+        try{
+            root.accept(this);
+        }
+        catch(Exception e){}
     }
 
-    public void defaultIn(SaNode node)
+    /*public void defaultIn(SaNode node)
     {
-	//for(int i = 0; i < indentation; i++){System.out.print(" ");}
-	//indentation++;
-	//System.out.println("<" + node.getClass().getSimpleName() + ">");
+       for(int i = 0; i < indentation; i++){System.out.print(" ");}
+        indentation++;
+        System.out.println("<" + node.getClass().getSimpleName() + ">");
     }
 
     public void defaultOut(SaNode node)
     {
-	//indentation--;
-	//	for(int i = 0; i < indentation; i++){System.out.print(" ");}
-	//	System.out.println("</" + node.getClass().getSimpleName() + ">");
+          indentation--;
+        	for(int i = 0; i < indentation; i++){System.out.print(" ");}
+        	System.out.println("</" + node.getClass().getSimpleName() + ">");
     }
-    
+/*
 
-    // EXP -> op2 EXP EXP
+     */
+    public C3aOperand visit(SaInstTantQue node)throws Exception
+    {
+        C3aOperand startloop= c3a.newAutoLabel();
+        C3aOperand endloop=c3a.newAutoLabel();
+        c3a.addLabelToNextInst((C3aLabel) startloop);
+        C3aOperand test=c3a.newTemp();
+        C3aOperand value=node.getTest().accept(this);
+        c3a.ajouteInst(new C3aInstAffect(value,test,""));
+        c3a.ajouteInst(new C3aInstJumpIfEqual(test, c3a.False,endloop,""));
+        if (node.getFaire()!=null)
+        {
+            node.getFaire().accept(this);
+        }
+        c3a.ajouteInst(new C3aInstJump(startloop,""));
+        c3a.addLabelToNextInst((C3aLabel) endloop);
+        return null;
+    }
+    @Override
     public C3aOperand visit(SaExpAdd node) throws Exception
     {
-	defaultIn(node);
-	C3aOperand op1 = node.getOp1().accept(this);
-	C3aOperand op2 = node.getOp2().accept(this);
-	C3aOperand result = c3a.newTemp();
+        defaultIn(node);
+        C3aOperand op1 = node.getOp1().accept(this);
+        C3aOperand op2 = node.getOp2().accept(this);
+        C3aOperand result = c3a.newTemp();
+        c3a.ajouteInst(new C3aInstAdd(op1, op2, result, ""));
+        defaultOut(node);
+        return result;
+    }
+    @Override
+    public C3aOperand visit(SaExpDiv node) throws Exception
+    {
+        defaultIn(node);
+        C3aOperand op1 = node.getOp1().accept(this);
+        C3aOperand op2 = node.getOp2().accept(this);
+        C3aOperand result = c3a.newTemp();
+        c3a.ajouteInst(new C3aInstDiv(op1, op2, result, ""));
+        defaultOut(node);
+        return result;
+    }
+    @Override
+    public C3aOperand visit(SaExpSub node) throws Exception
+    {
+        defaultIn(node);
+        C3aOperand op1 = node.getOp1().accept(this);
+        C3aOperand op2 = node.getOp2().accept(this);
+        C3aOperand result = c3a.newTemp();
+        c3a.ajouteInst(new C3aInstSub(op1, op2, result, ""));
+        defaultOut(node);
+        return result;
+    }
+    @Override
+    public C3aOperand visit(SaExpMult node) throws Exception
+    {
+        defaultIn(node);
+        C3aOperand op1 = node.getOp1().accept(this);
+        C3aOperand op2 = node.getOp2().accept(this);
+        C3aOperand result = c3a.newTemp();
+        c3a.ajouteInst(new C3aInstMult(op1, op2, result, ""));
+        defaultOut(node);
+        return result;
+    }
+    public C3aOperand visit(SaExpInt node)
+    {
+        return new C3aConstant(node.getVal());
+    }
+    public C3aOperand visit(SaExpAppel node)throws Exception
+    {
+        return node.getVal().accept(this);
+    }
+    public C3aOperand visit(SaAppel node) throws Exception
+    {
+        if (node.getArguments()!=null)
+        {
+            SaLExp arguments=node.getArguments();
+            while (arguments!=null)
+            {
+                SaExp arg=arguments.getTete();
+                c3a.ajouteInst(new C3aInstParam(arg.accept(this),""));
+                arguments=arguments.getQueue();
+            }
+        }
+        C3aOperand result = c3a.newTemp();
+        c3a.ajouteInst(new C3aInstCall(new C3aFunction(node.tsItem),result,""));
+        return result;
+    }
+    public C3aOperand visit(SaDecFonc node)throws Exception
+    {
+        c3a.ajouteInst(new C3aInstFBegin(node.tsItem,""));
+        if (node.getCorps()!=null)
+        {
+            node.getCorps().accept(this);
+        }
+        c3a.ajouteInst(new C3aInstFEnd(""));
+        return null;
+    }
+    public C3aOperand visit(SaInstAffect node) throws Exception
+    {
+        System.out.println("here");
+        C3aOperand var=node.getLhs().accept(this);
+        C3aOperand value=node.getRhs().accept(this);
+        c3a.ajouteInst(new C3aInstAffect(value,var,""));
+        return null;
+    }
+    public C3aOperand visit(SaInstRetour node)throws Exception
+    {
+        C3aOperand returnval=node.getVal().accept(this);
+        c3a.ajouteInst(new C3aInstReturn(returnval,""));
+        return returnval;
+    }
+    public C3aOperand visit(SaExpLire node)
+    {
+        C3aOperand temp=c3a.newTemp();
+        c3a.ajouteInst(new C3aInstRead(temp, ""));
+        return temp;
+    }
+    public C3aOperand visit(SaVarSimple node)
+    {
+        if(node.tsItem==null)
+            System.out.println("null");
+        return new C3aVar(node.tsItem,null);
+    }
+    public C3aOperand visit(SaVarIndicee node)throws Exception
+    {
 
-	c3a.ajouteInst(new C3aInstAdd(op1, op2, result, ""));
-	defaultOut(node);
-	return result;
+        C3aOperand index=node.getIndice().accept(this);
+        return new C3aVar(node.getTsItem(),index);
+    }
+    public C3aOperand visit(SaInstEcriture node)throws Exception
+    {
+        C3aOperand op=node.getArg().accept(this);
+        c3a.ajouteInst(new C3aInstWrite(op,""));
+        return null;
+    }
+    public C3aOperand visit(SaExpVar node) throws Exception
+    {
+        return node.getVar().accept(this);
+    }
+    public C3aOperand visit(SaExpVrai node)
+    {
+        return c3a.True;
+    }
+    public C3aOperand visit(SaExpFaux node)
+    {
+        return c3a.False;
+    }
+    public C3aOperand visit(SaExpInf node)throws Exception
+    {
+        C3aOperand value=c3a.newTemp();
+        C3aOperand label=c3a.newAutoLabel();
+        c3a.ajouteInst(new C3aInstAffect( c3a.True,value,   ""));
+        c3a.ajouteInst(new C3aInstJumpIfLess(node.getOp1().accept(this),node.getOp2().accept(this),label,""));
+        c3a.ajouteInst(new C3aInstAffect(c3a.False,value, ""));
+        c3a.addLabelToNextInst((C3aLabel) label);
+        return value;
+    }
+    public C3aOperand visit(SaExpAnd node)throws Exception
+    {
+        C3aOperand value=c3a.newTemp();
+        C3aOperand label1=c3a.newAutoLabel();
+        C3aOperand label2=c3a.newAutoLabel();
+        c3a.ajouteInst(new C3aInstJumpIfEqual(node.getOp1().accept(this), c3a.False,label1 ,""));
+        c3a.ajouteInst(new C3aInstJumpIfEqual(node.getOp2().accept(this), c3a.False,label1 ,""));
+        c3a.ajouteInst(new C3aInstAffect( c3a.True,value,""));
+        c3a.ajouteInst(new C3aInstJump(label2,""));
+        c3a.addLabelToNextInst((C3aLabel) label1);
+        c3a.ajouteInst(new C3aInstAffect( c3a.False,value,""));
+        c3a.addLabelToNextInst((C3aLabel) label2);
+        return value;
+    }
+    public C3aOperand visit(SaExpOr node)throws Exception
+    {
+        C3aOperand value=c3a.newTemp();
+        C3aOperand label=c3a.newAutoLabel();
+        c3a.ajouteInst(new C3aInstAffect( c3a.True,value,""));
+        c3a.ajouteInst(new C3aInstJumpIfEqual(node.getOp1().accept(this), c3a.True,label ,""));
+        c3a.ajouteInst(new C3aInstJumpIfEqual(node.getOp2().accept(this), c3a.True,label ,""));
+        c3a.ajouteInst(new C3aInstAffect( c3a.False,value,""));
+        c3a.addLabelToNextInst((C3aLabel) label);
+        return value;
+    }
+    public C3aOperand visit(SaExpEqual node)throws Exception
+    {
+        C3aOperand value=c3a.newTemp();
+        C3aOperand label=c3a.newAutoLabel();
+        c3a.ajouteInst(new C3aInstAffect( c3a.True,value,""));
+        c3a.ajouteInst(new C3aInstJumpIfEqual(node.getOp1().accept(this), node.getOp2().accept(this),label ,""));
+        c3a.ajouteInst(new C3aInstAffect( c3a.False,value,""));
+        c3a.addLabelToNextInst((C3aLabel) label);
+        return value;
     }
 
+    public C3aOperand visit(SaExpNot node)throws Exception
+    {
+        C3aOperand value=c3a.newTemp();
+        C3aOperand label1=c3a.newAutoLabel();
+        C3aOperand label2=c3a.newAutoLabel();
+        c3a.ajouteInst(new C3aInstAffect( node.getOp1().accept(this),value,""));
+        c3a.ajouteInst(new C3aInstJumpIfEqual(value, c3a.False,label1 ,""));
+        c3a.ajouteInst(new C3aInstAffect(c3a.False, value,""));
+        c3a.ajouteInst(new C3aInstJump(label2,""));
+        c3a.addLabelToNextInst((C3aLabel) label1);
+        c3a.ajouteInst(new C3aInstAffect(c3a.True, value,""));
+        c3a.addLabelToNextInst((C3aLabel) label2);
+        return value;
+    }
+    public C3aOperand visit(SaInstSi node)throws Exception
+    {
+        C3aOperand test=c3a.newTemp();
+        C3aOperand value=node.getTest().accept(this);
+        c3a.ajouteInst(new C3aInstAffect(value,test,""));
+        C3aOperand alors=c3a.newAutoLabel();
+        C3aOperand sinon= c3a.newAutoLabel();
+        C3aOperand endsi= c3a.newAutoLabel();
+        c3a.ajouteInst(new C3aInstJumpIfEqual(test, c3a.True,alors,""));
+        if (node.getSinon()!=null)
+            c3a.ajouteInst(new C3aInstJumpIfEqual(test, c3a.False,sinon,""));
+        else
+            c3a.ajouteInst(new C3aInstJumpIfEqual(test, c3a.False,endsi,""));
+        if (node.getAlors()!=null)
+        {
+            c3a.addLabelToNextInst((C3aLabel) alors);
+            node.getAlors().accept(this);
+        }
+        c3a.ajouteInst(new C3aInstJump(endsi,""));
+        if (node.getSinon()!=null)
+        {
+            c3a.addLabelToNextInst((C3aLabel) sinon);
+            node.getSinon().accept(this);
+        }
+        c3a.addLabelToNextInst((C3aLabel) endsi);
+        return null;
+    }
 
 }
diff --git a/src/ts/Sa2ts.java b/src/ts/Sa2ts.java
index 710d832742d02d4bb0f5024e23af8c980eb7c310..b46f6c4509b334062fb8d7f2d7c74f05d6a38684 100644
--- a/src/ts/Sa2ts.java
+++ b/src/ts/Sa2ts.java
@@ -1,6 +1,7 @@
 package ts;
 import sa.*;
 import util.Error;
+import util.Type;
 
 public class Sa2ts extends SaDepthFirstVisitor <Void> {
     enum Context {
@@ -23,89 +24,125 @@ public class Sa2ts extends SaDepthFirstVisitor <Void> {
         context = Context.GLOBAL;
     }
 
-    public Void visit(SaDecVar node) throws Exception{
+    public Void visit(SaDecFonc node)throws Exception
+    {
         defaultIn(node);
-        TsItemVar ts = null;
-        try {
-            if (context == Context.PARAM) {
-                ts = tableLocaleCourante.addParam(node.getNom(), node.getType());
-            } else if (context == Context.LOCAL) {
-                if (tableLocaleCourante.getVar(node.getNom()) != null)
-                    throw new ErrorException(Error.TS, "Variable locale");
-                ts = tableLocaleCourante.addVar(node.getNom(), node.getType());
-            } else {
-                if (tableGlobale.getVar(node.getNom()) != null)
-                    throw new ErrorException(Error.TS, "Variable globale");
-                ts = tableLocaleCourante.addVar(node.getNom(),node.getType());
+        if (tableGlobale.getFct(node.getNom())==null)
+        {
+            tableLocaleCourante=new Ts();
+            int nbrArgs;
+            if (node.getParametres()!=null)
+            {
+                context=Context.PARAM;
+                node.getParametres().accept(this);
+                nbrArgs=node.getParametres().length();
+            }
+            else nbrArgs=0;
+            if(node.getVariable()!=null)
+            {
+                context=Context.LOCAL;
+                node.getVariable().accept(this);
             }
-        }catch(ErrorException e){
-            System.err.print("Erreur dans la declaration de variable");
-            System.err.println(e.getMessage());
-            System.exit(e.getCode());
+            String nom= node.getNom();
+            Type type=node.getTypeRetour();
+            node.tsItem=tableGlobale.addFct(nom,type,nbrArgs,tableLocaleCourante,node);
+            context=Context.GLOBAL;
+            if (node.getCorps()!=null)
+            {
+                context=Context.LOCAL;
+                node.getCorps().accept(this);
+            }
+
+        }else {
+            throw new ErrorException(Error.TS, "La fonction a été déja definie");
         }
-        node.setTsItem(ts);
         defaultOut(node);
-        System.out.println(tableGlobale.variables);
+
         return null;
     }
-
-    public Void visit(SaDecTab node) {
+    public Void visit(SaDecVar node)throws ErrorException
+    {
         defaultIn(node);
-        if (tableGlobale.getVar(node.getNom()) != null)
-            node.setTsItem(this.tableGlobale.addTab(node.getNom(),node.getType(),node.getTaille()));
-        else
-            throw new RuntimeException("Erreur");
+        if (context==Context.PARAM)
+        {
+            if(tableLocaleCourante.getVar(node.getNom())==null)
+            {
+                node.setTsItem(tableLocaleCourante.addParam(node.getNom(),node.getType()));
+
+            }else
+            {
+                throw new ErrorException(Error.TS,"param déja declarée");
+            }
+        }
+        if (context==Context.LOCAL)
+        {
+            if(tableLocaleCourante.getVar(node.getNom())==null)
+            {
+                node.setTsItem(tableLocaleCourante.addVar(node.getNom(),node.getType()));
+            }else
+            {
+                throw new ErrorException(Error.TS,"varibale déja declarée");
+            }
+        }
+        if (context==Context.GLOBAL)
+        {
+            if(tableGlobale.getVar(node.getNom())==null) {
+                node.setTsItem(tableGlobale.addVar(node.getNom(), node.getType()));
+            }
+            else
+            {
+                throw new ErrorException(Error.TS,"varibale déja declarée");
+            }
+        }
         defaultOut(node);
+
         return null;
     }
-
-    public Void visit(SaDecFonc node) throws Exception {
+    public Void visit(SaDecTab node)throws ErrorException
+    {
         defaultIn(node);
-        tableLocaleCourante = new Ts();
-        int nbArgs = 0;
-        this.context = Context.GLOBAL;
-        if(tableGlobale.getFct(node.getNom()) == null){
-            tableLocaleCourante.addFct(node.getNom(),node.getTypeRetour(),nbArgs,tableLocaleCourante, node);
+        if (context==Context.GLOBAL)
+        {
+            if(tableGlobale.getVar(node.getNom())==null)
+            {
+                node.setTsItem(tableGlobale.addTab(node.getNom(),node.getType(),node.getTaille()));
+            }else
+                throw new ErrorException(Error.TS,"variable deja declarée");
+
         }
-        else{
-            nbArgs = node.getParametres().length();
-            tableLocaleCourante.addFct(node.getNom(),node.getTypeRetour(),nbArgs,tableLocaleCourante, node);
+        if (context==Context.LOCAL)
+        {
+            if(tableLocaleCourante.getVar(node.getNom())==null)
+            {
+                node.setTsItem(tableLocaleCourante.addTab(node.getNom(),node.getType(),node.getTaille()));
+            }else
+                throw new ErrorException(Error.TS,"variable deja declarée");
         }
-        this.context = Context.PARAM;
-        if(node.getParametres() == null){
-            node.getParametres().accept(this);
+
+        defaultOut(node);
+
+        return null;
+    }
+    public Void visit(SaVarSimple node) throws ErrorException
+    {
+        defaultIn(node);
+        if (tableGlobale.getVar(node.getNom())!=null)
+        {
+            node.tsItem=(TsItemVarSimple) tableGlobale.getVar(node.getNom());
         }
-        this.context = Context.LOCAL;
-        if(node.getVariable() == null){
-            node.getParametres().accept(this);
+        else if (tableLocaleCourante.getVar(node.getNom())!=null)
+        {
+            node.tsItem=(TsItemVarSimple) tableLocaleCourante.getVar(node.getNom());
         }
-        if(node.getCorps() == null){
-            node.getCorps().accept(this);
+        else
+        {
+            throw new ErrorException(Error.TS,"variable jamais declaré");
         }
-
         defaultOut(node);
         return null;
     }
-
-
-        public Void visit(SaVarSimple node) throws Exception {
-            defaultIn(node);
-            if (tableLocaleCourante.getVar(node.getNom()) != null){
-                if (tableLocaleCourante.getVar(node.getNom()).getTaille() != 1) throw new ErrorException(Error.TS,"Var not find");
-                node.tsItem = (TsItemVarSimple) tableLocaleCourante.getVar(node.getNom());
-            }
-            else if (tableGlobale.getVar(node.getNom()) != null){
-                if (tableGlobale.getVar(node.getNom()).getTaille() != 1) throw new ErrorException(Error.TS,"Var not find");
-                node.tsItem = (TsItemVarSimple) tableGlobale.getVar(node.getNom());
-            }
-            else {
-                throw new ErrorException(Error.TS,"Var not find");
-            }
-            defaultOut(node);
-            return super.visit(node);
-        }
-
-    public Void visit(SaVarIndicee node) throws Exception {
+    public Void visit(SaVarIndicee node)throws Exception
+    {
         defaultIn(node);
         if (tableGlobale.getVar(node.getNom())!=null)
         {
@@ -125,35 +162,29 @@ public class Sa2ts extends SaDepthFirstVisitor <Void> {
         return null;
 
     }
-    public Void visit(SaAppel node) throws Exception {
+    public Void visit(SaAppel node) throws Exception
+    {
+
         defaultIn(node);
-        if(node.getArguments().length() == tableGlobale.getFct(node.getNom()).getNbArgs()){
-            node.getArguments().accept(this);
-            node.tsItem = tableGlobale.getFct(node.getNom());
-        }
-        else if(node.getArguments() == null  && tableGlobale.getFct(node.getNom()).getNbArgs() == 0) {
-            node.tsItem = tableGlobale.getFct(node.getNom());
+        if (tableGlobale.getFct(node.getNom())==null )
+        {
+            throw new ErrorException(Error.TS,"fonction non declaré ");
         }
-        else {
-            throw new ErrorException(Error.TS,"");
+        if (node.getArguments()!=null)
+        {
+            node.getArguments().accept(this);
+            if (node.getArguments().length()!=tableGlobale.getFct(node.getNom()).getNbArgs())
+                throw  new ErrorException(Error.TS," nombre de parametre n'est pas correcte 1");
+        }else
+        {
+            if (tableGlobale.getFct(node.getNom()).getNbArgs()>0)
+                throw  new ErrorException(Error.TS," nombre de parametre n'est pas correcte 2");
         }
-        context = Context.LOCAL;
-        node.tsItem = tableGlobale.getFct(node.getNom());
-        context = Context.GLOBAL;
+
+        node.tsItem=tableGlobale.getFct(node.getNom());
         defaultOut(node);
         return null;
-
-    }
-
-
-    public void defaultIn(SaNode node)
-    {
-		System.out.println("<" + node.getClass().getSimpleName() + ">");
     }
 
-    public void defaultOut(SaNode node)
-    {
-		System.out.println("</" + node.getClass().getSimpleName() + ">");
-    }
 
-}
+}
\ No newline at end of file
diff --git a/test/result.txt b/test/result.txt
index faf2a87246c95868aff555062502a582e5cec2b3..8ab799be07f0cf7d6471068de45e24918f058742 100644
--- a/test/result.txt
+++ b/test/result.txt
@@ -163,1050 +163,248 @@
 	varloc4.sa         CORRECT
 	varloc5.sa         CORRECT
 Évaluation de Diff de ts :
-0/80 correct (  0.00%)
+80/80 correct (100.00%)
+	add1.ts            CORRECT
+	add2.ts            CORRECT
+	affect1.ts         CORRECT
+	affect2.ts         CORRECT
+	affect3.ts         CORRECT
+	and1.ts            CORRECT
+	and2.ts            CORRECT
+	and3.ts            CORRECT
+	and4.ts            CORRECT
+	and5.ts            CORRECT
+	appel-param1.ts    CORRECT
+	appel-param2.ts    CORRECT
+	appel-param3.ts    CORRECT
+	appel-retour1.ts   CORRECT
+	appel1.ts          CORRECT
+	appel2.ts          CORRECT
+	appel3.ts          CORRECT
+	div1.ts            CORRECT
+	div2.ts            CORRECT
+	div3.ts            CORRECT
+	div4.ts            CORRECT
+	ecrire1.ts         CORRECT
+	ecrire2.ts         CORRECT
+	egal1.ts           CORRECT
+	egal2.ts           CORRECT
+	egal3.ts           CORRECT
+	fibo.ts            CORRECT
+	inf1.ts            CORRECT
+	inf2.ts            CORRECT
+	inf3.ts            CORRECT
+	mult1.ts           CORRECT
+	mult2.ts           CORRECT
+	mult3.ts           CORRECT
+	not1.ts            CORRECT
+	not2.ts            CORRECT
+	not3.ts            CORRECT
+	or1.ts             CORRECT
+	or2.ts             CORRECT
+	or3.ts             CORRECT
+	or4.ts             CORRECT
+	or5.ts             CORRECT
+	parenth1.ts        CORRECT
+	parenth2.ts        CORRECT
+	prio34-1.ts        CORRECT
+	prio34-2.ts        CORRECT
+	prio34-3.ts        CORRECT
+	prio34-4.ts        CORRECT
+	prio45-1.ts        CORRECT
+	prio45-2.ts        CORRECT
+	prio45-3.ts        CORRECT
+	prio45-4.ts        CORRECT
+	prio56-1.ts        CORRECT
+	prio56-2.ts        CORRECT
+	prio67-1.ts        CORRECT
+	prio67-2.ts        CORRECT
+	rec1.ts            CORRECT
+	si1.ts             CORRECT
+	si2.ts             CORRECT
+	si3.ts             CORRECT
+	si4.ts             CORRECT
+	si5.ts             CORRECT
+	sub1.ts            CORRECT
+	sub2.ts            CORRECT
+	sub3.ts            CORRECT
+	tab1.ts            CORRECT
+	tab2.ts            CORRECT
+	tab3.ts            CORRECT
+	tab4.ts            CORRECT
+	tantque1.ts        CORRECT
+	tantque2.ts        CORRECT
+	tri.ts             CORRECT
+	varglob1.ts        CORRECT
+	varglob2.ts        CORRECT
+	varglob3.ts        CORRECT
+	varglob4.ts        CORRECT
+	varloc1.ts         CORRECT
+	varloc2.ts         CORRECT
+	varloc3.ts         CORRECT
+	varloc4.ts         CORRECT
+	varloc5.ts         CORRECT
 Évaluation de Execution de sa :
-0/80 correct (  0.00%)
-	add1.saout            INCORRECT
-	add2.saout            INCORRECT
-	affect1.saout         INCORRECT
-	affect2.saout         INCORRECT
-	affect3.saout         INCORRECT
-	and1.saout            INCORRECT
-	and2.saout            INCORRECT
-	and3.saout            INCORRECT
-	and4.saout            INCORRECT
-	and5.saout            INCORRECT
-	appel-param1.saout    INCORRECT
-	appel-param2.saout    INCORRECT
-	appel-param3.saout    INCORRECT
-	appel-retour1.saout   INCORRECT
-	appel1.saout          INCORRECT
-	appel2.saout          INCORRECT
-	appel3.saout          INCORRECT
-	div1.saout            INCORRECT
-	div2.saout            INCORRECT
-	div3.saout            INCORRECT
-	div4.saout            INCORRECT
-	ecrire1.saout         INCORRECT
-	ecrire2.saout         INCORRECT
-	egal1.saout           INCORRECT
-	egal2.saout           INCORRECT
-	egal3.saout           INCORRECT
-	fibo.saout            INCORRECT
-	inf1.saout            INCORRECT
-	inf2.saout            INCORRECT
-	inf3.saout            INCORRECT
-	mult1.saout           INCORRECT
-	mult2.saout           INCORRECT
-	mult3.saout           INCORRECT
-	not1.saout            INCORRECT
-	not2.saout            INCORRECT
-	not3.saout            INCORRECT
-	or1.saout             INCORRECT
-	or2.saout             INCORRECT
-	or3.saout             INCORRECT
-	or4.saout             INCORRECT
-	or5.saout             INCORRECT
-	parenth1.saout        INCORRECT
-	parenth2.saout        INCORRECT
-	prio34-1.saout        INCORRECT
-	prio34-2.saout        INCORRECT
-	prio34-3.saout        INCORRECT
-	prio34-4.saout        INCORRECT
-	prio45-1.saout        INCORRECT
-	prio45-2.saout        INCORRECT
-	prio45-3.saout        INCORRECT
-	prio45-4.saout        INCORRECT
-	prio56-1.saout        INCORRECT
-	prio56-2.saout        INCORRECT
-	prio67-1.saout        INCORRECT
-	prio67-2.saout        INCORRECT
-	rec1.saout            INCORRECT
-	si1.saout             INCORRECT
-	si2.saout             INCORRECT
-	si3.saout             INCORRECT
-	si4.saout             INCORRECT
-	si5.saout             INCORRECT
-	sub1.saout            INCORRECT
-	sub2.saout            INCORRECT
-	sub3.saout            INCORRECT
-	tab1.saout            INCORRECT
-	tab2.saout            INCORRECT
-	tab3.saout            INCORRECT
-	tab4.saout            INCORRECT
-	tantque1.saout        INCORRECT
-	tantque2.saout        INCORRECT
-	tri.saout             INCORRECT
-	varglob1.saout        INCORRECT
-	varglob2.saout        INCORRECT
-	varglob3.saout        INCORRECT
-	varglob4.saout        INCORRECT
-	varloc1.saout         INCORRECT
-	varloc2.saout         INCORRECT
-	varloc3.saout         INCORRECT
-	varloc4.saout         INCORRECT
-	varloc5.saout         INCORRECT
+79/80 correct ( 98.75%)
+	add1.saout            CORRECT
+	add2.saout            CORRECT
+	affect1.saout         CORRECT
+	affect2.saout         CORRECT
+	affect3.saout         CORRECT
+	and1.saout            CORRECT
+	and2.saout            CORRECT
+	and3.saout            CORRECT
+	and4.saout            CORRECT
+	and5.saout            CORRECT
+	appel-param1.saout    CORRECT
+	appel-param2.saout    CORRECT
+	appel-param3.saout    CORRECT
+	appel-retour1.saout   CORRECT
+	appel1.saout          CORRECT
+	appel2.saout          CORRECT
+	appel3.saout          CORRECT
+	div1.saout            CORRECT
+	div2.saout            CORRECT
+	div3.saout            CORRECT
+	div4.saout            CORRECT
+	ecrire1.saout         CORRECT
+	ecrire2.saout         CORRECT
+	egal1.saout           CORRECT
+	egal2.saout           CORRECT
+	egal3.saout           CORRECT
+	fibo.saout            CORRECT
+	inf1.saout            CORRECT
+	inf2.saout            CORRECT
+	inf3.saout            CORRECT
+	mult1.saout           CORRECT
+	mult2.saout           CORRECT
+	mult3.saout           CORRECT
+	not1.saout            CORRECT
+	not2.saout            CORRECT
+	not3.saout            CORRECT
+	or1.saout             CORRECT
+	or2.saout             CORRECT
+	or3.saout             CORRECT
+	or4.saout             CORRECT
+	or5.saout             CORRECT
+	parenth1.saout        CORRECT
+	parenth2.saout        CORRECT
+	prio34-1.saout        CORRECT
+	prio34-2.saout        CORRECT
+	prio34-3.saout        CORRECT
+	prio34-4.saout        CORRECT
+	prio45-1.saout        CORRECT
+	prio45-2.saout        CORRECT
+	prio45-3.saout        CORRECT
+	prio45-4.saout        CORRECT
+	prio56-1.saout        CORRECT
+	prio56-2.saout        CORRECT
+	prio67-1.saout        CORRECT
+	prio67-2.saout        CORRECT
+	rec1.saout            CORRECT
+	si1.saout             CORRECT
+	si2.saout             CORRECT
+	si3.saout             CORRECT
+	si4.saout             CORRECT
+	si5.saout             CORRECT
+	sub1.saout            CORRECT
+	sub2.saout            CORRECT
+	sub3.saout            CORRECT
+	tab1.saout            CORRECT
+	tab2.saout            CORRECT
+	tab3.saout            CORRECT
+	tab4.saout            CORRECT
+	tantque1.saout        CORRECT
+	tantque2.saout        CORRECT
+	tri.saout             CORRECT
+	varglob1.saout        CORRECT
+	varglob2.saout        CORRECT
+	varglob3.saout        CORRECT
+	varglob4.saout        CORRECT
+	varloc1.saout         CORRECT
+	varloc2.saout         CORRECT
+	varloc3.saout         CORRECT
+	varloc4.saout         CORRECT
+	varloc5.saout   INCORRECT
 Évaluation de Diff de c3a :
 0/80 correct (  0.00%)
-Évaluation de Execution du c3a :
-0/80 correct (  0.00%)
-Évaluation de Diff de pre-nasm :
-0/80 correct (  0.00%)
-Évaluation de Execution du pre-nasm :
-0/80 correct (  0.00%)
-Évaluation de Diff de nasm :
-0/80 correct (  0.00%)
-Évaluation de Execution du nasm :
-0/80 correct (  0.00%)
-Évaluation de Execution du binaire :
-0/80 correct (  0.00%)
-Évaluation de ERR_TS        :
-0/7 correct (  0.00%)
-	double_dec1.l       INCORRECT
-	double_dec2.l       INCORRECT
-	double_dec3.l       INCORRECT
-	double_dec4.l       INCORRECT
-	fct_inconnue1.l     INCORRECT
-	mauvais_nb_arg1.l   INCORRECT
-	var_inconnue1.l     INCORRECT
-Évaluation de ERR_TYPE      :
-0/45 correct (  0.00%)
-	add1.l       INCORRECT
-	add2.l       INCORRECT
-	add3.l       INCORRECT
-	add4.l       INCORRECT
-	affect1.l    INCORRECT
-	affect2.l    INCORRECT
-	affect3.l    INCORRECT
-	affect4.l    INCORRECT
-	and1.l       INCORRECT
-	and2.l       INCORRECT
-	and3.l       INCORRECT
-	and4.l       INCORRECT
-	appel1.l     INCORRECT
-	appel2.l     INCORRECT
-	appel3.l     INCORRECT
-	appel4.l     INCORRECT
-	div1.l       INCORRECT
-	div2.l       INCORRECT
-	div3.l       INCORRECT
-	div4.l       INCORRECT
-	egal1.l      INCORRECT
-	egal2.l      INCORRECT
-	egal3.l      INCORRECT
-	inf1.l       INCORRECT
-	inf2.l       INCORRECT
-	inf3.l       INCORRECT
-	inf4.l       INCORRECT
-	mult1.l      INCORRECT
-	mult2.l      INCORRECT
-	mult3.l      INCORRECT
-	mult4.l      INCORRECT
-	not1.l       INCORRECT
-	or1.l        INCORRECT
-	or2.l        INCORRECT
-	or3.l        INCORRECT
-	or4.l        INCORRECT
-	retour1.l    INCORRECT
-	retour2.l    INCORRECT
-	retour3.l    INCORRECT
-	si1.l        INCORRECT
-	sub1.l       INCORRECT
-	sub2.l       INCORRECT
-	sub3.l       INCORRECT
-	sub4.l       INCORRECT
-	tantque1.l   INCORRECT
-------------------------------EVALUATION ERRORS------------------------------
-ERROR evaluateSa for input add1.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input add2.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input affect1.l : 'java.lang.NullPointerException: Cannot invoke "ts.Ts.addVar(String, util.Type)" because "this.tableLocaleCourante" is null
-	at ts.Sa2ts.visit(Sa2ts.java:39)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecVarSimple.accept(SaDecVarSimple.java:22)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:204)
-	at sa.SaLDecVar.accept(SaLDecVar.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:81)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input affect2.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input affect3.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:214)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input and1.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input and2.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input and3.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input and4.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input and5.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input appel-param1.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:214)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input appel-param2.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:214)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input appel-param3.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:214)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input appel-retour1.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:214)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input appel1.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input appel2.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input appel3.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input div1.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input div2.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input div3.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input div4.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input ecrire1.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input ecrire2.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input egal1.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input egal2.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input egal3.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input fibo.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:214)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input inf1.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input inf2.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input inf3.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input mult1.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input mult2.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input mult3.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input not1.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input not2.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input not3.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input or1.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input or2.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input or3.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input or4.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input or5.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input parenth1.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input parenth2.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input prio34-1.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input prio34-2.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input prio34-3.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input prio34-4.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input prio45-1.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input prio45-2.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input prio45-3.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input prio45-4.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input prio56-1.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input prio56-2.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input prio67-1.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input prio67-2.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input rec1.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:214)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input si1.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input si2.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input si3.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input si4.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input si5.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input sub1.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input sub2.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input sub3.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input tab1.l : 'java.lang.RuntimeException: Erreur
-	at ts.Sa2ts.visit(Sa2ts.java:57)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecTab.accept(SaDecTab.java:24)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:204)
-	at sa.SaLDecVar.accept(SaLDecVar.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:81)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input tab2.l : 'java.lang.RuntimeException: Erreur
-	at ts.Sa2ts.visit(Sa2ts.java:57)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecTab.accept(SaDecTab.java:24)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:204)
-	at sa.SaLDecVar.accept(SaLDecVar.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:81)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input tab3.l : 'java.lang.RuntimeException: Erreur
-	at ts.Sa2ts.visit(Sa2ts.java:57)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecTab.accept(SaDecTab.java:24)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:204)
-	at sa.SaLDecVar.accept(SaLDecVar.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:81)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input tab4.l : 'java.lang.RuntimeException: Erreur
-	at ts.Sa2ts.visit(Sa2ts.java:57)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecTab.accept(SaDecTab.java:24)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:204)
-	at sa.SaLDecVar.accept(SaLDecVar.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:81)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input tantque1.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input tantque2.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input tri.l : 'java.lang.RuntimeException: Erreur
-	at ts.Sa2ts.visit(Sa2ts.java:57)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecTab.accept(SaDecTab.java:24)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:204)
-	at sa.SaLDecVar.accept(SaLDecVar.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:81)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input varglob1.l : 'java.lang.NullPointerException: Cannot invoke "ts.Ts.addVar(String, util.Type)" because "this.tableLocaleCourante" is null
-	at ts.Sa2ts.visit(Sa2ts.java:39)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecVarSimple.accept(SaDecVarSimple.java:22)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:204)
-	at sa.SaLDecVar.accept(SaLDecVar.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:81)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input varglob2.l : 'java.lang.NullPointerException: Cannot invoke "ts.Ts.addVar(String, util.Type)" because "this.tableLocaleCourante" is null
-	at ts.Sa2ts.visit(Sa2ts.java:39)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecVarSimple.accept(SaDecVarSimple.java:22)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:204)
-	at sa.SaLDecVar.accept(SaLDecVar.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:81)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input varglob3.l : 'java.lang.NullPointerException: Cannot invoke "ts.Ts.addVar(String, util.Type)" because "this.tableLocaleCourante" is null
-	at ts.Sa2ts.visit(Sa2ts.java:39)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecVarSimple.accept(SaDecVarSimple.java:22)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:204)
-	at sa.SaLDecVar.accept(SaLDecVar.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:81)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input varglob4.l : 'java.lang.NullPointerException: Cannot invoke "ts.Ts.addVar(String, util.Type)" because "this.tableLocaleCourante" is null
-	at ts.Sa2ts.visit(Sa2ts.java:39)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecVarSimple.accept(SaDecVarSimple.java:22)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:204)
-	at sa.SaLDecVar.accept(SaLDecVar.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:81)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input varloc1.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input varloc2.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input varloc3.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input varloc4.l : 'java.lang.NullPointerException: Cannot invoke "sa.SaLDecVar.accept(sa.SaVisitor)" because the return value of "sa.SaDecFonc.getParametres()" is null
-	at ts.Sa2ts.visit(Sa2ts.java:76)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecFonc.accept(SaDecFonc.java:29)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:213)
-	at sa.SaLDecFonc.accept(SaLDecFonc.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:83)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
-
-ERROR evaluateSa for input varloc5.l : 'java.lang.NullPointerException: Cannot invoke "ts.Ts.addVar(String, util.Type)" because "this.tableLocaleCourante" is null
-	at ts.Sa2ts.visit(Sa2ts.java:39)
-	at ts.Sa2ts.visit(Sa2ts.java:5)
-	at sa.SaDecVarSimple.accept(SaDecVarSimple.java:22)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:204)
-	at sa.SaLDecVar.accept(SaLDecVar.java:21)
-	at sa.SaDepthFirstVisitor.visit(SaDepthFirstVisitor.java:81)
-	at sa.SaProg.accept(SaProg.java:16)
-	at SaVM.main(SaVM.java:34)
-'
+	add1.c3a            INCORRECT
+	add2.c3a            INCORRECT
+	affect1.c3a         INCORRECT
+	affect2.c3a         INCORRECT
+	affect3.c3a         INCORRECT
+	and1.c3a            INCORRECT
+	and2.c3a            INCORRECT
+	and3.c3a            INCORRECT
+	and4.c3a            INCORRECT
+	and5.c3a            INCORRECT
+	appel-param1.c3a    INCORRECT
+	appel-param2.c3a    INCORRECT
+	appel-param3.c3a    INCORRECT
+	appel-retour1.c3a   INCORRECT
+	appel1.c3a          INCORRECT
+	appel2.c3a          INCORRECT
+	appel3.c3a          INCORRECT
+	div1.c3a            INCORRECT
+	div2.c3a            INCORRECT
+	div3.c3a            INCORRECT
+	div4.c3a            INCORRECT
+	ecrire1.c3a         INCORRECT
+	ecrire2.c3a         INCORRECT
+	egal1.c3a           INCORRECT
+	egal2.c3a           INCORRECT
+	egal3.c3a           INCORRECT
+	fibo.c3a            INCORRECT
+	inf1.c3a            INCORRECT
+	inf2.c3a            INCORRECT
+	inf3.c3a            INCORRECT
+	mult1.c3a           INCORRECT
+	mult2.c3a           INCORRECT
+	mult3.c3a           INCORRECT
+	not1.c3a            INCORRECT
+	not2.c3a            INCORRECT
+	not3.c3a            INCORRECT
+	or1.c3a             INCORRECT
+	or2.c3a             INCORRECT
+	or3.c3a             INCORRECT
+	or4.c3a             INCORRECT
+	or5.c3a             INCORRECT
+	parenth1.c3a        INCORRECT
+	parenth2.c3a        INCORRECT
+	prio34-1.c3a        INCORRECT
+	prio34-2.c3a        INCORRECT
+	prio34-3.c3a        INCORRECT
+	prio34-4.c3a        INCORRECT
+	prio45-1.c3a        INCORRECT
+	prio45-2.c3a        INCORRECT
+	prio45-3.c3a        INCORRECT
+	prio45-4.c3a        INCORRECT
+	prio56-1.c3a        INCORRECT
+	prio56-2.c3a        INCORRECT
+	prio67-1.c3a        INCORRECT
+	prio67-2.c3a        INCORRECT
+	rec1.c3a            INCORRECT
+	si1.c3a             INCORRECT
+	si2.c3a             INCORRECT
+	si3.c3a             INCORRECT
+	si4.c3a             INCORRECT
+	si5.c3a             INCORRECT
+	sub1.c3a            INCORRECT
+	sub2.c3a            INCORRECT
+	sub3.c3a            INCORRECT
+	tab1.c3a            INCORRECT
+	tab2.c3a            INCORRECT
+	tab3.c3a            INCORRECT
+	tab4.c3a            INCORRECT
+	tantque1.c3a        INCORRECT
+	tantque2.c3a        INCORRECT
+	tri.c3a             INCORRECT
+	varglob1.c3a        INCORRECT
+	varglob2.c3a        INCORRECT
+	varglob3.c3a        INCORRECT
+	varglob4.c3a        INCORRECT
+	varloc1.c3a         INCORRECT
+	varloc2.c3a         INCORRECT
+	varloc3.c3a         INCORRECT
+	varloc4.c3a         INCORRECT
+	varloc5.c3a         INCORRECT