Professional Documents
Culture Documents
TP 8
TP 8
%{
#i n c l u d e <s t d i o . h> // Pour A f f i c h e r l e s m es sag es en s o r t i e
%}
%%
// D e s c r i p t i o n d e s ER e t a f f i c h a g e de message
%%
i n t yywrap ( ) { // Permet de b o u c l e r s u r l e s UL a r e c o n n a i t r e
return 1;
}
main ( ) {
p r i n t f ( ” E n t r e r l e s UL e t j e v a i s l e s r e c o n n a i t r e ” ) ;
Exercice 1
Donnez sous LEX le code qui identifie et affiche un message suivant le tableau
suivant :
Expression régulière à reconnaitre Message à afficher
+ - / ou * Operateur
F. FF. FFF. ... Une suite de F
abab, ababab, abababab. ... Deux ab ou plus
AZE. As2. b3A. SSo. 123. 34c ... Mot de longueur 3
• Donnez en LEX le code qui reconnait les expressions régulière telles que:
b ART c22 r44c2 pTR ple 5
z pi n_ _2
Exercice 2
Ecrire des expressions régulières pour reconnaitre :
1. les identificateurs du C (commencent par une lettre ou un , puis une suite de chiffres, lettres ou );
Exercice 3
Que fait le programme flex suivant ?
%%
”/∗” p r i n t f (”<SE>”);
”∗/” p r i n t f (”<ASE>”);
”\\n” p r i n t f (”<ASN>”);
” ( ” | ” [ ” | ” { ” p r i n t f (”<PO>”);
” ) ” | ” ] ” | ” } ” p r i n t f (”<PF>”);
”?”+ p r i n t f (”<?;%d>”, y y l e n g ) ;
. ;
%%
i n t main ( ) {
yylex ( ) ;
return 0;
}