Académique Documents
Professionnel Documents
Culture Documents
langages et des
automates
ines.channoufi@esprit.tn 2013-2014
PLAN
Généralités.
Définition.
Exemple introductif
Configurations
2
INTRODUCTION
Par analogie avec les expressions régulières qui engendrent les
langages réguliers, les grammaires hors contextes engendrent les
langages hors contexte.
3
INTRODUCTION
Langage régulier
Langage hors contexte
(CFL)
Automate fini
Automate à pile
4
AUTOMATE À PILE
Un automate à pile ressemble à un automate fini. Il a :
$ entrée
Automate à pile
6
$
pile
AUTOMATE À PILE
L’entrée est une chaîne de tokens scanné à partir du code source du
programme à analyser.
La pile contient une chaîne de symbole de la grammaire (terminaux et
non-terminaux)
Les transitions indiquent comment mettre à jour le contenu de la pile en
fonction du token courant.
$ entrée
1
Automate à pile
3
2 4
$ 7
pile
DÉFINITION FORMELLE
Un automate à piles A = 〈 E, Σ, Π, δ, e0, z0, F 〉
E : un ensemble fini d’états.
Σ un ensemble de symboles (l’alphabet des symboles d’entrée).
Π est un alphabet fini dit l’alphabet de la pile.
δ : Π* × E × (Σ ∪ {ε}) → P (Π* × E), une fonction finie.
Un état e0 ∈ E : état de départ ou état initial.
z0 est le symbole initial de la pile.
Un ensemble d’états F ⊆ E connus comme états d’acceptation
8
EXEMPLE INTRODUCTIF
considérons l’automate fini A de la Figure suivante, qui reconnaît le langage {anbm,
avec n > 0 et m > 0} et essayons d’étendre ce modèle pour en dériver un automate à
pile capable de reconnaître {anbm, m = n > 0}.
a b
L’automate A est incapable de “compter”
a b le nombre de a déjà vus, ce qui interdit
0 1 2 d’imposer la contrainte n = m.
10
UTILISATION D'UN AUTOMATE À PILE
11
UTILISATION D'UN AUTOMATE À PILE
Entrée
a a b b
Z0
Pile
Symbole de pile vide
a a b b
Pile
13
UTILISATION D'UN AUTOMATE À PILE
Entrée
a a b b
X
Lecture d’un a empiler X dans la pile
X
Z0
Pile
14
UTILISATION D'UN AUTOMATE À PILE
Entrée
a a b b
X
Lecture d’un b dépiler X de la pile
X
Z0
Pile
15
UTILISATION D'UN AUTOMATE À PILE
Entrée
a a b b
Pile
16
UTILISATION D'UN AUTOMATE À PILE
Entrée
a a b b
Z0
Pile
Critères d’acceptations:
1. Mot lu + Etat final
2. Mot lu + Pile Vide
17
TRANSITION
Une transition dans un automate à pile s’écrit sous la forme
suivante:
Dépiler ε
Ne rien faire Z0
18
CONFIGURATIONS
La configuration d’un automate est défini comme suit: (u,q,x, γ)
u: mot lu,
q: état courant,
x: le reste à lire,
γ: contenu de la pile.
.
19
AU-DELÀ DES LANGAGES HORS CONTEXTE
− Bien qu’un automate à pile peut avoir un nombre infini d’états (configurations), il
existe des langages qui ne sont pas acceptés par un automate à pile, c-à-d., des
langages qui ne sont pas hors-contextes.
− Exemple: