symTable Var
This commit is contained in:
@@ -85,7 +85,10 @@ public class toLLVM_Visitor implements ProgramVisitor<SymTable,ProgramLLVMImpl>
|
||||
ArrayList<InstructionLLVM> list = new ArrayList<>();
|
||||
for(int i = 0; i<instr.s().size();i++){
|
||||
TypeLLVM t2 = instr.t().accept(this,h);
|
||||
String name = instr.s().get(i);//h.addVarLLVM(instr.s().get(i));
|
||||
//String name = instr.s().get(i);//h.addVarLLVM(instr.s().get(i));
|
||||
Result r = h.addVar(instr.s().get(i));
|
||||
String name = r.var;
|
||||
h = r.symTable;
|
||||
list.add(new AssignLVMImpl(new VarLLVMImpl(t2, name),new allocaLLVMImpl(t2)));
|
||||
}
|
||||
return list;
|
||||
@@ -115,7 +118,7 @@ public class toLLVM_Visitor implements ProgramVisitor<SymTable,ProgramLLVMImpl>
|
||||
|
||||
@Override
|
||||
public InstrAndVal visitVar(VarImp e, SymTable h) {
|
||||
ValLLVM val = new VarLLVMImpl(new IntLLVMImpl(), e.name());
|
||||
ValLLVM val = new VarLLVMImpl(new IntLLVMImpl(), h.getVar(e.name()));
|
||||
return new InstrAndVal(new ArrayList<>(), val);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user