@@ -0,0 +1,1180 @@
+package compiler;%0A%0Aimport java.util.ArrayList;%0Aimport java.util.List;%0A%0A/**%0A * Gestion des fonctions, de leur type et param%C3%A8tres%0A *%0A */%0Apublic class IdFun extends Ident %7B%0A%0A%09private List%3CParameter%3E parameters; %0A%09%0A%09/****************************************%0A%09 * Sous-classe pour g%C3%A9rer les param%C3%A8tres.%0A%09 ****************************************/%0A%09class Parameter %7B%0A%09%09String name;%0A%09%09IdVar id;%0A%09%09%0A%09%09/* Constructeur */%0A%09%09public Parameter(String n, IdVar p) %7B%0A%09%09%09name = n;%0A%09%09%09id = p;%0A%09%09%7D%0A%09%09%0A%09%09/* GetSet */%0A%09%09public String getName()%7B return name; %7D%0A%09%09public IdVar getIdent()%7B return id; %7D%0A%0A%09%09%0A%09%09public String toString()%7B%0A%09%09%09return name+%22 %22+id;%0A%09%09%7D%0A%09%09%0A%09%7D%0A%09%0A%09// Contructeur de fonction sans param%C3%A8tre%0A%09public IdFun(Type t) %7B%0A%09%09super(t); // type de retour%0A%09%09parameters =  new ArrayList%3CParameter%3E();%0A%09%7D%0A%09%0A%09public List%3CParameter%3E getParameters()%7B%0A%09%09return parameters;%0A%09%7D%0A%09/**%0A%09 * Ajoute un param%C3%A8tre %C3%A0 la fonction%0A%09 */%0A%09public void addParameter(String name, IdVar p)%7B%0A%09%09parameters.add(new Parameter(name, p));%0A%09%7D%0A%09%0A%09/**%0A%09 * String output for debug purpose%0A%09 */%0A%09public String toString()%7B%0A%09%09String s = new String(%22FONCTION%5Cn%22);%0A%09%09for (Parameter i : parameters) %7B%0A%09%09%09s += i;%0A%09%09%7D%0A%09%09return s;%0A%09%7D%0A%7D%0A

Implement functions