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