Vous êtes sur la page 1sur 2

Université Nice Sophia Antipolis L3 Info, L3 Math-MI

Automates & Langages 2017–2018

TD no 6

Grammaires non-contextuelles (algébriques)

Exercice 1) Considérons la grammaire G suivante :

Grammaire G
Axiome = S
N = {S, K, E, C}
T = {’if’, ’then’, ’else’, ’instructions’, ’condition’}
P={ S →KS }
S →KSES
S → instructions
K → ’if’ C ’then’
E → ’else’
C → condition

1. Cette grammaire G est-elle ambiguë ? Si oui, trouvez une chaîne terminale engendrée de deux façons
distinctes.
2. Sauriez-vous trouver une grammaire non-contextuelle non ambiguë pour engendrer exactement le
même langage ?

Exercice 2) Voici quatre grammaires, suivies de six propositions de langages. Rendez son langage à cha-
cune des grammaires :

G1 = ({S, T, A, B}, {0, 1, 2}, P1, S) G2 = ({S, T, A, B}, {0, 1, 2}, P2, S)
   

 S → 0S | 0T 
 
 S → 0T | 1S | 2S 

T → 1A | B2 T → 0T | 1A | 2S
   
P1 = P2 =

 A → 2 | T2 
 
 A → 0T | 1S | 2B 

B → 1 | 1T B → 0B | 1B | 2B | ε
   

G3 = ({S, T }, {0, 1, 2}, P3, S) G4 = ({S}, {0, 1, 2}, P4, S)


   
 S → 0ST | 012   S → 0 | 0S 
P3 = 2T → T 2 P4 = S → 1SS | S1S | SS1
1T 2 → 1122 S → 2SS | S2S | SS2
   

en considérant les langages suivants :

L1 = ensemble des mots qui contiennent le facteur 012


L2 = {w ∈ {0, 1, 2}∗, | w |0 >| w |1 + | w |2 }
L3 = ensemble des mots qui ont autant de 0 que de 1 et que de 2
L4 = {0n 1m 2m : n > 0, m > 0}
L5 = ensemble des mots qui ne contiennent pas le facteur 012
L6 = {0n 1n 2n : n > 0}

1
Exercice 3) Trouvez si possible une grammaire non-contextuelle pour chacun des langages suivants. Vous
préciserez dans chaque cas si la grammaire vous paraît ambiguë ou pas. Si elle l’est, vous mettrez en
évidence un mot avec deux arbres de dérivation distincts.
1. L1 = {wwR , w ∈ {0, 1}∗}
2. L2 = {w = wR , w ∈ {0, 1}∗}.
3. L3 = {ww, w ∈ {0, 1}∗}.

Exercice 4) Mettez chaque grammaire non-contextuelle de l’exercice précédent sous Forme Normale de
Chomsky. Le cas échéant, il faudra nettoyer ces grammaires avant d’appliquer l’algorithme du cours.

Exercice 5) Considérons le langage algébrique suivant sur l’alphabet binaire :

L = {w ∈ {0, 1}+, | w |0 =| w |1 }

1. Donnez une grammaire G telle que L = L(G).


2. Mettez cette grammaire sous Forme Normale de Chomsky.
3. Peut-on déduire de G une grammaire pour le langage L ?

Vous aimerez peut-être aussi