Esercizi grammatiche

Linguaggi di programmazione: esercizio 3 grammatica

programmer

Dato il linguaggio

 

L = {w € {a,b,c}* | |w| = 3*na(w) }

 

trovare la grammatica.

 

Vediamo quali stringhe può generare il linguaggio:

L = {abc, acb, bac, cab, bca, cba, aabbcc, ……}

 

G = (X,V,S,P)

X = (a,b,c)

V = (S,B,C)

 

P = {

S => λ | aBCS | aBC | BCaS | BCa | BaCS | BaC | aCBS | aCB | CaBS | CaB | CBaS | CBa

B => b

C => c

}

 

oppure

 

P = {

S => λ | SaSBSB | SBSaSB | SBSBSa

B => b | c

}

 

Entrambe le grammatiche sono context-free (tipo 2)

/ 5
Grazie per aver votato!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *