test unimplant

This commit is contained in:
Vu Tuan Minh
2025-04-10 10:56:11 +02:00
parent ecdb8ac687
commit 48763ff76e
8 changed files with 62 additions and 24 deletions

View File

@@ -85,10 +85,7 @@ 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));
Result r = h.addVar(instr.s().get(i));
String name = r.var;
h = r.symTable;
String name = instr.s().get(i);//h.addVarLLVM(instr.s().get(i));
list.add(new AssignLVMImpl(new VarLLVMImpl(t2, name),new allocaLLVMImpl(t2)));
}
return list;
@@ -120,11 +117,10 @@ public class toLLVM_Visitor implements ProgramVisitor<SymTable,ProgramLLVMImpl>
throw new UnsupportedOperationException("Unimplemented method 'visitIfThenElse'");
}
@Override
public ArrayList<InstructionLLVM> visitWhile(WhileImp instr, SymTable h) {
// TODO Auto-generated method stub
throw new UnsupportedOperationException("Unimplemented method 'visitWhile'");
ArrayList<InstructionLLVM> l = new ArrayList<>();
return l;
}
//EXPRESSION
@@ -137,7 +133,7 @@ public class toLLVM_Visitor implements ProgramVisitor<SymTable,ProgramLLVMImpl>
@Override
public InstrAndVal visitVar(VarImp e, SymTable h) {
ValLLVM val = new VarLLVMImpl(new IntLLVMImpl(), h.getVar(e.name()));
ValLLVM val = new VarLLVMImpl(new IntLLVMImpl(), e.name());
return new InstrAndVal(new ArrayList<>(), val);
}