Vous êtes sur la page 1sur 2

Université de Technologie de Compiègne

NF11 - Théorie des Langages de Programmation


TD2 : Corrigé

Exercice 7
G = ({0, 1}, {S}, S, P )
Avec P :

S → 1S1
S → 0S0
S →0
S →1
S →

Exercice 8
1. Soit la grammaire G1 = ({a, b}, {S}, S, P ), avec P :

S → aS
S →b

On a L(G1 ) = {w : w = ai b, ∀i ≥ 0}
2. Soit la grammaire G2 = ({a, b, c}, {A, B, C}, A, P ), avec P :

A → aA
A → abB
B → abB
B →C
C → cC
C →

On a L(G2 ) = {w : w = ai (ab)k cj , ∀i, j > 0; k > 0}


On propose aussi une autre solution, soit la grammaire G3 = ({a, b, c}, {S, A, B, C}, S, P ),
avec P :

S → ABC
A → aA
A →
B → abB
B → ab
C → cC
C →

On a L(G3 ) = {w : w = ai (ab)k cj , ∀i, j > 0; k > 0}

1
3. Il est plus intéressant de décrire le langage L3 comme suit : L3 = {w : w =
(0ik 1jk )k 0k , k > 0; ik , jk > 0}
Soit la grammaire G4 = ({0, 1}, {S, A, C, D}, S, P ), avec P :

S → AS0
S → A0
A → CD
C → 0C
C →0
D → 1D
D →1

On a L(G4 ) = L3
4. Soit la grammaire G5 = ({a, b, c}, {S}, S, P ), avec P :

S → aSa
S → bSb
S →c

On a L(G5 ) = {wcwR telquew = (a|b)∗ }. wR désigne le mot inverse de w.

Vous aimerez peut-être aussi