diff --git a/Sujet.pdf b/Sujet.pdf
index a7b1ad2d0dc8957c072be8539d1f9bcafbac0fe3..91b343c098fa8b5ffdb6a8055a32342e9d93248b 100644
Binary files a/Sujet.pdf and b/Sujet.pdf differ
diff --git a/alpaga/README.md b/alpaga/README.md
index 91c986064c3f370a07d11e224137a2a9f276132e..87f1e36f459b8424335528542d6b89b191c6d92e 100644
--- a/alpaga/README.md
+++ b/alpaga/README.md
@@ -82,13 +82,13 @@ arbre de syntaxe abstraite. Pour ce faire, vous avez deux choses à faire :
   accolades, qui sera copié au début du code source généré pour l'analyseur
   syntaxique. (en fait dans le squelette qui vous est fourni, ce bloc de code
   est déjà présent, et vous n'avez qu'à le remplir.)
-  
+
 - après chaque règle 'X -> w1 w2 ... wn', ajoutez du code entre accolades qui
   construit le sous-arbre correspondant à la dérivation effectuée par cette
   règle. On appelle ce code une **action**.
-  
+
   Le code que vous écrivez correspond donc à la construction d'un terme OCaml.
-  
+
   Par exemple, le morceau suivant vous est fourni :
   '''
   S -> GLOBDEF SYM_EOF {  Node (Tlistglobdef, [$1]) }
@@ -100,22 +100,22 @@ arbre de syntaxe abstraite. Pour ce faire, vous avez deux choses à faire :
       Node (Tfundef, [$1; Node (Tfunargs, fargs) ; instr ])
   }
   '''
-  
+
   Pour une règle X -> w1 w2 ... wn, les variables $i correspondent aux actions
   générées par le symbole wi. Par exemple, dans l'action de la première règle,
   la variable $1 correspond à l'arbre rendu par le non-terminal GLOBDEF.
-  
+
   Les définitions des arbres et nœuds sont trouvées dans le fichier src/ast.ml.
-  
+
   Ces actions vont servir à générer le parser, ce qui se fera avec la commande :
-  
+
   '''
 ./ml_parser_generator -g <votre_fichier_de_grammaire.g> -t <table.html> -pml <generated_parser.ml>
   '''
-  
-  ce qui créera le fichier <generated_parser.ml> à l'endroit où vous l'avez
+
+  Cela créera le fichier <generated_parser.ml> à l'endroit où vous l'avez
   indiqué.
-  
+
   En fait, les différents Makefile de ce projet font que vous n'aurez
   normalement pas à écrire cette commande à la main : un simple 'make test' à la
   racine de ce projet devrait faire tout ce dont vous avez besoin.
diff --git a/expr_grammar_action.g b/expr_grammar_action.g
index a54468cf984589bec121a874a728340df9fe29ba..52bbaf13f443e3a3a0b189366991a599eadd4159 100644
--- a/expr_grammar_action.g
+++ b/expr_grammar_action.g
@@ -5,11 +5,11 @@ tokens SYM_EQUALITY SYM_NOTEQ SYM_LT SYM_LEQ SYM_GT SYM_GEQ
 non-terminals S INSTR INSTRS LINSTRS ELSE EXPR FACTOR
 non-terminals LPARAMS REST_PARAMS
 non-terminals IDENTIFIER INTEGER
-non-terminals GLOBDEF
+non-terminals FUNDEF FUNDEFS
 non-terminals ADD_EXPRS ADD_EXPR
 non-terminals MUL_EXPRS MUL_EXPR
 non-terminals CMP_EXPRS CMP_EXPR
-non-terminals REQ_EXPRS REQ_EXPR
+non-terminals EQ_EXPRS EQ_EXPR
 axiom S
 {
 
@@ -29,4 +29,4 @@ axiom S
 }
 
 rules
-S -> GLOBDEF SYM_EOF {  Node (Tlistglobdef, []) }
+S -> FUNDEFS SYM_EOF {  Node (Tlistglobdef, []) }