diff --git a/src/main/antlr/VSLParser.g b/src/main/antlr/VSLParser.g index c8b0150..4f04922 100644 --- a/src/main/antlr/VSLParser.g +++ b/src/main/antlr/VSLParser.g @@ -124,10 +124,16 @@ instruction returns [Instruction out]: } ) BacF | //ASSIGN - i=ident ASSIGN e=expression - { + i=ident + (ASSIGN e=expression + { $out = new AssignImp($i.out, $e.out); - } + } + |ParO (para=list_expression)? ParF + { + $out = new VoidFunctionImp($i.out,($para.out != null) ? $para.out : new ArrayList<>()); + } + ) | // PRINT PRINT {ArrayList printer= new ArrayList();} diff --git a/src/main/java/TP2/asd/PrettyprinterVisitor.java b/src/main/java/TP2/asd/PrettyprinterVisitor.java index 7c037cf..1fe1026 100644 --- a/src/main/java/TP2/asd/PrettyprinterVisitor.java +++ b/src/main/java/TP2/asd/PrettyprinterVisitor.java @@ -157,7 +157,7 @@ public class PrettyprinterVisitor implements ProgramVisitor, @Override public String visitVoidFunction(VoidFunctionImp instr, String h) { - String str = instr.nom()+ "( "; + String str = h+instr.nom()+ "("; for(int i=0;i, if (!(fun.define.type() instanceof VoidLLVMImp)){ System.err.println("Fonction n'est pas un void"); + return l; } l.add(new CallLLVMImp(fun.define,paramsLLVM,""));