Exercício 07.45
Desenvolva uma Gramática Livre do Contexto (GLC) sobre o alfabeto Σ = {a, b, c, d}, que reconheça a linguagem L = {w | w possui bab ou dac ou ba como prefixo, abb ou cac ou acbc como subpalavra e bca ou acd ou cda como sufixo}.
Desenvolva uma Gramática Livre do Contexto (GLC) sobre o alfabeto Σ = {a, b, c, d}, que reconheça a linguagem L = {w | w possui bab ou dac ou ba como prefixo, abb ou cac ou acbc como subpalavra e bca ou acd ou cda como sufixo}.
G = ({exp, pre, presub, sub, subsuf, suf, alf}, {a, b, c, d}, P, exp)
P = {< exp > -> < pre > < alf > < sub > < alf > < suf >
| < presub > < alf > < suf >
| < pre > < alf > < subsuf >
| babbca
| dacacd
| dacacda
| dacbca
| dacbcda
| bacbca
| bacbcda
< pre > -> bab
| dac
| ba
< presub > -> babb
| dacac
| dacbc
| bacbc
< sub > -> abb
| cac
| acbc
< subsuf > -> abbca
| cacd
| cacda
| acbca
| acbcda
< suf > -> bca
| acd
| cda
< alf > -> < alf > a
| < alf > b
| < alf > c
| < alf > d
| ε }
G = ({exp, pre, presub, sub, subsuf, suf, alf}, {a, b, c, d}, P, exp)
P = {< exp > -> < pre > < alf > < sub > < alf > < suf >
| < presub > < alf > < suf >
| < pre > < alf > < subsuf >
| babbca
| dacacd
| dacacda
| dacbca
| dacbcda
| bacbca
| bacbcda
< pre > -> bab
| dac
| ba
< presub > -> babb
| dacac
| dacbc
| bacbc
< sub > -> abb
| cac
| acbc
< subsuf > -> abbca
| cacd
| cacda
| acbca
| acbcda
< suf > -> bca
| acd
| cda
< alf > -> a < alf >
| b < alf >
| c < alf >
| d < alf >
| ε }