Automates et Langages
Nathalie [email protected]
Prepa agreg 2011/2012
Automates et Langages Prepa Agreg 2011/2012, 1
Bibliographie
Aut Jean-Michel Autebert.Theorie des langages et des automates.Masson, 1994.
ASU Alfred Aho, Ravi Sethi et Jeffrey Ullman.Compilers: principles, techniques and tools.Addison-Wesley, 1986.
BBC Jean Berstel, Daniele Beauquier et Philippe Chretienne.Elements dalgorithmique.Masson, 1992.
Car Olivier Carton.Langages formels, calculabilite et complexite.Vuibert, 2008.
HU John E. Hopcroft et Jeffrey D. Ullman.Introduction to automata theory, languages and computation.Addison-Wesley, 1979.
Saka Jacques Sakarovitch.Elements de theorie des automates.Vuibert informatique, 2003.
Automates et Langages Prepa Agreg 2011/2012, 2
Langages reconnaissables Langages rationnels Minimisation Applications
Partie I
Automates finis
Automates et Langages Prepa Agreg 2011/2012, 3
Langages reconnaissables Langages rationnels Minimisation Applications
Mots et langages
Alphabet : ensemble fini de symboles (lettres).Mot sur lalphabet = suite (finie) de lettres : w = a1 an.On note le mot vide.
w w est la concatenation de w et w mots sur .Lensemble des mots sur , muni de , est un monode, note .
Un langage est une partie de : L .Operations booleennes sur 2
: union, intersection, complementaire.
Concatenation : L L = {w w |w L, w L}.Iteration : L =
Sn0 L
n ou L0 = {}, et Li+1 = Li L.
Automates et Langages Prepa Agreg 2011/2012, 4
Langages reconnaissables Langages rationnels Minimisation Applications
Automates finis
Automate fini
A = (Q, , I ,F ) ouI Q ensemble fini detats,
I I Q ensemble detats initiaux,I F Q ensemble detats finaux,I : Q 2Q fonction de transition.
Pour q (q, a), on note q a q.
Execution de A sur un mot w = a1 an :
q0a1 q1 qn1
an qn.
Extension de a Q :(q, ) = q and (q,w a) = ((q,w), a) pour w et a .
Automates et Langages Prepa Agreg 2011/2012, 5
Langages reconnaissables Langages rationnels Minimisation Applications
Langages reconnaissables
Langage accepte
L(A) = {w | q0 I , (q0,w) F 6= }
Langages reconnaissables
Un langage L est reconnaissable sil existe un automate fini A tel queL = L(A).On note Rec() la famille des langages reconnaissables sur .
Exemples dautomates.
Il existe des langages non reconnaissables (argument de cardinalite).Quelques exemples :
I {anbn | n 0}I {w | |w |a = |w |b}
Automates et Langages Prepa Agreg 2011/2012, 6
Langages reconnaissables Langages rationnels Minimisation Applications
Automates deterministes
Automate deterministe
A = (Q, , I ,F ) est deterministe siI |I | = 1, etI |(q, a)| 1 pour tout q Q, a .
A partir dun etat, il y a au plus un calcul sur un mot donne.
Determinisation
Soit A un automate fini. On peut construire un automate deterministe B recon-naissant le meme langage que A.
Automate des parties.
Automates et Langages Prepa Agreg 2011/2012, 7
Langages reconnaissables Langages rationnels Minimisation Applications
Automates complets/emondes
Automate complet. Automate emonde
I A = (Q, , I ,F ) est complet si q Q, a , (q, a) 6= .I A = (Q, , I ,F ) est emonde si q Q
I i I , w avec q (i ,w) (q est accessible depuis i)I f F , w avec f (q,w) (q est co-accessible de f ).
Calcul iteratif des (co-)accessibles.
Pour tout automate fini, on peut construire un automate complet (resp.emonde) qui reconnat le meme langage.
Probleme du vide
Soit A un automate fini. On peut decider si L(A) = .
Automates et Langages Prepa Agreg 2011/2012, 8
Langages reconnaissables Langages rationnels Minimisation Applications
Automates avec -transitions
Automate avec -transitions
A = (Q, , I ,F ) ouI Q ensemble fini detats, I Q etats initiaux, F Q etats finaux,I : Q ( {}) 2Q fonction de transition.
: ( {}) projection sur lalphabet .
Une execution q0a1 q1 qn1
an qn lit (a1 an).
Elimination des -transitions
Pour tout automate avec -transitions, on peut construire un automate sans-transitions reconnaissant le meme langage.
Automates et Langages Prepa Agreg 2011/2012, 9
Langages reconnaissables Langages rationnels Minimisation Applications
Problemes du vide et du mot
Problemes du vide et du mot
I Probleme du vide : etant donne A, decider si L(A) = .I Probleme du mot : etant donnes A et w , decider si w L(A).
Theoreme
Les problemes du vide et du mot sont decidables en NLOGSPACE.
Rq : peu importe que A soit deterministe ou non, avec ou sans -transitions.
Automates et Langages Prepa Agreg 2011/2012, 10
Langages reconnaissables Langages rationnels Minimisation Applications
Proprietes de cloture
Operations ensemblistes [BBC,p.301]
La famille Rec() des langages reconnaissables sur est close par les operationsensemblistes (union, intersection, complement).
Corollaires
I Legalite et linclusion de langages reconnaissables sont decidables.
I L est reconnaissable si et seulement si L \ {} est reconnaissable.
Concatenation et iteration [BBC,p.303]
La famille Rec() est close par concatenation et iteration.
Automates et Langages Prepa Agreg 2011/2012, 11
Langages reconnaissables Langages rationnels Minimisation Applications
Proprietes de cloture (2)
Pour L , on definit :I Pref(L) = {w | w , w w L},I Suff(L) = {w | w , w w L},I Fact(L) = {w | wi ,wf , wi w wf L}.
Prefixe, suffixe, facteur
La famille Rec() est close par prefixe, suffixe, facteur.
Pour L,K , on definit :I K1 L = {w | k K , k w L},I L K1 = {w | k K , w k L}.
Quotient
La famille Rec() est close par quotients :
L Rec() et K (K1 L) Rec() et (L K1) Rec().
Automates et Langages Prepa Agreg 2011/2012, 12
Langages reconnaissables Langages rationnels Minimisation Applications
Proprietes de cloture (3)
Morphisme (de monodes)
: 1 2 est un morphisme si w1,w 1 1 , (w1 w 1) = (w1) (w 1).
Morphisme et morphisme inverse
La famille Rec() est close par morphisme et morphisme inverse.
Automates et Langages Prepa Agreg 2011/2012, 13
Langages reconnaissables Langages rationnels Minimisation Applications
Proprietes de cloture (4)
Substitution
Une substitution est une fonction : 1 P(2 ). setend en un morphisme : 1 P(2 ) defini par () = {} et (wa) = (w)(a).Une substitution est rationnelle si elle est definie par : 1 Rec(2 ).
Pour L 1 , (L) = wL (w).Pour L 2 , 1(L) = {w 1 |(w) L 6= }.
Substitution rationnelle et substitution rationnelle inverse
La famille Rec() est close par substitution rationnelle et substitution ra-tionnelle inverse.
Automates et Langages Prepa Agreg 2011/2012, 14
Langages reconnaissables Langages rationnels Minimisation Applications
Lemmes diteration
Lemmes de letoile [Car,p.53][Saka,p.78]
Soit L Rec(). Alors il existe N N tel que pour tout w L1. si |w | N alors il existe une factorisation w = w1w2w3 avec w2 6= telle
que w1w2 w3 L.
2. pour toute factorisation w = u1u2u3 avec |u2| N, il existe unefactorisation u2 = w1w2w3 avec w2 6= telle que u1w1w2 w3u3 L.
3. pour toute factorisation w = uw1w2 wNv ou wi 6= , il existe0 j < k N tel que uw1 wj(wj+1 wk)wk+1 wNv L.
Applications des lemmes de letoile, exemples de non-reconnaissables.
Automates et Langages Prepa Agreg 2011/2012, 15
Langages reconnaissables Langages rationnels Minimisation Applications
Caracterisation
Theoreme (Ehrenfeucht, Parikh, Rozenberg) [Saka,p.128][Car,p.54]
Soit L . Les proprietes suivantes sont equivalentes :(i) L est reconnaissable ;
(ii) il existe N N tel que pour tout mot w et toute factorisationw = uw1 wNv avec wi 6= , il existe 0 j < k N tels que :
n N w L uw1 wj(wj+1 wk)nwk+1 wNv L
(iii) il existe N N tel que pour tout mot w et toute factorisationw = uw1 wNv avec wi 6= , il existe 0 j < k N tels que :
w L uw1 wjwk+1 wNv L
Corollaire
L est reconnaissable ssi L et L satisfont le lemme de letoile par bloc (3.).
Automates et Langages Prepa Agreg 2011/2012, 16
Langages reconnaissables Langages rationnels Minimisation Applications
Expressions rationnelles
Expressions rationnelles
Lensemble des expressions rationnelles est defini par :
I et a, pour a , sont des expressions rationnelles ;I si E et F sont des expressions rationnelles, alors (E + F ), (E F ) et (E)
aussi.
On note E lensemble des expressions rationnelles.
Semantique
Le langage denote par une expression rationnelle est defini inductivement :
I JK = , et JaK = {a}, pour tout a ;I J(E + F )K = JEK JF K, J(E F )K = JEK JF K et J(E)K = JEK.
Automates et Langages Prepa Agreg 2011/2012, 17
Langages reconnaissables Langages rationnels Minimisation Applications
Langages rationnels
Langage rationnel
L est rationnel sil existe E E tel que L = JEK.On note Rat() la famille des langages rationnels sur .
Rat() est la plus petite partie de 2contenant et {a}, pour a , et
fermee par union, concatenation et iteration.
Equivalence dexpressions rationnelles
E ,F E sont equivalentes, note E F , si JEK = JF K.
Automates et Langages Prepa Agreg 2011/2012, 18
Langages reconnaissables Langages rationnels Minimisation Applications
Theoreme de Kleene
Theoreme (Kleene)
Rec() = Rat()
Preuve
() Rec() contient , {a} (pour a ) et est close par union,concatenation et etoile.Construction : algo de Thompson, Glushkov, et Antimirov.
() Construction : algo de McNaughton-Yamada,Brzozowski-McCluskey, et par resolution dequations.
Corollaire
Lequivalence des expressions rationnelles est decidable.
Automates et Langages Prepa Agreg 2011/2012, 19
Langages reconnaissables Langages rationnels Minimisation Applications
Des automates aux expressions : McNaughton-Yamada [HU, p.33] [Car, p.38]
Soit A = (Q, , I ,F ) un automate fini, avec Q = {1, , n}.On definit, pour k {0, , n} et p, q Q
L(k)p,q = {a1 am | pa1 p1
a2 am q avec p1, , pm1 {1, , k}}.
L(A) =[
iI ,fF
L(n)i,f .
Principe : calcul inductif dune expression rationnelle pour les L(k)p,q.
Initialement,
L(0)p,q =
(P(p,a,q) a + si p = q,P(p,a,q) a sinon.
Induction :L(k+1)p,q = L
(k)p,q + L
(k)p,k+1 (L
(k)k+1,k+1)
L(k)k+1,q.
Automates et Langages Prepa Agreg 2011/2012, 20
Langages reconnaissables Langages rationnels Minimisation Applications
Des automates aux expressions : Brzozowski-McCluskey [Saka, p.105] [Car, p.39]
Principe : elimination detats en utilisant des automates generalises.
Automate generalise
Un automate generalise sur est un automate fini sur Rat().
Les etiquettes des transitions sont des expressions rationnelles.
Proposition
Si A est un automate generalise sur , alors L(A) Rat().
Preuve : construction dun automate generalise equivalentB = ({q0, qf }, B, {q0}, {qf }) ou B = {(q0,L(A), qf )}.
Automates et Langages Prepa Agreg 2011/2012, 21
Langages reconnaissables Langages rationnels Minimisation Applications
Des automates aux expressions : resolution dequations
Soit A = (Q, , I ,F ) un automate fini.
Pour p Q, Xp est le langage des mots acceptes avec p comme etat initial.
Xp =
(P(p,a,q) aXq + si p FP(p,a,q) aXq sinon.
L(A) =P
iI Xi
Principe : Resolution du systeme dequations lineaires par eliminationgaussienne.
Lemme (Arden) [Car,p.40][Saka, p.108]
Soient K , L , avec / K . Alors KL est lunique solution de lequationX = KX + L.
Automates et Langages Prepa Agreg 2011/2012, 22
Langages reconnaissables Langages rationnels Minimisation Applications
Des expressions aux automates : Thompson [HU, p.30],[Saka, p.157]
Principe : Construction dun automate A(E) par induction structurelle sur E .Proprietes des automates : un unique etat initial sans transition entrante, et ununique etat final sans transition sortante.
I A({}) et A({a}) a
I Somme : A(E + F ) A(E)
A(F )
I Concatenation : A(E F ) A(E) A(F )
I Etoile : A(E) A(E)
Automates et Langages Prepa Agreg 2011/2012, 23
Langages reconnaissables Langages rationnels Minimisation Applications
Des expressions aux automates : Glushkov
Expression lineaire
E Rat() est lineaire si chaque symbole de apparat au plus une fois.
Automate local
A = (Q, , {i},F ) deterministe est local si pour tout a , |{q Q | p Q, (p, a, q) }| 1.
Proposition
Pour toute expression lineaire E sur , on peut construire un automate local Atel que L(A) = JEK.
Automates et Langages Prepa Agreg 2011/2012, 24
Langages reconnaissables Langages rationnels Minimisation Applications
Des expressions aux automates : Antimirov [Saka, p.159]
Derivee partielle
Soient E Rat() et a . La derivee partielle a(E) de E par rapport a a estlensemble des expressions rationnelles defini inductivement par :I a() = I a(a) = {} et a(b) = pour b 6= aI a(E + F ) = a(E) a(F ) I a(E) = a(E) E
I a(E F ) =
(a(E) F si / JEKa(E) F a(F ) sinon.
Extension a des mots de : (E) = {E} wa(E) = a(w (E)).
Automate des derivees : A = (Q, , I ,F ) ouQ = {E1 | w , E1 w (E)}I = {E} F = {E1 | JE1K} = {(E1, a,E2) |E2 a(E1)}
Proprietes
Lautomate des derivees est un automate fini et satisfait : L(A) = JEK.
Automates et Langages Prepa Agreg 2011/2012, 25
Langages reconnaissables Langages rationnels Minimisation Applications
Automate des residuels
Residuel
Le residuel de L par u est le quotient u1L = {v | uv L}.
Automate des residuels
Soit L . Lautomate des residuels de L est R(L) = (QL, L, {iL},FL) avec :I QL = {u1L | u },I L(u
1L, a) = a1(u1L) = (ua)1L,
I iL = L = 1L,
I FL = {u1L | u1L} = {u1L | u L}.
Proposition [BBC, p.312]
L est reconnaissable ssi L a un nombre fini de residuels.
Automates et Langages Prepa Agreg 2011/2012, 26
Langages reconnaissables Langages rationnels Minimisation Applications
Morphismes dautomates
Morphisme dautomates
Soient A1 = (Q1, 1, I1,F1) et A2 = (Q2, 2, I2,F2) deux automates sur . Unmorphisme : A1 A2 est une application de Q1 dans Q2 telle que :
I (I1) I2,I (F1) F2,I p, q Q1 q 1(p, a) (q) 2((p), a).
Proposition
Soient A1 = (Q1, 1, {i1},F1) et A2 = (Q2, 2, {i2},F2) deux automatesdeterministes complets. Si : A1 A2 est un morphisme dautomates surjectif(i.e. 1(F2) F1 et (Q1) = Q2), alors L(A1) = L(A2).
Proposition [Saka, p.122]
Soient A = (Q, , {i},F ) un automate deterministe complet pour L, et R(L) =(QL, L, iL,FL) lautomate des residuels associe a L. Alors : Q QL defini par(q) = Lq = {w | (q,w) F} est un morphisme surjectif.
Automates et Langages Prepa Agreg 2011/2012, 27
Langages reconnaissables Langages rationnels Minimisation Applications
Automate minimal
Quotient dautomates
Soient A1 et A2 deux automates deterministes complets. On dit que A2 est unquotient de A1, note A2 A1, sil existe un morphisme surjectif : A1 A2.
est un ordre partiel sur les automates deterministes complets.
Minimalite de lautomate des residuels
Soit L Rec()I R(L) est minimal pour lordre quotient parmi les automates
deterministes complets reconnaissant L
I Tout automate deterministe complet reconnaissant L avec un nombreminimal detats est isomorphe a R(L).
Automates et Langages Prepa Agreg 2011/2012, 28
Langages reconnaissables Langages rationnels Minimisation Applications
Algorithme par renversement [Saka, p.125]
Proposition
Soit L Rec(). Le determinise dun automate co-deterministe co-accessiblequi reconnat L est minimal.
Soit A = (Q, , I ,F ). Le transpose de A est tr(A) = (Q, t ,F , I ) avec :
t(p, a) = {q | p (q, a)}.
Algorithme de Brzozowski
R(L(A)) = det(tr(det(tr(A)))).
Automates et Langages Prepa Agreg 2011/2012, 29
Langages reconnaissables Langages rationnels Minimisation Applications
Congruence
Congruence
Soit A = (Q, , {i},F ) un automate deterministe. Une relation dequivalence sur Q est une congruence si :
I elle est compatible avec p, q p q a , (p, a) (q, a)I elle sature F p, q p q p F ssi q F
Automate quotient
Soit A = (Q, , {i},F ) un automate deterministe et une relation dequivalencesur Q. Le quotient de A par est lautomate
A/= (Q/, , {[i ]}, {[f ] | f F}) ou ([p], a) = [(p, a)].
Rq : A/ est deterministe et complet.
Proposition [Car, p. 47]
Soit A = (Q, , {i},F ) un automate deterministe et une congruence sur Q.Alors L(A/) = L(A).
Automates et Langages Prepa Agreg 2011/2012, 30
Langages reconnaissables Langages rationnels Minimisation Applications
Congruence de Nerode
Congruence de Nerode
Soit A = (Q, , {i},F ). Lequivalence sur Q definie par
p q ssi Lp = Lqssi w , (p,w) F (q,w) F
est appelee congruence de Nerode.
Rq : le quotient A/ est isomorphe a R(L).
Consequences
Soit L Rec().I On peut calculer lautomate minimal de L a partir dun automate
deterministe pour L en utilisant lequivalence de Nerode.
I Legalite de langages reconnaissables peut etre decidee en comparant leursautomates minimaux respectifs.
Automates et Langages Prepa Agreg 2011/2012, 31
Langages reconnaissables Langages rationnels Minimisation Applications
Algorithme de Moore
Principe : Calcul de la congruence de Nerode, par raffinements successifs.
Soit A = (Q, , {i},F ) un automate deterministe.On definit la congruence i sur Q par :
p 0 q ssi (p F q F )p i+1 q ssi p i q et a , (p, a) i (q, a)
Proposition [Aut, p.61],[Saka, p.124]
Soit A = (Q, , {i},F ) un automate deterministe complet.I p i q ssi Lp i = Lq i
I Si i+1 =i alors i = I = |Q|2.
Optimisation : algorithme dHopcroft, utilisant diviser pour regner.Calcul de lequivalence de Nerode en O(n log(n)). [BBC, p.321]
Automates et Langages Prepa Agreg 2011/2012, 32
Langages reconnaissables Langages rationnels Minimisation Applications
Recherche de motif [Saka, p.163]
But : recherche dun mot fini w dans un texte t sur .Applications : grep, recherche de sequences ADN
I Entree : w = w1 wm et t = t1 tnI Sortie : k tel que w1 wm = tk+1 tk+m
Algorithme naf
i:=1 ; j:=1 ;
tant que i m et j n fairebla si t[j] = w[i] alors i:=i+1 ; j:=j+1bla sinon j:=j-i+2 ; i:=1si i > m alorsbla retourner occurrence a la position j-msinon
bla retourner pas doccurrence
Automates et Langages Prepa Agreg 2011/2012, 33
Langages reconnaissables Langages rationnels Minimisation Applications
Recherche de motif : Algorithme de Morris et Pratt
Bord
Soit v . Le bord de v est le plus long sous-mot strict de v qui est a la foisprefixe et suffixe de v .
On definit : {0, ,m} {1, ,m 1} par :
(0) = 1 (i) = |bord(w1 wi )|
Algorithme de Morris et Pratt [BBC, p.340]
i:=1 ; j:=1 ;
tant que i m et j n fairebla si i 1 et t[j] 6= w[i] alors i:=1 + (i-1)bla sinon i:=i+1 ; j:=j+1si i > m alorsbla retourner occurrence a la position j-msinon
bla retourner pas doccurrence
Automates et Langages Prepa Agreg 2011/2012, 34
Langages reconnaissables Langages rationnels Minimisation Applications
Recherche de motif : Automate du motif
Automate dun motif
Lautomate du motif w est Aw = (Pref(w), , {}, {w}) ou :
(u, a) =
(ua si ua prefixe de w
bord(ua) sinon.
Proposition
Lautomate du motif w est lautomate minimal de w : Aw = R(w).
Automates et Langages Prepa Agreg 2011/2012, 35
Langages reconnaissables Langages rationnels Minimisation Applications
Analyse lexicale [HU, p.45]
Premiere etape de la chane de compilation.But : Transformer une suite de caracteres en une suite de mots, les lexemes.
Lanalyseur lexical reconnat les composants elementaires de la syntaxe.
Quelques expressions rationnelles pour lanalyse lexicale de C par flex:
mots clefs Eif = if Eint = int
symboles E= = = E+ = + E; = ;
blancs Espace = [ \n\t]+identifiants Eid = [a zA Z ][0 9a zA Z ]
entiers Eic = [1-9][0-9]* | 0[0-1]*
int a = 12;
int b = 3 + a;
int space id space = space ic ; space
int space id space = space ic + space id ;
Deux principes :
I Plus long prefixe : 12 ne constitue quun lexeme ic.
I Priorites : int pourrait etre un identifiant, mais int est prioritaire.
Automates et Langages Prepa Agreg 2011/2012, 36
Langages reconnaissables Langages rationnels Minimisation Applications
Analyse lexicale : Algorithme naf
Principe : simuler un automate deterministe pour le langage L(P
i Ei ).A = (Q, , {q0},F ) ; f : F {E1, ,Ep} ; w = a1 an
Analyse lexicale nave
q:=q0 ; i:=1 ;
tant que i n fairebla qf:=;bla tant que i n et (q,ai) 6= blabla si q F alorsblablabla qf:=q ; j:=i ;blabla i:=i+1 ;bla si qf= alorsblabla retourner echec;bla afficher f (qf) ; i:=j ;retourner succes;
Automates et Langages Prepa Agreg 2011/2012, 37
Langages reconnaissables Langages rationnels Minimisation Applications
Analyse lexicale : Programmation dynamique
Principe : trouver un facteur maximal a partir dun etat q de lautomate depuisla position i du mot w en utilisant dautres calculs pour q et i + 1.
T (q, i) =
8>>>>>:(, 0) si (q, ai ) = et q / F(q, i) si (q, ai ) = et q F(q, i) si (q, ai ) = q
, T (q, i + 1) = (, 0) et q FT (q, i + 1) sinon.
T (q, n + 1) =
((, 0) si q / F(q, n + 1) sinon.
Analyse lexicale
i:=1 ;
tant que i n fairebla (qf,i):=T(q0,i);bla si qf= alorsblabla retourner echec;bla afficher f (qf) ;retourner succes;
Automates et Langages Prepa Agreg 2011/2012, 38
Langages reconnaissables Langages rationnels Minimisation Applications
Arithmetique de Presburger
Arithmetique de Presburger
Soit un ensemble infini de variables {x , y , z , }. Larithmetique de Presburgerest lensemble des formules logiques engendrees par la grammaire suivante :
::= x = 0 | x = y + z |1 2 |1 2 | | x | x
Exemples : x y z x = y + z y x = y + y z`(x = y + z) z = 0
La semantique de qui a pour variables libres {x1, , xn} est unsous-ensemble de Nn.
Theoreme [Car, p.164]
Larithmetique de Presburger est decidable.
Preuve : Construction dun automate fini reconnaissant les codagesdes n-uplets satisfaisant une formule, par induction structurelle.Formule valide ssi langage non vide.
Automates et Langages Prepa Agreg 2011/2012, 39
Langages reconnaissables Langages rationnels Minimisation Applications
Classification
Probleme de separation par automate.Etant donnes S ,T finis, et k N, existe-t-il un automate deterministe Aa k etats tel que S L(A) et T L(A) = ?
Theoreme [FB, Ch.9]
Le probleme de separation par automate est NP-complet.
Preuve de la NP-difficulte par reduction de SAT.
Robert W. Floyd et Richard Biegel. The language of machines: An Introduction to Computability
and Formal Languages. Computer Science Press, 1994.
Automates et Langages Prepa Agreg 2011/2012, 40
Langages algebriques Automates a pile Analyse syntaxique
Partie II
Automates a pile
Automates et Langages Prepa Agreg 2011/2012, 41
Langages algebriques Automates a pile Analyse syntaxique
Grammaires algebriques
Grammaire algebrique
G = (V ,T ,P, S) ou
I V ensemble fini de variables,
I S V variable initiale,I T ensemble fini de terminaux,
I P V (V T ) ensemble fini de regles de production.
Pour (X , ) P, on note X . Par extension, on note X 1 + +n si(X , 1) (X , n) P.
Automates et Langages Prepa Agreg 2011/2012, 42
Langages algebriques Automates a pile Analyse syntaxique
Derivations
Derivation
Soit G = (V ,T ,P, S) une grammaire algebrique et soient , (V T ). se derive en , note sil existe u, v (V T ) et X V tels que:
= uXv , = uv , (X , ) P.
La derivation est gauche (resp. droite) si u T (resp. v T ).
On note la fermeture transitive et reflexive de .
Lemme fondamental
Soit G = (V ,T ,P, S) une grammaire algebrique, k N et 1, 2, (V T ).Si 12 k , alors il existe 1, 2 et k1, k2 tels que i ki i , = 1 + 2 etk = k1 + k2.
Automates et Langages Prepa Agreg 2011/2012, 43
Langages algebriques Automates a pile Analyse syntaxique
Langage algebrique
Langage engendre
Le langage engendre par une grammaire algebrique G est defini par :
LG = LG (S) = {w T | S w}.
Langage de Dyck Dn : Le langage des mots bien parentheses sur n paires deparentheses est engendre par la grammaire ayant pour regles de productionS aiSaiS , pour 1 i n et S .
G1 et G2 sont dites equivalentes si elles engendrent le meme langage.
Langage algebrique
Un langage L T est algebrique sil existe une grammaire algebrique G =(V ,T ,P, S) qui lengendre, c.-a-d. L = LG (S).
Automates et Langages Prepa Agreg 2011/2012, 44
Langages algebriques Automates a pile Analyse syntaxique
Grammaire et langage lineaires
Grammaire lineaire
Une grammaire algebrique G = (V ,T ,P, S) est lineaire si pour toute regle deproduction (X , ) P, T VT T .Elle est lineaire droite (resp. gauche) si T V T (resp. VT T ).
Un langage est lineaire sil existe une grammaire lineaire qui lengendre.
{anbn | n 0} est lineaire.
Automates et Langages Prepa Agreg 2011/2012, 45
Langages algebriques Automates a pile Analyse syntaxique
Arbres de derivation
Arbre de derivation
Soit G = (V ,T ,P, S) une grammaire algebrique. Un arbre de derivation est unarbre fini etiquete par T V {} tel que:
I chaque feuille est etiquetee par une variable ou un terminal,
I chaque noeud interne est etiquete par une variable X , et si a1, , an sontles etiquettes de ses fils, alors (X , a1 an) P.
Derivations et arbres de derivation
I Si S w est une derivation de G , alors il existe un arbre de derivationde racine S , et de frontiere w .
I Si t est un arbre de derivation de G , alors la racine de t se derive (en unederivation gauche) en la frontiere de t.
En consequence, le langage LG (S) est lensemble de mots w T tels quilexiste un arbre de derivation de racine S et de frontiere w .
Automates et Langages Prepa Agreg 2011/2012, 46
Langages algebriques Automates a pile Analyse syntaxique
Ambigute
Ambigute
I Une grammaire algebrique G = (V ,T ,P, S) est ambigue sil existe un mot (V T ) qui est la frontiere de deux arbres de derivations de Gdistincts et de meme racine.
I Un langage algebrique est (inheremment) ambigu si toute grammaire quilengendre est ambigue. Sinon, il est non-ambigu.
Exemples de grammaires et langages ambigus ou non.
Proposition [Aut, p.96]
Tout langage rationnel peut etre engendre par une grammaire lineaire droitenon-ambigue.
Automates et Langages Prepa Agreg 2011/2012, 47
Langages algebriques Automates a pile Analyse syntaxique
Lemmes diteration
Theoreme de Bar-Hillel, Perles et Shamir
Pour tout langage algebrique L, il existe N N tel que pour tout mot w L,si |w | N, alors il existe une factorisation w = uv telle que |uv | > 0,|uv | < N et unvn L (pour tout n 0).
Lemme dOgden [Car, p.92]
Soit G = (V ,T ,P, S) une grammaire algebrique et Y V . Il existe K Ntel que tout w LG (Y ) ayant au moins K lettres distinguees se factorise enw = uv avec , , (V T ) et
I Y X, X uXv , X ,I soit , u, soit , v , contiennent des lettres distinguees, et
I uv contient moins de K lettres distinguees.
Automates et Langages Prepa Agreg 2011/2012, 48
Langages algebriques Automates a pile Analyse syntaxique
Applications [Car, p.94-95] [Aut, p.107-108]
I Le langage L1 = {anbncn | n 0} nest pas algebrique.
I Consequence : La classe des langages algebriques nest close ni parintersection, ni par complementation.
I Le langage L2 = {ambncmdn | n,m 0} nest pas algebrique.
I Le langage L3 = {ambmcn | m, n 0} {ambncn | m, n 0} estinheremment ambigu.
I Consequence : La classe des langages algebriques non ambigus nest pasclose par union.
Automates et Langages Prepa Agreg 2011/2012, 49
Langages algebriques Automates a pile Analyse syntaxique
Grammaires reduites
Grammaire reduite
Une grammaire algebrique G = (V ,T ,P, S) est reduite si toute variable X Vest
I productive : LG (X ) 6= (w T LG (X )), etI accessible : S X avec , (T V ).
Proposition
Pour toute grammaire algebrique on peut construire une grammaire algebriquereduite equivalente.
Automates et Langages Prepa Agreg 2011/2012, 50
Langages algebriques Automates a pile Analyse syntaxique
Grammaires propres
Grammaire propre
Une grammaire algebrique G = (V ,T ,P, S) est propre si elle ne contient pas deregle de la forme X ou X Y pour X ,Y V .
Proposition
Pour toute grammaire algebrique G on peut construire une grammaire algebriquepropre qui engendre LG \ {}.
Corollaire
Le probleme du mot est decidable pour les grammaires algebriques.
Automates et Langages Prepa Agreg 2011/2012, 51
Langages algebriques Automates a pile Analyse syntaxique
Formes normale de Chomsky
Forme normale de Chomsky
Une grammaire algebrique G = (V ,T ,P, S) est sous forme normale de Chomskysi P V (V 2 T {}).
Proposition
Pour toute grammaire algebrique on peut construire une grammaire algebriquesous forme normale de Chomsky equivalente.
Automates et Langages Prepa Agreg 2011/2012, 52
Langages algebriques Automates a pile Analyse syntaxique
Forme normale de Greibach
Forme normale de Greibach
Une grammaire algebrique G = (V ,T ,P, S) est sous-forme normale de
I Greibach (FNG) si P V TV ,I Greibach quadratique (FNGQ) si P V (T TV TV 2).
Theoreme [Car, p.106] [HU, p.95] [Aut, p.111]
Pour toute grammaire algebrique propre on peut construire une grammairealgebrique sous forme normale de Greibach quadratique equivalente.
Preuve
Automates et Langages Prepa Agreg 2011/2012, 53
Langages algebriques Automates a pile Analyse syntaxique
Proprietes de cloture
Operations rationnelles
Les langages algebriques sont clos par union, concatenation et etoile.
Substitution algebrique
Une substitution : 1 P(2 ) est algebrique si (a) est un langagealgebrique, pour tout a 1.
Substitution algebrique
Les langages algebriques sont clos par substitution algebrique.
Intersection avec un rationnel
Les langages algebriques sont clos par intersection avec un rationnel.
Morphisme inverse
Les langages algebriques sont clos par morphisme inverse.
Automates et Langages Prepa Agreg 2011/2012, 54
Langages algebriques Automates a pile Analyse syntaxique
Theoreme de Chomsky et Schutzenberger
Langages de Dyck
On appelle langage de Dyck sur n paires de parentheses le langage Dn sur n ={a1, , an}{a1, , an} engendre par la grammaire Gn = ({S},n,Pn, S) ouPn est reduit a S a1Sa1S + + anSanS + .
Theoreme (Chomsky et Schutzenberger) [Aut, p.92] [Car, p.100]
Un langage L est algebrique si et seulement si il existe n N, K un langagerationnel et un morphisme alphabetique tels que L = (Dn K).
Automates et Langages Prepa Agreg 2011/2012, 55
Langages algebriques Automates a pile Analyse syntaxique
Problemes de decision
Problemes decidables
G = (V ,T ,P, S) grammaire algebrique
I LG vide ? fini ou infini ?
I LG contient w T ?
Problemes indecidables
L, L langages algebriques, R langage rationnel
I L L = ? L = T ?I L = L ? L L ? R L ?I L rationnel ?
I L ambigu ?
I T \ L algebrique ?I L L algebrique ?
Automates et Langages Prepa Agreg 2011/2012, 56
Langages algebriques Automates a pile Analyse syntaxique
Retour sur le probleme du mot
Probleme du mot [Car, p.184]
On peut decider en temps cubique si un mot est engendre par une grammaireen forme normale de Chomsky.
Principe : Pour w = a1 an, calcul recursif des Ei,j = {X | ai aj LG (X )}.I X Ei,i ssi (X , ai ) PI X Ei,j ssi (X ,YZ) P et k tq Y Ei,k et Z Ek+1,j
Algorithme de Cocke, Kasami et Younger
E[i,j] := ;pour 1 i n, fairellpour (X,a[i]) P faire E[i,i] := E[i,i] {X};pour 1 d n-1, fairellpour 1 i n-d, fairellllpour i k i+d, fairellllllpour (X,YZ) P, fairellllllllsi Y E[i,k] et Z E[k+1,i+d] alors E[i,i+d]:= E[i,i+d] {X};
Automates et Langages Prepa Agreg 2011/2012, 57
Langages algebriques Automates a pile Analyse syntaxique
Equations algebriques
Systeme dequations algebriques
Soit G = (V ,T ,P, S) une grammaire algebrique, avec V = {X1, ,Xn} pourensemble de variables. A G on associe S(G) le systeme dequations sur leslangages suivant :
Li =X
(Xi ,)P
(L)
Proposition
I (LG (X1), , LG (Xn)) est la plus petite solution de S(G), etI si G est propre, (LG (X1), , LG (Xn)) est lunique solution propre deS(G).
langages algebriques = solutions de systemes dequations polynomiales
Automates et Langages Prepa Agreg 2011/2012, 58
Langages algebriques Automates a pile Analyse syntaxique
Theoreme de Parikh
Image commutative
Limage commutative dun langage L T est L = {w | w L}, ou w denotelensemble des anagrammes de w .Deux langages L et L sont commutativement equivalents si L = L.
Theoreme (Parikh) [Car, p.86]
Tout langage algebrique est commutativement equivalent a un langage rationnel.
Consequence : Les langages algebriques sur un alphabet unaire sont rationnels.
Automates et Langages Prepa Agreg 2011/2012, 59
Langages algebriques Automates a pile Analyse syntaxique
Automates a pile
Automate a pile
A = (Q,, , , q0, 0,F ) ouI Q ensemble fini detats,
I alphabet dentree,
I alphabet de pile,
I Q ( {}) Q fonction de transition.I (q0, 0) Q configuration initiale,I F Q ensemble detats finaux,
A est temps-reel sil ne possede pas d-transitions.
Configuration : (q, h) Q .Transition : (p, h)
a (q, uh) pour (p, , a, q, u) .
Langage accepte
L(A) = {w | (q0, 0)w (qf , h) avec qf F}
Automates et Langages Prepa Agreg 2011/2012, 60
Langages algebriques Automates a pile Analyse syntaxique
Variantes dautomates a pile
Differents modes dacceptation :
I Etat final L = {w | (q0, 0)w (q, h) avec q F}
I Pile vide L = {w | (q0, 0)w (q, )}
I Pile vide et etat final L = {w | (q0, 0)w (q, ) avec q F}
I Sommet de pile L = {w | (q0, 0)w (q, h) avec }
Equivalence des modes dacceptation [Car, p.106]
Pour tout automate a pile A avec acceptation par pile vide (resp. par pile videet etat final, resp. par sommet de pile) on peut construire un automate a pileA avec acceptation par etat final tel que L(A) = L(A).
Automates et Langages Prepa Agreg 2011/2012, 61
Langages algebriques Automates a pile Analyse syntaxique
Lien avec les grammaires algebriques
Equivalence grammaires algebriques / automates a pile [Car, p.108]
Un langage L est algebrique si et seulement si il existe un automate a pilequi laccepte.
Preuve
Corollaire
I Tout automate a pile est equivalent a un automate a pile a un seul etat.
I Tout automate a pile est equivalent a un automate a pile sans -transition.
Automates et Langages Prepa Agreg 2011/2012, 62
Langages algebriques Automates a pile Analyse syntaxique
Automates a pic [Car, p.110]
Automate a pic
Un automate a pile A = (Q,, , , q0, 0,F ) est dit a pic si pour toute execution(q0, h0)
a1 (q1, h1) an (qn, hn) il existe k < n tel que pour tout 0 i < n
I i < k = |hi | |hi+1|, etI i k = |hi | |hi+1|.
Informellement, pour toute execution les variations de la hauteur de pile suiventdeux phases : une montante puis une descendante.
Equivalence grammaires lineaires / automates a pic
Un langage L est lineaire si et seulement si il existe un automate a pic quilaccepte.
Automates et Langages Prepa Agreg 2011/2012, 63
Langages algebriques Automates a pile Analyse syntaxique
Langage de pile
Langage de pile
Le langage de pile dun automate a pile A = (Q,, , , q0, 0,F ) est defini par :
H = {h | w q Q t.q. (q0, 0)w (q, h)}.
Theoreme [Car, p.117]
Pour tout automate a pile, le langage de pile est rationnel.
Automates et Langages Prepa Agreg 2011/2012, 64
Langages algebriques Automates a pile Analyse syntaxique
Automates a pile deterministes
Automate a pile deterministe
A = (Q,, , , q0, 0,F ) est deterministe si pour tout (p, ) Q I pour tout a {} il y a au plus une transition (p, ) a (q, h), etI sil existe une transition (p, )
(q, h), alors il ny a pas de transition(p, )
a (q, h) pour a .
Remarque : dans un automate a pile deterministe il peut y avoir plusieursexecutions sur un meme mot (-transitions a la fin).
Automates et Langages Prepa Agreg 2011/2012, 65
Langages algebriques Automates a pile Analyse syntaxique
Proprietes des automates deterministes
Complementation [HU, p.235] [Aut, p.128] [Car, p.113]
Etant donne un automate a pile deterministe A = (Q,, , , q0, 0,F ) on peutconstruire un automate a pile deterministe qui accepte \ L(A).
Difficultes pour la complementation :
I A peut bloquer pendant la lecture de lentree, soit par pile vide, ou parceque A nest pas complet.
I A deterministe peut avoir des executions acceptantes et non acceptantessur une entree donnee.
Proposition [Aut, p.131] [Car, p.115]
Tout langage algebrique deterministe est non ambigu.
Automates et Langages Prepa Agreg 2011/2012, 66
Langages algebriques Automates a pile Analyse syntaxique
Lemme diteration pour les deterministes [Aut, p.132]
Lemme diteration
Soit L un langage deterministe. Il existe K N tel que tout w L ayantau moins K lettres distinguees se factorise en w = uv avec
I pour tout , n unvn L n unvn L,I soit , u, soit , v , contiennent des lettres distinguees, et
I uv contient moins de K lettres distinguees.
{anbn | n > 0} {anb2n | n > 0} est non ambigu mais pas deterministe
Automates et Langages Prepa Agreg 2011/2012, 67
Langages algebriques Automates a pile Analyse syntaxique
Problemes de decision
Problemes decidables [HU, p.246]
L, L langages deterministes, R langage rationnel.
I L = R ? R L ? L rationnel ?I L = L ?
Problemes indecidables [HU, p.247]
L langage algebrique
I L deterministe ?
L, L langages deterministes
I L L = ?I L L ?I L L algebrique ?I L L deterministe ? L L deterministe ?
Automates et Langages Prepa Agreg 2011/2012, 68
Langages algebriques Automates a pile Analyse syntaxique
Analyse syntaxique
Biblio : Aho/Sethi/Ullman 1986 Compilers principles techniques and tools
But : Verifier quune suite de lexemes est syntaxiquement correcte et latransformer en arbre de syntaxe abtraite.
Lensemble des programmes syntaxiquement corrects est le langage dunegrammaire algebrique.
I Les terminaux sont les lexemes ;
I savoir si un programme est syntaxiquement correct revient a resoudre leprobleme du mot ;
I un arbre de derivation est un arbre de syntaxe abstraite.
Automates et Langages Prepa Agreg 2011/2012, 69
Langages algebriques Automates a pile Analyse syntaxique
Analyse descendante
Contruction dun arbre danalyse de haut en bas (de la racine vers les feuilles).
Automate expand/check
Soit G = (V ,T ,P, S) une grammaire. Lautomate expand/check de G estlautomate a pile a un etat, dalphabet de pile = V T , de transitions
I expand : {(X , , ) | (X , ) P}I check : {(a, a, ) | a T}
et acceptant par pile vide. Initialement, la pile contient S .
Pour lever le non-determinisme, on regarde la prochaine lettre du mot dentree.Grammaires LL(1)
I Left to right scanning: la suite de lexemes est lue de gauche a droite
I Leftmost derivation: on construit une derivation gauche
I 1 look-ahead: la prevision se fait sur 1 symbole
Automates et Langages Prepa Agreg 2011/2012, 70
Langages algebriques Automates a pile Analyse syntaxique
Premier
Fonction Premier
I Soit w T . Premier(w) =
(a si w = aw
sinon.
I Soit L T . Premier(L) = {Premier(w) | w L}I Soit G = (V ,T ,P, S) une grammaire algebrique, et (T V ). Alors
Premier() = Premier(LG ()) T .
Calcul iteratif de Premier. Pour V T et i 0 on pose :I a T , i 0, Fi (a) = {a},I X V , F0(X ) = et
Fi+1(X ) =S
(X ,1n)P Premier(Fi (1) Fi (n))
Automates et Langages Prepa Agreg 2011/2012, 71
Langages algebriques Automates a pile Analyse syntaxique
Suivant
Fonction Suivant
Soit G = (V ,T ,P, S) une grammaire algebrique et X V .Suivant(X ) =
S{Premier() | S X}.
Calcul iteratif de Suivant. Pour X V et i 0 on pose :I F0(S) = {} et F0(X ) = si X 6= SI Fi+1(X ) = Fi (X )
S(Y ,X)P Premier(Fi (Y )).
Automates et Langages Prepa Agreg 2011/2012, 72
Langages algebriques Automates a pile Analyse syntaxique
Grammaire LL(1)
Grammaire LL(1)
Une grammaire algebrique G = (V ,T ,P, S) est LL(1) si pour toute derivationS X, pour toutes regles X et X avec 6= on a
Premier() Premier() = .
Exemple: la grammaire classique pour le langage de Dyck Dn est LL(1)
Proposition
I Toute grammaire LL(1) est non ambigue.
I Tout langage rationnel est engendre par une grammaire LL(1).
I Lequivalence est decidable pour les grammaires LL(1).
Caracterisation [ASU, p.219]
Une grammaire G = (V ,T ,P, S) est LL(1) si et seulement si pour tout X V ,pour toutes productions X et X avec 6= on a
Premier(Suivant(X )) Premier(Suivant(X )) = Automates et Langages Prepa Agreg 2011/2012, 73
Langages algebriques Automates a pile Analyse syntaxique
Analyseur LL(1)
Construction de la table danalyse predictive
Pour chaque X bla pour chaque a Premier()bla bla mettre X dans la case [X , a]bla si Premier()bla bla pour chaque b Suivant(X )bla bla bla mettre X dans la case [X , b]
Analyseur LL(1)
Lanalyseur LL(1) de G grammaire LL(1) est lautomate a pile expand/check quiregarde une lettre a lavance pour savoir quelle regle dexpansion appliquer.
Proposition
I Lanalyseur LL(1) de G accepte exactement LG (S).
I Lanalyseur LL(1) peut etre transforme en un automate a pile deterministe.
Automates et Langages Prepa Agreg 2011/2012, 74
Langages algebriques Automates a pile Analyse syntaxique
Generalisation LL(k)
Fortement LL(k)
Une grammaire G = (V ,T ,P, S) est fortement LL(k) si pour toutes reglesX et X avec 6= on a :
Premierk(Suivantk(X )) Premierk(Suivantk(X )) = .
Table danalyse fortement LL(k)
Pour chaque X V et w Tkbla si (X , ) P et w Premierk(Suivantk(X ))bla bla mettre X
dans la case [X ,w ]
Analyseur LL(k)
Lanalyseur LL(k) de G grammaire fortement LL(k) est lautomate a pile ex-pand/check qui regarde k lettres a lavance pour savoir quelle regle dexpansionappliquer.
Proposition
I Lanalyseur LL(k) de G accepte exactement LG (S).
I Lanalyseur LL(k) peut etre transforme en un automate a pile deterministe.
Automates et Langages Prepa Agreg 2011/2012, 75
Langages algebriques Automates a pile Analyse syntaxique
Analyse ascendante
Contruction dun arbre danalyse de bas en haut (des feuilles vers la racine).
Automate shift/reduce
Soit G = (V ,T ,P, S) une grammaire. Lautomate shift/reduce de G estlautomate a pile a un etat, generalise, dalphabet de pile = V T , de transi-tions
I shift : {(, a, a) | a T}I reduce : {(, ,X ) | (X , ) P}
et acceptant lorsque la pile contient uniquement le symbole S . Initialement, lapile est vide.
Grammaires LR(0)
I Left to right scanning: la suite de lexemes est lue de gauche a droite
I Rightmost derivation: on construit une derivation droite
I 0 look-ahead: la prevision se fait sur 0 symbole
Automates et Langages Prepa Agreg 2011/2012, 76
Langages algebriques Automates a pile Analyse syntaxique
Grammaires LR(0)
Conflits
I (X , ,w , av) est un conflit shift/reduce sil existe (V T ) et deuxexecutions dans lautomate shift/reduce
X w S et a a v S .
I (X , , v ,Y , ,w) est un conflit reduce/reduce sil existe , (V T )et deux executions dans lautomate shift/reduce
X v S et Y w S , avec = .
Grammaire augmentee : Pour G = (V ,T ,P, S), la grammaire augmentee estG = (V {S },T ,P {(S , S)}, S ).
Grammaire LR(0)
Une grammaire est LR(0) si sa grammaire augmentee na aucun conflit.
Automates et Langages Prepa Agreg 2011/2012, 77
Langages algebriques Automates a pile Analyse syntaxique
Automate des items
Items : {(X , ) | (X , ) P}
Exemple : Les items de la production (S , aXb) sont (S , aXb), (S , a Xb),(S , aX b) et (S , aXb).
Automate des items
Lautomate des items dune grammaire augmentee G = (V ,T ,P, S) est unautomate fini (Q, , {q0},F ) sur lalphabet V T ou :
I Q est lensemble des items de G
I q0 = (S, S)
I F = {(X , ) | (X , ) P}I contient les transitions suivantes
I (X , Y) Y (X , Y )I (X , a) a (X , a )I (X , Y) (Y , ) pour (Y , ) P
Automates et Langages Prepa Agreg 2011/2012, 78
Langages algebriques Automates a pile Analyse syntaxique
Analyseur LR(0)
(Q, , {q0},F ) automate des items et ({0, n},, {0},F ) son determinise.
Construction de la table des actions et branchements
Pour chaque i {0, n}bla pour chaque X tel que (X , ) ibla bla mettre reduce(X , ) dans les cases [i , a] pour a T {}bla pour chaque a Tbla bla mettre shift((i , a)) dans la case [i , a]bla pour chaque X Vbla bla mettre goto((i ,X )) dans la case [i ,X ]bla si (S , S) i mettre accept dans la case [i , ]
Analyseur LR(0)
Lanalyseur LR(0) de G grammaire LR(0) est lautomate a pile shift/reduce dontles choix shift/reduce et reduce/reduce sont guides par la table des actions.
Proposition
I Lanalyseur LR(0) de G accepte exactement LG (S).
I Lanalyseur LR(0) peut etre transforme en un automate a pile deterministe.
Automates et Langages Prepa Agreg 2011/2012, 79
Automates finisLangages reconnaissablesNotions de baseAutomates finis et langages reconnaissablesAutomates dterministesProprits et variantesProblmes de dcisionProprits de cltureCritres de reconnaissabilit
Langages rationnelsExpressions rationnelles et langages rationnelsThorme de KleeneDes automates finis aux expressions rationnellesDes expressions rationnelles aux automates finis
MinimisationAutomate des rsiduelsCongruence de Nerode
ApplicationsRecherche de motifsAnalyse lexicaleDcidabilit de l'arithmtique de PresburgerClassification
Automates pileLangages algbriquesGrammaires algbriquesLemme d'OgdenFormes normalesProprits de cltureProblmes de dcisionquations algbriques
Automates pileAutomates pile et langages associsLien avec les grammaires algbriquesLangage de pileLangages dterministes
Analyse syntaxiqueAnalyse descendanteAnalyse ascendante