From a243ea3555c17113c8d758f9a31a99b4f9870d0d Mon Sep 17 00:00:00 2001 From: alexandre dang <vuongdang9@gmail.com> Date: Thu, 27 Feb 2020 20:10:48 +0100 Subject: [PATCH] =?UTF-8?q?Pr=C3=A9paration=20pour=20le=20TP2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Sujet.pdf | Bin 498085 -> 498194 bytes alpaga/README.md | 20 ++++++++++---------- expr_grammar_action.g | 6 +++--- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/Sujet.pdf b/Sujet.pdf index a7b1ad2d0dc8957c072be8539d1f9bcafbac0fe3..91b343c098fa8b5ffdb6a8055a32342e9d93248b 100644 GIT binary patch delta 17713 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 delta 17557 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 diff --git a/alpaga/README.md b/alpaga/README.md index 91c9860..87f1e36 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 a54468c..52bbaf1 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, []) } -- GitLab