Contruire un analyseur lexical qui vérifie
s'il n'y a pas deux fois de suite le même mot dans un texte et qui
supprime, le cas échéant, la deuxième occurrence du mot.
– Dans un premier temps, la fin du texte sera
indiquée
par un point ;
– Dans un deuxième temps, l'analyse s'achèvera
après la première ligne qui ne se termine pas par la chaîne "//".
Exercice 2
2.1.
Construire un analyseur qui, pour chaque lettre
minuscule d'un texte, affiche après chaque ligne le
nombre de fois où cette lettre est apparue en tout.
2.2. * (à ne construire réellement que si vous êtes en avance)
Comment construire un analyseur qui, pour chaque mot
(en minuscules) d'un texte, affiche le
nombre de fois où ce mot est apparu ? en
quoi le problème est-il plus compliqué ?
3.3.
Modifier ce programme pour qu'il bascule aussi
dans le mode "anomalie" si le parenthésage est incorrect.
Exercice 4
Modification de l'analyseur de la question 5.3.b de l'exercice 5 du TP1 :
l'analyseur devra parcourir le brin d'ARN jusqu'à trouver un codon
START et commencer la traduction. Il finira la traduction par un codon
STOP ou indiquera une fin non conforme.
Exercice 5
Construire un analyseur qui soit capable de reconnaître à
la fois un programme source en C/C++ et un programme sources en Pascal,
un même source n'utilisant qu'un seul langage. On se limitera à
l'exemple sans variables ci-dessous. (Bien
évidemment, en Pascal, BEGIN vient avant END et, en
C/C++, on doit avoir dans l'ordre main(), {, et
})