diff --git a/src/main/java/TP2/asd/PrettyprinterVisitor.java b/src/main/java/TP2/asd/PrettyprinterVisitor.java index 1127c41..40a04b1 100644 --- a/src/main/java/TP2/asd/PrettyprinterVisitor.java +++ b/src/main/java/TP2/asd/PrettyprinterVisitor.java @@ -36,9 +36,9 @@ public class PrettyprinterVisitor implements ProgramVisitor, public String visitPrototype(PrototypeImp proto, String indent){ String str= indent + "PROTO "+proto.type().accept(this, "")+ " "+ proto.nom() + "("; - for(int i=0; i, public String visitFunction(FunctionImp fun, String indent) { String str = indent+"FUNC " + fun.type().accept(this,"")+ " " + fun.nom() +"("; - for(int i=0; i, return e.name(); } -} +} \ No newline at end of file diff --git a/src/main/java/TP2/asd/Program.java b/src/main/java/TP2/asd/Program.java index 8f884b7..04f8b4d 100644 --- a/src/main/java/TP2/asd/Program.java +++ b/src/main/java/TP2/asd/Program.java @@ -25,7 +25,7 @@ public class Program{ } //Prototype - public static record PrototypeImp(Type type, String nom, ArrayList s) implements Prototype{ + public static record PrototypeImp(Type type, String nom, ArrayList params) implements Prototype{ @Override public S accept(PrototypeVisitor v, H h) { return v.visitPrototype(this,h); @@ -34,7 +34,7 @@ public class Program{ } //Fonction - public static record FunctionImp(Type type, String nom, ArrayList s,Instruction instruction)implements Function { + public static record FunctionImp(Type type, String nom, ArrayList params,Instruction instruction)implements Function { //public FunctionImp(Type type, String name, Instruction instruction) { // this(type, name, new ArrayList<>() {{ add(instruction); }}); C KOI ? //} @@ -62,7 +62,7 @@ public class Program{ return v.visitVar(this, h); } } - + //Declaration public static record DeclarationImp(Type t, ArrayList s) implements Declaration{ diff --git a/src/main/java/TP2/asd/toLLVM_Visitor.java b/src/main/java/TP2/asd/toLLVM_Visitor.java index 4e5566b..1821772 100644 --- a/src/main/java/TP2/asd/toLLVM_Visitor.java +++ b/src/main/java/TP2/asd/toLLVM_Visitor.java @@ -56,6 +56,11 @@ public class toLLVM_Visitor implements ProgramVisitor @Override public DefineLLVM visitFunction(FunctionImp fun, SymTable h) { ArrayList instrLLVM = new ArrayList<>(); + ArrayList paramsLLVM = new ArrayList<>(); + for(VarImp param: fun.params()){ + paramsLLVM.add(param.accept(this, h).val); + } + instrLLVM.addAll(fun.instruction().accept(this, h)); return new DefineLLVMImpl(fun.nom(), fun.type().accept(this, h), new ArrayList<>(), instrLLVM); }