diff --git a/src/main/java/TP2/Main.java b/src/main/java/TP2/Main.java index cf65198..1a1bf17 100644 --- a/src/main/java/TP2/Main.java +++ b/src/main/java/TP2/Main.java @@ -75,7 +75,12 @@ public class Main { String llvmStr = astLLVM.prettyprinter(); out2.println(llvmStr); - + /* + utiliser la commande : + java -jar build/libs/TP2.jar file.vsl > file.ll + provoque peut provoquer de mauvais encodage (UTF16(LE) au lieu d'UTF8) + et empĂȘche l'utilisation de print pour autre chose + */ String sortieLLVM = args[0].replace(".vsl", ".ll"); Files.write( Paths.get(sortieLLVM), diff --git a/src/main/java/TP2/asd/toLLVM_Visitor.java b/src/main/java/TP2/asd/toLLVM_Visitor.java index c940314..5fb040e 100644 --- a/src/main/java/TP2/asd/toLLVM_Visitor.java +++ b/src/main/java/TP2/asd/toLLVM_Visitor.java @@ -117,7 +117,7 @@ public class toLLVM_Visitor implements ProgramVisitor, r = h.addVar(nom, arrayType); } h = r.symTable; - list.add(new AssignLLVMImp(new VarLLVMImp(t2, nom,false),new allocaLLVMImp(t2))); + list.add(new AssignLLVMImp(new VarLLVMImp(t2, r.var,false),new allocaLLVMImp(t2))); } return new InstrAndSymTable(list,h); } diff --git a/tests/fragment1/while2 b/tests/fragment1/while2 index c903e04..1b587af 100755 Binary files a/tests/fragment1/while2 and b/tests/fragment1/while2 differ