Exercício 09.08

Desenvolva uma gramática linear à direita sobre o alfabeto Σ = {a, b, c} que reconheça a linguagem L = {w | w possui ab como prefixo, bc como subpalavra e ca como sufixo}.


Resposta

G = ({A, B, C, D, E, F, G}, {a, b, c}, P, A)
P = {< A >  ->  a < B >
     < B >  ->  b < C >  |  b < D >
     < C >  ->  a < C >  |  b < C >  |  c < C >  |  b < D >
     < D >  ->  c < E >  |  c < F >
     < E >  ->  a < E >  |  b < E >  |  c < E >  |  c < F >
     < F >  ->  a < G >
     < G >  ->  ε }

Recomendamos

Revista LibreOffice Magazine Copy Vida de Programador