TP Compilation Dr. T.
DIAB
Cas exceptionnels :
Exemple Flex Chaine de caractères Résultat Commentaires
entrée
\< {printf (“Meta_c”);} < Meta_c Le caractère \ est utilisé pour :
- Afficher les métacaractères
\n {printf (“Entrer”);} (Cliquer sur Entrer) Entrer littéralement,
- Exécuter la signification de certains
\H {printf (“Maj”);} H Maj caractères (\n, \t…),
- Peut être utilisé pour afficher des
\5 {printf (“Chiffre”);} Chiffre chiffres et majuscules.
5
ab(puis tapez Entrer)
ab\nc {printf (“id”);} id id est affichée après le deuxième Entrer
(puis tapez c)c
Entrer la chaine de caractères qu’elle est entre ""
"abc*+" {printf (“id”);} abc*+ id littéralement (sauf le caractère \)
"abc*+\\" {printf (“id”);} abc*+\ id Pour afficher \, écrire \\
"abc*+\n" {printf (“id”);} Abc*+(puis taper Entrer) id A l’intérieur des "", le caractère \ voit le caractère
qui suit pour exécuter sa signification :
"ab\tc*+" {printf (“id”);} ab c*+(ab puis tabulation id \n => Entrer
puis c*+) \t => tabulation
"ab\Ac*+" {printf (“id”);} abAc*+ id A l’intérieur des "", si après le caractère \ un
majuscule, chiffre, symbole (autre qu’un
"ab\6c*+" {printf (“id”);} ab6c*+ id minuscule) => affiche ce caractère littéralement
"ab\-c*+" {printf (“id”);} ab-c*+ id
A l’intérieur des [], un seul caractère est
[dgh+*] {printf (“id”);} d (ou) g (ou) h (ou) + (ou) * id concerné (sauf \ et -)
[d\nf\t\Si\8] {printf d (ou) Entrer (ou) f (ou) id A l’intérieur des [], le caractère \ voit le caractère
(“id”);} qui suit pour exécuter sa signification
tabulation (ou) S (ou) i (ou) 8
a (ou n’importe quel caractère id Si le caractère – est au milieu des caractères
[ah-n*+] {printf (“id”);} entre h et n) (ou) * (ou) + entre [] => il signifie l’ensemble des caractères
entre le caractère à gauche et celui à droite
[ah*+-] {printf (“id”);} a (ou) h (ou) * (ou) + (ou) – id Si le caractère – est au début ou à la fin => il
signifie le – littéralement
[-ah*+] {printf (“id”);} - (ou) a (ou) h (ou) * (ou) + id
A l’intérieur des [], le caractère | (ou) devient un
[ah|k] {printf (“id”);} a (ou) h (ou) | (ou) k id caractère normal
%%
abab IdErrErr ^ signifie le début de la ligne (première ab)
^ab {printf (“Id”);}
. {printf (“Err”);}
%%
ab(au début) …
^ab|xy {printf (“id”);} id … ^ab|xy égale à ^(ab|xy)
(ou)
xy(au début) …