diff --git a/src/main/java/TP2/asd/toLLVM_Visitor.java b/src/main/java/TP2/asd/toLLVM_Visitor.java index f38f522..ebcbaf2 100644 --- a/src/main/java/TP2/asd/toLLVM_Visitor.java +++ b/src/main/java/TP2/asd/toLLVM_Visitor.java @@ -143,8 +143,20 @@ public class toLLVM_Visitor implements ProgramVisitor @Override public ArrayList visitIfThen(IfThenImp instr, SymTable h) { - // TODO Auto-generated method stub - throw new UnsupportedOperationException("Unimplemented method 'visitIfThen'"); + ArrayList l = new ArrayList<>(); + String labelIf= "if"+h.getNewIdLabel(); + String labelThen= "then"+h.getNewIdLabel(); + String labelEnd= "end"+h.getNewIdLabel(); + + l.add(new LabelLLVMImp(labelIf)); + //TODO + + //Je t'attends Tibo + l.add(new LabelLLVMImp(labelThen)); + //TODO + + l.add(new LabelLLVMImp(labelEnd)); + return l; } @Override @@ -157,8 +169,8 @@ public class toLLVM_Visitor implements ProgramVisitor public ArrayList visitWhile(WhileImp instr, SymTable h) { ArrayList l = new ArrayList<>(); - String labelWhile = "while"+h.getNewIdLabel(); - String labelDo = "do"+h.getNewIdLabel(); + String labelWhile = "while"+h.getNewIdLabel()+":"; + String labelDo = "do"+h.getNewIdLabel()+":"; String labelDone = "done"+h.getNewIdLabel(); l.add(new LabelLLVMImp(labelWhile)); diff --git a/src/main/java/TP2/llvm/PrettyprinterLLVM_Visitor.java b/src/main/java/TP2/llvm/PrettyprinterLLVM_Visitor.java index 98eb2e4..93bc6ed 100644 --- a/src/main/java/TP2/llvm/PrettyprinterLLVM_Visitor.java +++ b/src/main/java/TP2/llvm/PrettyprinterLLVM_Visitor.java @@ -151,4 +151,9 @@ TypeLLVMVisitor public String visitVoidLLVM(VoidLLVMImpl e, String h) { return "void"; } + + @Override + public String visitLabelLLVM(LabelLLVMImp instr, String h) { + return ""; + } }