TP n°3 de Compilation

Exercices

Utiliser Lex pour la reconnaissance de différents langages : chaque ligne saisie par l'analyseur correspondra à un mot à accepter ou à rejeter.

1.
Ensemble des mots sur l'alphabet {a,b} ayant un nombre pair de 'a' et un nombre pair de 'b'.

2.
Ensemble des mots sur l'alphabet {a..z,A..Z,-} ayant, entre deux tirets un nombre pair de majuscules et un nombre pair de minuscules.

3.
Ensemble des brins d'ARN (langage sur l'alphabet {A,U,G,C}) ayant au moins une fois un codon pour l'asparagine (AAU ou AAC) et au moins une fois un codon pour l'isoleucine (AUU, AUC ou AUA).

4.
Le complémentaire du langage précédent sur l'alphabet {A,U,G,C}.

5.
Ensemble des mots sur l'alphabet {A..Z} ayant autant de 'N' que de 'S' et autant de 'E' que de 'W'.

6.
Ensemble des mots sur l'alphabet {a..v,x,z} où :
• chaque consonne est forcément suivi d'une voyelle (au moins),
sauf 'q' qui peut être en fin de mot, mais qui sinon doit être suivi de deux voyelles (au moins), et
sauf 'l' (L minuscule) et 'r' qui peuvent ne pas être suivis d'une voyelle s'ils ne sont pas en début de mot.