FST - D´epartement G´enie Informatique Ens.: M.T. Bennani Ann´ee : 2012-2013

Ens.: M.T. Bennani
FST - D´epartement G´enie Informatique
Travaux dirig´es en th´eorie de compilation Ann´ee : 2012-2013
S´erie N1 - Analyse lexicale
1. Construction des AFDs
Soit un alphabet form´e de deux lettre ”a” et ”b”. Transformer les AFND suivants en AFD.
(a) Le premier automate est :
q0 q1
q2
a,b
b
aa
(b) Le deuxi`eme automate est :
q0 q1
q2 b
a
ba
b
a
q3
(c) Le troisi`eme automate est :
q0 q1
b
aq2
q3 q4 q5
aa
a
a,b
b
2. Algorithme Maximal Munch
Soient les trois Tokens d´efinis par les expressions r´eguli`eres du listing ci-dessous.
ab p r i n t f ( ” 1 ” ) ;
( a |b ) b p r i n t f ( ” 2 ” ) ;
cp r i n t f ( ” 3 ” ) ;
Quelles sont les sorties produites en appliquant l’algorithme maxiaml munch pour :
(a) aaabccabbb
(b) cbbbbac
(c) cbabc
3. Limites de la r´esolution de conflits
Nous avons introduit dans le cours que l’algorithme Maximal Munch associ´e `a la d´efinition
d’un crit`ere de priorit´e sur les expressions r´eguli`eres permettent de r´esoudre la r´esolution de
conflits.
(a) Expliquer ce principe avec un exemple diff´erent de celui introduit dans le cours.
(b) Soient les trois Tokens d´efinis par les expressions r´eguli`eres du listing ci-dessous.
TDs en th´eorie de compilation TD1 Ann´ee universitaire : 2012-2013
aa p r i n t f ( ” 1 ” ) ;
a p r i n t f ( ” 2 ” ) ;
ab p r i n t f ( ” 3 ” ) ;
Quelles sont les sorties produites lorsqu’on applique l’algorithme maxiaml munch pour la
chaine ”aab”?
4. Lenteur des scanners
Soient les Tokens d´efinis par les expressions r´eguli`eres du listing ci-dessous
” photo ” {p r i n t f (”PHOTO” ) ; }
photosynthese{p r i n t f (”PHOTOSYNTHESE” ) ; }
” . | \ n{p r i n t f (X” ) ; }
(a) Quelles sont les sorties produites pour l’entr´ee ”photosynthetiser” ?
(b) D´eduire le nombre de caract`eres scann´es.
(c) Soient les deux Tokens d´efinis par les expressions r´eguli`eres du listing ci-dessous
ab{p r i n t f ( ” 1 ” ) ; }
a{p r i n t f ( ” 2 ” ) ; }
Supposons le langage d´efini par L={a{n}, o`u n > 1}. Quel est le nombre de caract`eres
scann´es ?
5. Analyseurs invers´es
L’algorithme d’analyse introduit dans le cours est bas´e sur une lecture de gauche `a droite d’une
entr´ee. L’objectif de cet exercice est de r´ealiser un analyseur qui r´ealise la lecture de droite `a
gauche.
(a) Modifier l’algorithme permettant de convertir l’expression r´eguli`ere en AFND dans le but
d’accpeter les chaˆınes invers´ees.
(b) G´enerer un ensemble d’expressions r´eguli`eres et une chaine de caract`eres o`u l’analyse de
gauche `a droite donne des Tokens diff´erent de l’analyse de droite `a gauche.
Page 2
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !