correction
This commit is contained in:
@@ -111,20 +111,20 @@ public class SymTable {
|
|||||||
|
|
||||||
public Result addNewTempVar(){
|
public Result addNewTempVar(){
|
||||||
String newVar = "temp"+id;
|
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);
|
return new Result(newSymTab,newVar);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Result addParam(String nomParam){
|
public Result addParam(String nomParam){
|
||||||
String newParam = "param_"+nomParam+id;
|
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);
|
return new Result(newSymTab,newParam);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Result addVar(String nomVar) {
|
public Result addVar(String nomVar) {
|
||||||
PMap<String, ValueVarMap> top = varMap.get(0);
|
PMap<String, ValueVarMap> top = varMap.get(0);
|
||||||
if (top.containsKey(nomVar)) {
|
if (top.containsKey(nomVar)) {
|
||||||
System.err.println("Erreur");
|
System.err.println("[VSL compile error] :" + "Erreur");
|
||||||
return new Result(this, null);
|
return new Result(this, null);
|
||||||
}
|
}
|
||||||
String realName = nomVar + id;
|
String realName = nomVar + id;
|
||||||
@@ -145,7 +145,7 @@ public class SymTable {
|
|||||||
return prefix + nomVar + value.id;
|
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;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -155,7 +155,7 @@ public class SymTable {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
System.err.println(nomVar+" n'est pas trouvé");
|
System.err.println("[VSL compile error] :" + nomVar+" n'est pas trouvé");
|
||||||
return false;
|
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<String,ValueVarMap> top = varMap.get(0);
|
PMap<String,ValueVarMap> top = varMap.get(0);
|
||||||
if (top.containsKey(nomVar)) {
|
if (top.containsKey(nomVar)) {
|
||||||
System.err.println(nomVar+ " déjà déclaré.");
|
System.err.println(nomVar+ " déjà déclaré.");
|
||||||
|
|||||||
@@ -271,6 +271,7 @@ public class toLLVM_Visitor implements ProgramVisitor<SymTable,ProgramLLVMImp>,
|
|||||||
l.add(new BrLLVMImp(labelFin));
|
l.add(new BrLLVMImp(labelFin));
|
||||||
|
|
||||||
l.add(new LabelLLVMImp(labelFin));
|
l.add(new LabelLLVMImp(labelFin));
|
||||||
|
prevSymTable.updateId(h);
|
||||||
return l;
|
return l;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user