La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Groupe IHM Isabelle BONDOUX Cédric CASTAGNE Samy FOUILLEUX

Présentations similaires


Présentation au sujet: "Groupe IHM Isabelle BONDOUX Cédric CASTAGNE Samy FOUILLEUX"— Transcription de la présentation:

1 Groupe IHM Isabelle BONDOUX Cédric CASTAGNE Samy FOUILLEUX
Damien BARON Maxime CHAMBREUIL UV d’Algorithmique - ASI3 - Année 2001 / 2002

2 Déroulement Notre rôle et notre conception de l’IHM
Lexèmes fixés et génériques La grammaire Le Lex Le Yacc UV d’Algorithmique - ASI3 - Année 2001 / 2002

3 Notre rôle et notre conception de l’IHM
Ce que rentre l’utilisateur Ce que nous en faisons Ce que nous retournerons, un jour…avant le mois de juillet UV d’Algorithmique - ASI3 - Année 2001 / 2002

4 Lexèmes fixés et génériques
Def: ensemble de caractères formant une unité sémantique Opérateurs de base : =,+,-,*,/,div Opérateurs sur les entiers : !, A , C Chiffre: ‘0’, ‘1’, …, ‘9’ NbeEntier: chiffre (chiffre)* UV d’Algorithmique - ASI3 - Année 2001 / 2002

5 La grammaire 1/2 Arbre de priorité Exemple:
Facteur  Terme | Facteur OpMaj Facteur | (Expr1) Terme  NbeReel | NbeEntier | Constante | Matrice OpMaj  * | / | div | mod | ^ | . Constante  PI | e | PHI | EM UV d’Algorithmique - ASI3 - Année 2001 / 2002

6 La grammaire 2 / 2 Associativité Exemple :
4 * 3 * 2 = ( 4 * 3 ) * 2 à gauche 4 * 3 * 2 = 4 * ( 3 * 2 ) à droite UV d’Algorithmique - ASI3 - Année 2001 / 2002

7 Le Lex 1 / 2 Analyseur lexical = découpage de la chaîne de caractères
Il reconnaît le type des expressions saisies Il envoie au Yacc la valeur et le type d’une expression reconnue UV d’Algorithmique - ASI3 - Année 2001 / 2002

8 Le Lex 2 / 2 %{#include<stdlib.h> %} chiffre [0-9] %%
« div » {return DIV;} {chiffre}+ {return creerEntierInfiniAPartirDe(yytext);} [ \t\n] {yyerror (« Caractère inconnu »);} main() {yylex();} UV d’Algorithmique - ASI3 - Année 2001 / 2002

9 Le Yacc 1 / 3 Analyseur grammatical Il appelle les fonctions de calcul
Il affiche le résultat et les erreurs du programme UV d’Algorithmique - ASI3 - Année 2001 / 2002

10 Le Yacc 2 / 3 %{#include « Matrice.h »
typedef struct {…} typeRetourneParDollar; %} %union{ EntierInfini entier;}; %token <entier> NbeEntier %left ‘=‘, ‘+’,’’-’ %type <dollar> S Expr1 … Facteur Terme %start Program %% UV d’Algorithmique - ASI3 - Année 2001 / 2002

11 Le Yacc 3 / 3 %% Program:S’\n’ {afficher($1);}
S:Variable’=‘Expr1 {$$=affecter($1,$3);} | Expr1 {$$=$1;} ; void yyerror(char* s) {printf(stdout, »%s\n », s);} int main (void) {yyparse(); return 0;} UV d’Algorithmique - ASI3 - Année 2001 / 2002

12 La Compilation bison –d virgule.y produit les fichiers virgule.tab.c et virgule.tab.h flex virgule.lex produit le fichier lex.yy.c gcc lex.yy.c virgule.tab.c UV d’Algorithmique - ASI3 - Année 2001 / 2002

13 Conclusion Les fichiers lex et yacc compilent !!!
Reste à faire : récupérer les .o et débuguer Nous avons découvert : La compilation, Lex et Yacc, l’IHM Organisation du travail en groupe Motivés pour l’UV Libre ??? UV d’Algorithmique - ASI3 - Année 2001 / 2002


Télécharger ppt "Groupe IHM Isabelle BONDOUX Cédric CASTAGNE Samy FOUILLEUX"

Présentations similaires


Annonces Google