Académique Documents
Professionnel Documents
Culture Documents
Objectifs de la matire
La thorie des langages a pour objectif de dcrire
les langages formels.
Lobjectif de cette matire est de matriser les
types de langages existants ainsi que les
automates qui permettent de les reconnatre.
Ce cours est une base pour le cours de
compilation.
Le 30/09/2015
Un Langage
Un alphabet
Langage linguistique
Langage mathmatique
Langage informatique
{0,1}
{if, then, else, x, y, z}
{+, -, *, /, =, a, b}
Un mot
Un mot sur un alphabet est une squence finie et
ordonne, ventuellement vide, de symboles de
lalphabet.
Exemple :
100111 est un mot de lalphabet {0, 1}
a=b est un mot de lalphabet {+, -, *, /, =, a, b}
Proprits
La longueur dun mot m est not m.
La concatnation : Soient deux mots u et v
dfinis sur un alphabet A. La concatnation de u
avec v, note u.v ou simplement uv, est le mot
form en faisant suivre les symboles de u par les
symboles de v.
13/10/2015
La puissance
Un langage
Un langage, dfini sur un alphabet A, est un ensemble de mots
dfinis sur A. Autrement dit, un langage est un sous-ensemble
de A.
Description dun langage :
Un langage fini peut tre dcrit par lnumration des mots qui le
composent.
Certains langages infinis peuvent tre dcrits par lapplication
doprations des langages plus simples.
Certains langages infinis peuvent tre dcrits par un ensemble de
rgles appel grammaire.
Enfin, certains langages infinis ne peuvent pas tre dcrits, ni par
lapplication doprations, ni par un ensemble de rgles. On parle
alors de langage indcidable. On peut noter que si un langage est
indcidable, alors il nexiste pas dalgorithme permettant de
dterminer si un mot donn appartient ce langage.
Une grammaire
10
Une grammaire
Une grammaire est un quadruplet G = (T, N, S, R) tel que :
T est le vocabulaire terminal, cest--dire lalphabet sur lequel
est dfini le langage.
N est le vocabulaire non terminal, cest--dire lensemble des
symboles qui napparaissent pas dans les mots gnrs, mais
qui sont utiliss au cours de la gnration. Un symbole non
terminal dsigne une catgorie syntaxique.
S N est le symbole de dpart ou axiome. Cest partir de ce
symbole non terminal que lon commencera la gnration de
mots au moyen des rgles de la grammaire.
R est un ensemble de rgles de production de la forme :
u v, avec u (N T)+ et v (N T)
11
La rgles de production
u v, avec u (N T)+ et v (N T)
12
Exemple de grammaire
Soit une grammaire G = (T, N, S, R) tel que :
T={0,1}
N={S}
R={S 0S/1S/}
: S
0 : S 0S0
1 : S 1S1
00 : S 0S00S00
01 : S 0S01S01
11, 10, 000, 110, 101
13/10/2015
13
Types de grammaires
14
Types de grammaires
Type 3
Type 2
Type 1
Type 0
15
Grammaires de type 3
16
Grammaires de type 2
17
Grammaires de type 1
Les rgles de R sont de la forme :
uSv umv avec S N, u, v(NT)* et m(NT)+
18
Grammaires de type 0
Pas de restriction sur les rgles
13/10/2015
19
Automates
20
21
La bande de lecture
22
La tte de lecture
23
La mmoire
La mmoire nest pas toujours prsente dans un
automate.
La mmoire possde un alphabet spcial.
La mmoire est caractrise par des fonctions de
recherche et de stockage.
24
Lunit de contrle
Lunit de contrle constitue le cur dun automate.
Elle peut tre vue comme un programme qui dicte
lautomate son comportement.
Elle est dfinie par un ensemble fini dtats ainsi que
par une fonction de transition qui dcrit le passage
dun tat un autre en fonction du contenu de la
case courante de la bande de lecture et du contenu
de la mmoire.
Lunit de contrle dcide aussi de la direction dans
laquelle dplacer la tte de lecture et choisit quels
symboles stocker dans la mmoire.
13/10/2015
25
26
Grammaires
Automates
Langages rguliers
Type 3 ou grammaires
rgulires
Langages algbriques
Type 2 : grammaires
algbriques
Automates piles
Langages contextuels
Type 1 : grammaires
contextuelles
Machines de Turing
borne linaire
Langages dcidables
Type 0 : grammaires
sans restriction
Machines de Turing