Groupe IHM Isabelle BONDOUX Cédric CASTAGNE Samy FOUILLEUX Damien BARON Maxime CHAMBREUIL UV...

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

Transcript of Groupe IHM Isabelle BONDOUX Cédric CASTAGNE Samy FOUILLEUX Damien BARON Maxime CHAMBREUIL UV...

Page 1: Groupe IHM Isabelle BONDOUX Cédric CASTAGNE Samy FOUILLEUX Damien BARON Maxime CHAMBREUIL UV dAlgorithmique - ASI3 - Année 2001 / 2002.

Groupe IHMGroupe IHM

Isabelle BONDOUX

Cédric CASTAGNE

Samy FOUILLEUX

Damien BARON

Maxime CHAMBREUIL

UV d’Algorithmique - ASI3 - Année 2001 / 2002

Page 2: Groupe IHM Isabelle BONDOUX Cédric CASTAGNE Samy FOUILLEUX Damien BARON Maxime CHAMBREUIL UV dAlgorithmique - ASI3 - Année 2001 / 2002.

DéroulementDéroulement

Notre rôle et notre conception de l’IHMLexèmes fixés et génériquesLa grammaireLe LexLe Yacc

UV d’Algorithmique - ASI3 - Année 2001 / 2002

Page 3: Groupe IHM Isabelle BONDOUX Cédric CASTAGNE Samy FOUILLEUX Damien BARON Maxime CHAMBREUIL UV dAlgorithmique - ASI3 - Année 2001 / 2002.

Notre rôle et notre conception Notre rôle et notre conception de l’IHMde 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

Page 4: Groupe IHM Isabelle BONDOUX Cédric CASTAGNE Samy FOUILLEUX Damien BARON Maxime CHAMBREUIL UV dAlgorithmique - ASI3 - Année 2001 / 2002.

Lexèmes fixés et génériquesLexèmes fixés et génériques

Def: ensemble de caractères formant une unité sémantique

Opérateurs de base : =,+,-,*,/,divOpérateurs sur les entiers : !, A , C

Chiffre: ‘0’, ‘1’, …, ‘9’NbeEntier: chiffre (chiffre)*

UV d’Algorithmique - ASI3 - Année 2001 / 2002

Page 5: Groupe IHM Isabelle BONDOUX Cédric CASTAGNE Samy FOUILLEUX Damien BARON Maxime CHAMBREUIL UV dAlgorithmique - ASI3 - Année 2001 / 2002.

La grammaire 1/2La 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

Page 6: Groupe IHM Isabelle BONDOUX Cédric CASTAGNE Samy FOUILLEUX Damien BARON Maxime CHAMBREUIL UV dAlgorithmique - ASI3 - Année 2001 / 2002.

La grammaire 2 / 2La grammaire 2 / 2Associativité

Exemple :

4 * 3 * 2 = ( 4 * 3 ) * 2 à gauche

4 * 3 * 2 = 4 * ( 3 * 2 ) à droite

UV d’Algorithmique - ASI3 - Année 2001 / 2002

Page 7: Groupe IHM Isabelle BONDOUX Cédric CASTAGNE Samy FOUILLEUX Damien BARON Maxime CHAMBREUIL UV dAlgorithmique - ASI3 - Année 2001 / 2002.

Le Lex 1 / 2Le 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

Page 8: Groupe IHM Isabelle BONDOUX Cédric CASTAGNE Samy FOUILLEUX Damien BARON Maxime CHAMBREUIL UV dAlgorithmique - ASI3 - Année 2001 / 2002.

Le Lex 2 / 2Le 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

Page 9: Groupe IHM Isabelle BONDOUX Cédric CASTAGNE Samy FOUILLEUX Damien BARON Maxime CHAMBREUIL UV dAlgorithmique - ASI3 - Année 2001 / 2002.

Le Yacc 1 / 3Le 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

Page 10: Groupe IHM Isabelle BONDOUX Cédric CASTAGNE Samy FOUILLEUX Damien BARON Maxime CHAMBREUIL UV dAlgorithmique - ASI3 - Année 2001 / 2002.

Le Yacc 2 / 3Le 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

Page 11: Groupe IHM Isabelle BONDOUX Cédric CASTAGNE Samy FOUILLEUX Damien BARON Maxime CHAMBREUIL UV dAlgorithmique - ASI3 - Année 2001 / 2002.

Le Yacc 3 / 3Le 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

Page 12: Groupe IHM Isabelle BONDOUX Cédric CASTAGNE Samy FOUILLEUX Damien BARON Maxime CHAMBREUIL UV dAlgorithmique - ASI3 - Année 2001 / 2002.

La CompilationLa 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

Page 13: Groupe IHM Isabelle BONDOUX Cédric CASTAGNE Samy FOUILLEUX Damien BARON Maxime CHAMBREUIL UV dAlgorithmique - ASI3 - Année 2001 / 2002.

ConclusionConclusionLes 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