print et read presque fini !

This commit is contained in:
trochas
2025-04-28 18:14:31 +02:00
parent 79920ed4d4
commit 291bc96079
5 changed files with 17 additions and 15 deletions

View File

@@ -12,7 +12,7 @@ public class SymTable {
private PStack<PMap<String,ValueVarMap>> varMap;
private PMap<String,ValueFunMap> functionsMap;
private int[] id ; //id partagé entre toute les symTable, [0] : idVar, [1] : id Label, [2] : global
private int[] id ; //id partagé entre toute les symTable, [0] : idVar, [1] : idLabel, [2] : idGlobalVar
private ArrayList<DeclarGlobalLLVMImp> declarationsGlobal;
public SymTable(){
@@ -20,8 +20,9 @@ public class SymTable {
this.varMap= ConsPStack.singleton(HashTreePMap.empty());
this.functionsMap = HashTreePMap.empty();
this.declarationsGlobal = new ArrayList<>();
this.id[0] = 1;
this.id[1] = 1;
this.id[0] = 1; //idVar
this.id[1] = 1; //idLaber
this.id[2] = 1; //idGlobalVar
}
public SymTable(PStack<PMap<String,ValueVarMap>> varMap, PMap<String,ValueFunMap> functionsMap, int[] id,ArrayList<DeclarGlobalLLVMImp> declarationsGlobal){
this.varMap= varMap;

View File

@@ -160,8 +160,8 @@ public class toLLVM_Visitor implements ProgramVisitor<SymTable,ProgramLLVMImp>,
ArrayList<ValLLVM> params = new ArrayList<>();
String name = h.getGlobalDeclName();
DeclarGlobalLLVMImp globalDecl = new DeclarGlobalLLVMImp(name);
VarLLVMImp varGlobal = new VarLLVMImp(new StringLLVMImp(),name,true);
VarLLVMImp varGlobal = new VarLLVMImp(new CharLLVMImp(true),name,true);
DeclarGlobalLLVMImp globalDecl = new DeclarGlobalLLVMImp(varGlobal,new CharLLVMImp(false),0); //TODO
h.addGlobalDecl(globalDecl);
params.add(varGlobal);
@@ -180,8 +180,8 @@ public class toLLVM_Visitor implements ProgramVisitor<SymTable,ProgramLLVMImp>,
ArrayList<ValLLVM> params = new ArrayList<>();
String name = h.getGlobalDeclName();
DeclarGlobalLLVMImp globalDecl = new DeclarGlobalLLVMImp(name);
VarLLVMImp varGlobal = new VarLLVMImp(new StringLLVMImp(),name,true);
VarLLVMImp varGlobal = new VarLLVMImp(new CharLLVMImp(true),name,true);
DeclarGlobalLLVMImp globalDecl = new DeclarGlobalLLVMImp(varGlobal,new CharLLVMImp(false),0);//TODO
h.addGlobalDecl(globalDecl);
params.add(varGlobal);