Exercício 09.28

Desenvolva uma gramática linear à direita sobre o alfabeto Σ = {x, y, z} que reconheça a linguagem L = {w | w possui xxy ou zyy como prefixo, xyx ou yzx como subpalavra e xxz ou zxy como sufixo}.


Resposta

G = ({A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P}, {x, y, z}, P, A)
P = {< A >  ->  x < B >  |  z < D >
     < B >  ->  x < C >
     < C >  ->  y < F >  |  y < H >  |  y < I >
     < D >  ->  y < E >
     < E >  ->  y < F >  |  y < I >
     < F >  ->  x < F >  |  y < F >  |  z < F >  |  x < G >  |  y < I >
     < G >  ->  y < H >
     < H >  ->  x < K >  |  x < L >
     < I >  ->  z < J >
     < J >  ->  x < K >  |  x < L >  |  x < O >
     < K >  ->  x < K >  |  y < K >  |  z < K >  |  x < L >  |  z < N >
     < L >  ->  x < M >
     < M >  ->  z < P >
     < N >  ->  x < O >
     < O >  ->  y < P >
     < P >  ->  ε }

Recomendamos

Vida de Programador Agenda TI Clickarvore