diff --git a/src/main/java/TP2/asd/SymTable.java b/src/main/java/TP2/asd/SymTable.java index c58c823..d98ad4a 100644 --- a/src/main/java/TP2/asd/SymTable.java +++ b/src/main/java/TP2/asd/SymTable.java @@ -111,20 +111,20 @@ public class SymTable { public Result addNewTempVar(){ String newVar = "temp"+id; - SymTable newSymTab = this.addVar(newVar,new Type_intImp(),false); + SymTable newSymTab = this.addVarInTab(newVar,new Type_intImp(),false); return new Result(newSymTab,newVar); } public Result addParam(String nomParam){ String newParam = "param_"+nomParam+id; - SymTable newSymTab = this.addVar(nomParam,new Type_intImp(),true); + SymTable newSymTab = this.addVarInTab(nomParam,new Type_intImp(),true); return new Result(newSymTab,newParam); } public Result addVar(String nomVar) { PMap top = varMap.get(0); if (top.containsKey(nomVar)) { - System.err.println("Erreur"); + System.err.println("[VSL compile error] :" + "Erreur"); return new Result(this, null); } String realName = nomVar + id; @@ -145,7 +145,7 @@ public class SymTable { return prefix + nomVar + value.id; } } - System.err.println(nomVar+" n'est pas trovué"); + System.err.println("[VSL compile error] :" + nomVar+" n'est pas trovué"); return null; } @@ -155,7 +155,7 @@ public class SymTable { return true; } } - System.err.println(nomVar+" n'est pas trouvé"); + System.err.println("[VSL compile error] :" + nomVar+" n'est pas trouvé"); return false; } @@ -180,7 +180,7 @@ public class SymTable { - public SymTable addVar(String nomVar, Interface.Type type, boolean isParam) { + public SymTable addVarInTab(String nomVar, Interface.Type type, boolean isParam) { PMap top = varMap.get(0); if (top.containsKey(nomVar)) { System.err.println(nomVar+ " déjà déclaré."); diff --git a/src/main/java/TP2/asd/toLLVM_Visitor.java b/src/main/java/TP2/asd/toLLVM_Visitor.java index 3e027b8..3eea0d1 100644 --- a/src/main/java/TP2/asd/toLLVM_Visitor.java +++ b/src/main/java/TP2/asd/toLLVM_Visitor.java @@ -271,6 +271,7 @@ public class toLLVM_Visitor implements ProgramVisitor, l.add(new BrLLVMImp(labelFin)); l.add(new LabelLLVMImp(labelFin)); + prevSymTable.updateId(h); return l; }