Vous êtes sur la page 1sur 1

Module "Théorie des Langages" Département Informatique

LMD : S4 Faculté des Sciences


Année Universitaire 2023-2024 Université de Tlemcen

TD2
Les grammaires

Exercice 1
Pour chacun des langages suivants, proposer une grammaire qui permet de l’engendrer
1- L={}
2- L={a}
3- L={a*}
4- L={a+}
5- L={a*b+}
6- L={a*(b|c)d*}
7- L={(ab)*c}
8- L={(a+b)nc /n2}
9- L={anbn (c+d)* /n2}
10- L = { w ∈ {a, b, c}* / w contient au moins deux occurrences consécutives de la lettre ‘a’ }.
11- L = { anbmcn-m / n  m  0}

Exercice 3
Soit la grammaire G définie par : G = ({a, b}, {S}, S, { S → aaS | Sbb | ab | a | b | ε })
1- Trouver L(G).
2- Écrire une grammaire G’ équivalente à G et qui a moins de règles de production et un seul symbole non
terminal.
3- Si la grammaire G’ n’est pas de type 3 alors trouver une grammaire G” de type 3 équivalente à G’.

Exercice 4
Soient les alphabets terminaux X1 = { a,+ ,* } et X2 = X1 ∪ { (, ) }.
1) Soit L le langage des expressions arithmétiques non parenthésées basé sur l’alphabet X1.
Trouver une grammaire, de type 3, pour L.

2) On considère L’ le langage des expressions arithmétiques défini sur X2 (pouvant être parenthésées ou
non). Trouver une grammaire, de type 2, pour L’.

Exercice 5
Etant donné le langage L définit sur l’alphabet {0,1} par :
L= {x  {0,1}* / |x|0 est impair }
- Construire la grammaire G, et prouver que L(G)=L.
1

Vous aimerez peut-être aussi