correction Call et CallVoid avec print et read + clean
This commit is contained in:
@@ -173,7 +173,7 @@ public class toLLVM_Visitor implements ProgramVisitor<SymTable,ProgramLLVMImp>,
|
||||
ArrayList<ValLLVM> params = new ArrayList<>();
|
||||
|
||||
String name = h.getGlobalDeclName();
|
||||
VarLLVMImp varGlobal = new VarLLVMImp(new CharLLVMImp(true),name,true);
|
||||
VarLLVMImp varGlobal = new VarLLVMImp(new PointerLLVMImp(new CharLLVMImp()),name,true);
|
||||
|
||||
params.add(varGlobal);
|
||||
String strGlobal = "";
|
||||
@@ -183,7 +183,7 @@ public class toLLVM_Visitor implements ProgramVisitor<SymTable,ProgramLLVMImp>,
|
||||
if(obj instanceof String){
|
||||
String str = (String)obj;
|
||||
size+=str.length(); //on compte avant car \0A compte pour 1 en LLVM, mais 3 pour java
|
||||
str = str.replace("\n", "\\0A");
|
||||
str = str.replace("\\n", "\\0A");
|
||||
strGlobal+=str;
|
||||
}
|
||||
else if(obj instanceof Expression){
|
||||
@@ -198,7 +198,7 @@ public class toLLVM_Visitor implements ProgramVisitor<SymTable,ProgramLLVMImp>,
|
||||
}
|
||||
strGlobal+="\\00";
|
||||
|
||||
DeclarGlobalLLVMImp globalDecl = new DeclarGlobalLLVMImp(varGlobal,new CharLLVMImp(false),strGlobal,size); //TODO
|
||||
DeclarGlobalLLVMImp globalDecl = new DeclarGlobalLLVMImp(varGlobal,new CharLLVMImp(),strGlobal,size); //TODO
|
||||
h.addGlobalDecl(globalDecl);
|
||||
|
||||
l.add(new PrintLLVMImp(globalDecl,params));
|
||||
@@ -211,7 +211,7 @@ public class toLLVM_Visitor implements ProgramVisitor<SymTable,ProgramLLVMImp>,
|
||||
ArrayList<ValLLVM> params = new ArrayList<>();
|
||||
|
||||
String name = h.getGlobalDeclName();
|
||||
VarLLVMImp varGlobal = new VarLLVMImp(new CharLLVMImp(true),name,true);
|
||||
VarLLVMImp varGlobal = new VarLLVMImp(new PointerLLVMImp(new CharLLVMImp()),name,true);
|
||||
|
||||
params.add(varGlobal);
|
||||
|
||||
@@ -232,7 +232,7 @@ public class toLLVM_Visitor implements ProgramVisitor<SymTable,ProgramLLVMImp>,
|
||||
}
|
||||
strGlobal+="\\00";
|
||||
|
||||
DeclarGlobalLLVMImp globalDecl = new DeclarGlobalLLVMImp(varGlobal,new CharLLVMImp(false),strGlobal,size);//TODO
|
||||
DeclarGlobalLLVMImp globalDecl = new DeclarGlobalLLVMImp(varGlobal,new CharLLVMImp(),strGlobal,size);//TODO
|
||||
h.addGlobalDecl(globalDecl);
|
||||
|
||||
l.add(new ScanLLVMImp(globalDecl,params));
|
||||
|
||||
Reference in New Issue
Block a user