Linguagens formais

Page 1

MARCUS VINICIUS MIDENA RAMOS

JOÃO JOSÉ NETO

ITALO SANTIAGO VEGA

LINGUAGENS FORMAIS

Teoria e conceitos

LINGUAGENSFORMAIS Teoriaeconceitos

MarcusViniciusMidenaRamos

JoãoJoséNeto

ItaloSantiagoVega

Linguagensformais:teoriaeconceitos

©2023MarcusViniciusMidenaRamos,JoãoJoséNetoeItaloSantiagoVega

EditoraEdgardBlücherLtda.

Publisher EdgardBlücher

Editores EduardoBlüchereJonatasEliakim

Coordenaçãoeditorial AndressaLira

Produçãoeditorial ArianaCorrêa

Diagramação MarcusViniciusMidenaRamos

Revisãodetexto MaurícioKatayama

Capa LaércioFlenic

Imagemdacapa iStockphoto

EditoraBlucher

RuaPedrosoAlvarenga,1245,4ºandar

CEP04531-934–SãoPaulo–SP–Brasil

Tel.:55113078-5366

contato@blucher.com.br

www.blucher.com.br

SegundooNovoAcordoOrtográfico,conforme6.ed.do VocabulárioOrtográficodaLíngua Portuguesa,AcademiaBrasileiradeLetras,julhode2021.Éproibidaareproduçãototalou parcialporquaisquermeiossemautorizaçãoescritadaeditora.Todososdireitosreservados pelaEditoraEdgardBlücherLtda.

Conteúdo 1Elementosdematemáticadiscreta 19 1.1Conjuntos....................................19 1.2Relações.....................................27 1.3Funções.....................................30 1.4Grafos......................................34 1.5Árvores.....................................38 1.6Lógicaformal..................................39 1.7Teoremasedemonstrações.......................... .44 1.8Conjuntosenumeráveis............................ .51 1.9Exercícios....................................59 2Conceitosbásicosdelinguagens 63 2.1Símbolosecadeias...............................63 2.2Linguagens...................................66 2.3Gramáticas...................................78 2.4Linguagens,gramáticaseconjuntos................. .....83 2.5Autômatosereconhecedores........................ ..85 2.6Gramáticaseautômatos............................ .95 2.7HierarquiadeChomsky............................. 96 2.8Exercícios....................................102 3Linguagensregulares 109 3.1Gramáticasregulares............................. .109 3.2Conjuntoseexpressõesregulares................... .....120 3.3Autômatosfinitos................................124 3.4Gramáticasregulareseconjuntosregulares.......... .........169 3.5Gramáticasregulareseautômatosfinitos............. .......181 3.6Conjuntosregulareseautômatosfinitos.............. ......185 3.7Transdutoresfinitos.............................. .195 3.8Minimizaçãodeautômatosfinitos.................... ...204 3.9Linguagensquenãosãoregulares.................... ...215 3.10Propriedadesdefechamento....................... ...222 3.11Questõesdecidíveis............................. ..232 3.12Exercícios....................................241 4Linguagenslivresdecontexto 265 4.1Gramáticaslivresdecontexto...................... ....266 4.2Metalinguagens,BNFeBNFestendida................. ...272 4.3Árvoresdederivação.............................. 277 4.4Ambiguidade..................................280 4.5Simplificaçãodegramáticaslivresdecontexto........ .........286
16 Conteúdo 4.6Formasnormaisparagramáticaslivresdecontexto..... .........298 4.7Autômatosdepilha...............................309 4.8Critériosdeaceitação............................ ..320 4.9Gramáticaslivresdecontextoeautômatosdepilha..... .........324 4.10Linguagenslivresdecontextoelinguagensregulares. ............338 4.11Linguagenslivresdecontextodeterminísticas...... ...........341 4.12Linguagenslivresdecontextodescendentes......... .........346 4.13Linguagenslivresdecontextonãoambíguas.......... ........370 4.14Linguagensquenãosãolivresdecontexto............ .......374 4.15Propriedadesdefechamento....................... ...385 4.16Questõesdecidíveisenãodecidíveis............... .......392 4.17Autômatosdepilhaestruturados................... .....396 4.18Exercícios....................................415 5Linguagenssensíveisaocontexto 431 5.1Gramáticassensíveisaocontexto................... .....432 5.2Gramáticascomderivaçõescontroladas.............. ......437 5.3Formasnormaisparagramáticassensíveisaocontexto.. ..........444 5.4MáquinasdeTuringcomfitalimitada.................. ...448 5.5GramáticassensíveisaocontextoeMáquinasdeTuringcomfitalimitada..455 5.6Linguagenssensíveisaocontextoelinguagenslivresde contexto.......465 5.7Linguagensquenãosãosensíveisaocontexto.......... .......467 5.8Propriedadesdefechamento........................ ..472 5.9Questõesdecidíveisenãodecidíveis................ ......475 5.10Dispositivosadaptativosdirigidosporregras...... ............475 5.11Exercícios....................................502 6Linguagensrecursivas 507 6.1MáquinasdeTuring...............................508 6.2Critériosdeaceitação............................ ..512 6.3ExtensõesmaiscomunsdasMáquinasdeTuring.......... .....517 6.4Linguagensrecursivaselinguagenssensíveisaocontexto...........520 6.5MáquinasdeTuringUniversais...................... ...522 6.6Linguagensquenãosãorecursivas................... ....526 6.7Propriedadesdefechamento........................ ..530 6.8Questõesdecidíveisenãodecidíveis................ ......533 6.9Exercícios....................................533 7Linguagensrecursivamenteenumeráveis535 7.1Gramáticasirrestritas........................... ...536 7.2Formanormalparagramáticasirrestritas............ ........538 7.3MáquinasdeTuringcomoenumeradorasdelinguagens.... ........541 7.4Gramáticasirrestritaselinguagensrecursivamenteenumeráveis.......544 7.5Linguagensrecursivamenteenumeráveiselinguagensrecursivas.......552 7.6Linguagensquenãosãorecursivamenteenumeráveis.... .........554 7.7Propriedadesdefechamento........................ ..560 7.8Questõesdecidíveisenãodecidíveis................ ......562 7.9Decidibilidade.................................. 562
Linguagensformais:teoriaeconceitos 17 7.10Redutibilidade................................. .565 7.11Linguagens,problemaseosseuscomplementos........ ........570 7.12Exercícios....................................574 8Conclusões 577 8.1Umahierarquiadeclassesdelinguagens.............. ......577 8.2Próximospassos.................................581 Referências 585 Glossário 591 Índiceremissivo 601

Capítulo1

Elementosdematemáticadiscreta

As linguagensformais (oulinguagensestruturadasemfrases)podemservistascomoconjuntos.Consequentemente,muitodateoriaedosprincipais resultadosdaáreadelinguagens formaisestábaseadonaaindamaisfundamentalteoriadosconjuntosdamatemáticadiscreta. Ateoriadosconjuntosérelativamenteextensa,edelaserão apresentadosnestecapítuloapenasostópicos,conceitosedefiniçõesquesemostrammaisimportantesparaafundamentação eoestudodoscapítulosseguintes.

Alémdisso,relaçõesefunçõessãodeespecialimportânciaparadescreverasrelações entreosobjetosdeestudo,eporissosãoassuntoscontempladosnestecapítulo.

Damesmaforma,éprecisoconhecerumpoucodelógicaedeprovadeteoremaspara podercompreenderosignificadodosenunciadoseasestratégiasdeprovasusadasnotexto.

Completamarelaçãodetópicosdamatemáticadiscretaquesãorelevantesparalinguagensformaiseautômatosconceitosbásicosdegrafoseárvores.

1.1Conjuntos

Um conjunto éumacoleçãodeelementosemquenãosãoconsideradasocorrênciasmúltiplas delesnemhárelaçãodeordementreeles.

Exemplo1.1 Ainclusãodoelemento ♦ noconjunto {♣, ♦, ♥, ♠} resultanopróprioconjunto {♣, ♦, ♥, ♠},poiselejáfazpartedoconjuntoe,portanto,nãodeveserconsideradonovamente.Poroutro lado,oconjunto {♣, ♦, ♥, ♠} éigualaoconjunto {♦, ♣, ♠, ♥},umavezquenãoexisterelaçãode ordementreoselementosqueoscompõem. ⋆

Algunsconjuntospodemserespecificadosatravésdasimples enumeração detodosos seuselementos,denotadosentrechaveseseparadosporvírgulas.

Exemplo1.2 Oconjuntoformadopeloselementos0, 1, 2, 3érepresentadopor {0, 1, 2, 3}.Oconjunto {a, b, c, d, e, f } éformadopelasseisprimeirasletrasdoalfabetoromano.Oconjunto {01, 231, 33, 21323} contémoselementos01, 231, 33e21323. ⋆

Conjuntospodemserreferenciadosatravésdenomes,arbitrariamenteescolhidos.

Exemplo1.3 X = {0, 1, 2, 3}, Y = {a, b, c, d, e, f }.Assim,osnomes X e Y passamadenotarosconjuntoscorrespondentes. ⋆

Onúmerodeelementoscontidoemumconjunto A édenotadopor |A|.

Exemplo1.4 NoExemplo1.3, |X | = 4, |Y | = 6. ⋆

Ossímbolos ∈ e / ∈ servemparadenotarseumdeterminadoelemento pertence ou não pertence aumconjunto,respectivamente.

Elementosdematemáticadiscreta

Exemplo1.5 NoExemplo1.3,0

Conjuntospodemconterumnúmerofinitoouinfinitodeelementos.Noprimeirocaso, oconjuntopodeserdenotadoenumerando-se(relacionando-seexplicitamente)todososelementosqueocompõem,comofoifeitoparaosconjuntos X e Y doExemplo1.3,quesão conjuntosfinitos.

Conjuntosinfinitos podemserdenotadosatravésdaespecificação(formalouinformal) deregrasoupropriedadesquedevemsersatisfeitasportodososseuselementos,possibilitandoassimasuaidentificaçãoprecisaecompletaapartirde umaespecificaçãofinita.

Exemplo1.6 P ={x | x éumnúmeroprimo}, Q ={y |∃n inteirotalque y = n2}.Oprimeiroexemplodeveserlidodaseguinteforma:“P éoconjuntoformadopeloselementos x,talque x éumnúmeroprimo”.Emoutraspalavras, P éoconjunto,infinito,formadoportodososnúmerosprimos: {2, 3, 5, 7, 11, 13, 17 }.Oconjunto Q,tambéminfinito,éformadoportodososnúmerosquecorrespondemaoquadradodealgumnúmerointeiro: {0, 1, 4, 9, 16...}. ⋆

Quandoumconjuntoéespecificadoapartirderegras,osímbolo“|”deveserlidocomo “talque”,eserveparaintroduzirascondiçõesquedevemser satisfeitaspelosmembrosdo conjunto,queassimtornam-seconhecidos.

Oconjuntoquenãocontémnenhumelementorecebeonomede conjuntovazio.O conjuntovazioédenotadopor/0ouaindapor {}.Assim, {} =/0.Pordefinição, |/0 | = 0. Doisconjuntossãoditos idênticos,ousimplesmente iguais,seelescontêmexatamente osmesmoselementos.Aigualdadededoisconjuntosédenotadaatravésdosímbolo“=”.

Exemplo1.7 Considere Z = {a, b} e W = {b, a}.Então, Z = W ⋆

AteoriadeconjuntosapresentadanestaseçãoéumresumodachamadaTeoriaIngênua deConjuntos(doinglês NaïveSetTheory)elaboradaporGeorgCantornofinaldoséculo XIX.Talteoria,apesardesimples,permiteenunciaralguns paradoxos,entreosquaisomais famosoéoParadoxodeRussell,propostoporBertrandRussellem1901,equeenvolve apenasosconceitosdeformaçãodeconjuntoedepertencimento:

Seja S oconjuntoformadoportodososconjuntosquenãosãoelementosdesi mesmos,econsidereapergunta:“S éelementodesimesmo?”

Paratentarresponderaessapergunta,pode-seconsiderarduassituaçõesdistintas.Na primeira,supõe-seque S sejaumelementodesimesmo.Então,deacordocomadefinição, S nãodeveriafazerpartede S,umavezque S contémapenasconjuntosquenãosãoelementos desimesmos.Poroutrolado,pode-sesuporocasocontrário, ouseja,que S nãosejaum elementodesimesmo.Então,peladefinição, S sequalificacomoumelementodesimesmo. Portanto,qualquerquesejaocasoqueseconsidere,temosumacontradição.Logo,ahipótese éfalsaenãoexisteumconjunto S comtalcaracterística.

Afimdeevitaraformulaçãodeparadoxoscomoesse,foramdesenvolvidasteoriasde conjuntosalternativas,comoéocasodaTeoriadeTiposdopróprioRusselletambéma TeoriaAxiomáticadeZermelo,queposteriormenteserviude baseparaaTeoriaAxiomática deZermelo-FraenkelcomoAxiomadaEscolha(ZFC).Essaúltimaéconsideradaumdos principaisfundamentosdamatemáticamoderna.

Umconjunto A édito“contido emumconjunto B”,condiçãoestadenotadaatravésdo símbolo“⊆”,setodoelementode A fortambémelementode B.Nestecasodiz-se,equivalentemente,que“A éum subconjunto de B”ou,ainda,que“B contém A”.Osconjuntos/0e A são,pordefinição,subconjuntosdequalquerconjunto A.Noteque/0 ⊆ /0.

20
∈ X,5 / ∈ X,2 / ∈ Y , b / ∈ X, c ∈ Y , h / ∈ Y ⋆

Exemplo1.8 Paraosconjuntos A = {b, c, d}, B = {a, b, c, d, e} e C = {e, a, d, b, c} tem-seque A ⊆ B e B ⊆ C.Portanto,pode-sedizerque A estácontidoem B eem C,que A ésubconjuntode B ede C,que C contém A e B e,ainda,que B e C sãosubconjuntosumdooutroouqueestãocontidosumnooutro B e C,poroutrolado,nãoestãocontidosem A. ⋆

Doisconjuntos M e N sãoiguaisseesomentese M ⊆ N e N ⊆ M,etaligualdadeé denotadapor M = N.A desigualdade dedoisconjuntoséexpressaatravésdosímbolo“=”, ocorrendo,portanto,quandonomáximoapenasumadasduascondições M ⊆ N e N ⊆ M for verdadeira.

Exemplo1.9 NoExemplo1.8, A ⊆ B,porém A = B.Como B ⊆ C e C ⊆ B,então B = C ⋆

Se M ⊆ N e M = N,diz-seque M éum subconjuntopróprio de N.Osímbolo ⊂ denotaessacondição: M ⊂ N.Oconjunto/0ésubconjuntoprópriodequalquerconjunto, excetodopróprioconjunto/0.

Exemplo1.10 NoExemplo1.8, A ésubconjuntoprópriode B,porém B nãoésubconjuntoprópriode C.Logo, A ⊂ B.

Algumasoperaçõesimportantessobreconjuntossãoapresentadasaseguir.

Conjuntopotênciaou“powerset”

Denotadopor2A,onde A éumconjunto.Essaoperaçãoéutilizadaparadesignaroconjunto formadoportodosospossíveissubconjuntosde A:

União

Auniãodedoisconjuntos A e B correspondeaoconjuntoformadoportodososelementos contidosemcadaumdosdoisconjuntos A e B.Elementosrepetidosemambososconjuntos sãoconsideradosumaúnicaveznoconjuntounião:

Trata-sedeumaoperaçãoassociativa,ouseja,umaoperação paraaqualvaleapropriedade:

Ageneralizaçãodaoperaçãodeuniãoédenotadadaseguinteforma:

Aoperaçãodeuniãoétambémcomutativa,ouseja:

Linguagensformais:teoriaeconceitos 21
2A = {B | B ⊆ A} Paraconjuntos A finitos, |2A| = 2|A|.Noteque2/0 = {/0 }. Exemplo1.11 Para A = {0, 1, 2},temos2A = {/0 , {0}, {1}, {2}, {0, 1}, {0, 2}, {1, 2}, {0, 1, 2}}.Além disso, |A| = 3e |2A| = 23 = 8. ⋆
A ∪ B = {x | x ∈ A ou x ∈ B}
(A ∪ B) ∪C = A ∪ (B ∪C)
n i=0 Ai = A0 ∪ A1 ∪ A2 ∪ ... ∪ An
A ∪ B = B ∪ A

Elementosdematemáticadiscreta

paraquaisquerconjuntos A e B

Oconjuntovazio/0éo elementoneutro daoperaçãodeunião.Paratodoconjunto A, A

Intersecção

Define-seaintersecçãodedoisconjuntos A e B comosendoacoleçãodetodososelementos comunsaosdoisconjuntos:

Tambémemdecorrênciadaassociatividadedessaoperação,a suageneralizaçãoédenotadadeformasimilaraocasodaunião:

Damesmaformaqueaunião,aoperaçãodeintersecçãoétambém comutativa:

paraquaisquerconjuntos A e B

Aintersecçãodequalquerconjuntocomoconjuntovazioproduzcomoresultadoo próprioconjuntovazio,ouseja, A ∩ /0 = /0.Oconjuntovazio,nessecaso,édenominado aniquilador daoperaçãodeintersecção.

Exemplo1.13 {a, b, c}∩{c, d} =

{c, d} {a, b}∩{c, d} = /0. {a, b, c, d}∩ /0 = /0. ⋆

Doisconjuntos A e B sãoditos disjuntos se A ∩ B = /0.

Exemplo1.14 Osconjuntos {a, b, c} e {c, d} nãosãodisjuntos,pois {a, b, c}∩{c, d} = {c} = {}.Os conjuntos {a, b} e {c, d} sãodisjuntos,pois {a, b}∩{c, d} = /0. ⋆

Diferença

Define-seadiferençaentredoisconjuntos A e B (nestaordem)comosendooconjuntoformadoportodososelementosde A nãopertencentesaoconjunto B.Denota-seesseconjunto como:

A B = {x | x ∈ A e x / ∈ B}

Exemplo1.15 {a, b, c}−{c, d} = {a, b} {a, b}−{a, b, c} = /0. {a, b, c}−{d, e} = {a, b, c} {c, d}− {a, b, c} = {d}. {a, b, c}−{a, b} = {c}. {d, e}−{a, b, c} = {d, e}. ⋆

Essaoperaçãonãoéassociativa(nocasogeral, A (B C) =(A B) C)nemcomutativa(nocasogeral, A B = B A).

Exemplo1.16

Note,noentanto,quese A = B = C,entãoaoperaçãosetornacomutativa(produzindo sempre/0comoresultado),mascontinuasendonãoassociativa.

22
Exemplo1.12 {a, b}∪{c, d} = {a, b, c, d} {a, b, c}∪{c, d} = {a, b, c, d} {a, b, c, d}∪ /0 = {a, b, c, d} ⋆
/0 = A.
A ∩ B = {x | x ∈ A e x ∈ B}
n i=0 Ai = A0 ∩ A1 ∩ A2 ∩ ... ∩ An
A ∩ B = B ∩ A
c} {a, b, c, d}∩{c, d} =
{
= {a, b, c},Y = {a, b} e Z = {a}.Então, X (Y Z) =(X Y ) Z.Defato, X (Y Z)= {a, c} e (X Y ) Z = {c}.Poroutrolado, X Y = Y X.Defato, X Y = {c} e Y X = /0. ⋆
Sejam X

Complementação

Define-seacomplementaçãodeumconjunto A emrelaçãoaoconjunto B, A ⊆ B,comosendo oconjuntodetodososelementosde B quenãopertencema A.Denota-seesseconjuntocomo:

AB = B A

Muitasvezesessaoperaçãoédefinidaparaumconjunto A emrelaçãoaumoutroconjunto B subentendidoe,nessecaso,escreve-sesimplesmente:

A = B A

Diz-se,nessecaso,queoconjuntosubentendidoéoconjunto universodaoperação.O resultadodaoperaçãoéconhecidosimplesmentecomo complemento de A

Produtocartesiano

Oprodutocartesianodedoisconjuntoséoconjuntoformadoportodososparesordenados (a, b),emque a éumelementode A,e b umelementode B:

Um parordenado éumarepresentaçãodedoiselementosseparadosporvírgula e delimitadosporparênteses,comoem (a, b).Talrepresentaçãoimplicaumarelaçãodeordem emqueoelemento a éanterioraoelemento b.Consequentemente,se a = b,então (a, b) = (b, a)

Se A e B sãoconjuntosfinitos,então

Exemplo1.19 ConsiderenovamenteoExemplo1.18esuponha C = {♦}.Estruturalmente,éfácil perceberque

Finalmente,observeque,se A = B = C,entãoaoperaçãosetornacomutativamas continuanãoassociativa.Defato, A × (A

.

Linguagensformais:teoriaeconceitos 23
A = {a, b, c}, B = {a, b, c, d} e C = {d, c, a, b}.Então, AB = {d} e BC = /0.Sendo D = {a, b, c, d, e} oconjuntouniverso, A = {d, e}, B = C = {e} e D = /0. ⋆
Exemplo1.17 Sejam
A × B = {(a, b) | a ∈ A e b ∈ B}
|A × B| = |A|∗|B|.Paratodoconjunto A, A × /0 = /0. Ageneralizaçãodessaoperaçãoédenotada: A1 × A2 × × An = {(a1, a2,..., an) | ai ∈ Ai para1 i n} Exemplo1.18 Sejam A = {a, b, c} e B = {0, 1}.Então A ×B = {(a, 0), (a, 1), (b, 0), (b, 1), (c, 0), (c, 1)} e |A × B| = |A|∗|B| = 3 ∗ 2 = 6. ⋆ Essaoperaçãonãoéassociativa(nocasogeral,
C
B
× A).
A × (B ×C) =(A × B) ×
)nemcomutativa(nocasogeral, A ×
= B
(B ×C) =(A × B) ×C.Defato, (a, (0, ♦)) ∈ A × (B ×C) e (a, (
, ♦)) ∈
♦) ∈ (A
B
×C e ((a, 0), ♦) ∈ A × (B ×C).Noqueserefereàcomutatividade, bastaperceberque
= {(0, a), (0, b), (0, c), (1, a), (1, b), (1, c)} e,portanto, A × B
B
A ×
0
(A × B) ×C
Poroutrolado, ((a, 0),
×
)
B × A
=
× A ⋆
) =(A × A
×
× A
× A
)
A = A
× A.

Partição

Define-se partição deumconjunto A comosendoqualquercoleçãoformadapor n subconjuntosnãovaziosde A, n 1,talque:

ouseja,auniãodaspartes(osconjuntos Ai)deveformarotodo(oconjunto A)e,alémdisso, aintersecçãoentrequaisquerduaspartesconsideradas(Ai e A j)ésemprevazia.

Exemplo1.20 Seja A = {a, b, c, d}.Então, {{a, b}, {c, d}} éumapartiçãode A.Damesmaforma,o conjunto {{a}, {b}, {c}, {d}},bemcomo {{a, b, c, d}},entreváriosoutros. ⋆

Aseguirserãoapresentadosquatroimportantesresultados acercadeconjuntos,osdois primeirosconhecidoscomo LeisdeDeMorgan,osquaisserãoúteisnademonstraçãode outrosteoremasmaisadiantenotexto.

Teorema1.1(LeisdeDeMorgan) “Sejam A e B doisconjuntosquaisquer.Então A ∩ B =

A ∪ B e A ∪ B = A ∩ B.”

Aprovaalgébricadaprimeiralei(A ∩ B = A ∪ B,ourepresentaçãodaintersecçãopormeio dacomplementaçãoedaunião)procededaseguinteforma:

• Deve-seprovarque x ∈ A ∩ B ⇒ x ∈ A ∪ B;etambém

• Deve-seprovarque x ∈ A ∪ B ⇒ x ∈ A ∩ B.

Paraoprimeirocaso,temosquese x ∈ A ∩ B,então x ∈ A e x ∈ B.Logo, x ∈ A e x ∈ B

Portanto, x ∈ A ∪ B.Consequentemente, x ∈ A ∪ B.Paraosegundocaso,temosquese x ∈ A ∪ B,então x ∈ A ∪ B.Portanto,(i) x ∈ A e(ii) x ∈ B.Então, x ∈ A e x ∈ B.Logo, x ∈ A ∩ B

Parafacilitaroentendimentodestaprova,bastaanalisaro DiagramadeVenndaFigura 1.1.Daesquerdaparaadireita,asáreashachuradasdosdiagramasrepresentam,respectivamente, A, B, A ∪ B e A ∪ B

Aprovaalgébricadasegundalei(A ∪ B = A ∩ B,ourepresentaçãodauniãopormeioda complementaçãoedaintersecção)procededaseguinteforma:

• Deve-seprovarque x ∈ A ∪ B ⇒ x ∈ A ∩ B;etambém

• Deve-seprovarque x ∈ A ∩ B ⇒ x ∈ A ∪ B

Paraoprimeirocaso,temosquese x ∈ A ∪ B,então(i) x ∈ A e x ∈ B,ou(ii) x ∈ A e x ∈ B, ou(iii) x ∈ A e x ∈ B.Emoutraspalavras,(i) x ∈ A e x / ∈ B,ou(ii) x ∈ A e x ∈ B,ou(iii) x ∈ A e x / ∈ B

Emqualquercaso, x ∈ A ∩ B.Logo, x ∈ A ∩ B.Paraosegundocaso,temosquese x ∈ A ∩ B, então x ∈ A ∩ B.Portanto,(i) x ∈ A,ou(ii) x ∈ B,ou(iii)osdoiscasosanterioresacontecem simultaneamente.Se(i)forverdade,entãoconclui-seque x ∈ A.Se(ii)forverdade,conclui-se que x ∈ B.Se(iii)forverdade,conclui-sequeosdoiscasosanterioressãoverdadeiros.Em qualquersituação,temosque x ∈ A ∪ B

Parafacilitaroentendimentodestaprova,bastaanalisaro DiagramadeVenndaFigura 1.2.Daesquerdaparaadireita,asáreashachuradasdosdiagramasrepresentam,respectivamente, A, B, A ∩ B e A ∩ B

Exemplo1.21

24
Elementosdematemáticadiscreta
A = n i=0 Ai e n i=0 n, j=i j=0 Ai ∩ A j = /0
Suponha
{a, b},Y = {b, c} econsidere Z = {a, b, c}.Então, X ∪Y = (X Z ∩Y Z )Z = ({c}∩{a})Z = /0 Z = {a, b, c}.Poroutrolado, X ∩Y = (X Z ∪Y Z )Z = ({c}∪{a})Z = {a, c}Z = {b}. ⋆
X =

Capítulo2

Conceitosbásicosdelinguagens

Estecapítuloapresentaediscuteosprincipaisconceitosbásicosassociadosaoestudode linguagens,comoéocasodossímbolos,dascadeiasedaslinguagenspropriamenteditas, assimcomodosmétodosempregadosparaaformalizaçãodaslinguagens,comoéocasodas gramáticasedosreconhecedores(pormeiodosautômatos).

Anoçãodeconjunto,introduzidanocapítuloanterior,éutilizadaparadefinirduas novasnoçõesfundamentais:alfabetos(conjuntosfinitosenãovazioscujoselementossão símbolos)elinguagens(conjuntosfinitosouinfinitoscujos elementossãocadeiasconstruídas comossímbolosdeumalfabeto).

Símbolospodemseragrupadosnaformadeumconjunto,casoem queelerecebeo nomedealfabeto.Conjuntos,poroutrolado,podemserformadosporelementosdeoutra natureza,enãoapenasporsímbolos.Éocaso,porexemplo,de conjuntoscujoselementos sãocadeias(sequênciasfinitasdesímbolos),quenestecaso recebemonomedelinguagem, econjuntoscujoselementostambémsãoconjuntos,equepodemrepresentar,porexemplo, conjuntos(tambémchamadosdeclasses)delinguagens.

Asgramáticaspossuemgrandeimportâncianaanáliseenaespecificaçãoformaldasintaxedelinguagens,principalmentedaslinguagensdeprogramação,aopassoqueosreconhecedoresdefinemmodelosqueservemcomobaseparaaconstruçãodeanalisadoresléxicos esintáticosnoscompiladoreseinterpretadoresdetaislinguagens.Naprática,oestudosistemáticodaslinguagensformaisedosautômatosviabilizou odesenvolvimentodetécnicas eficientesparaautilizaçãoeconômicadaslinguagensdeprogramação,originando-seemseu estudograndepartedointeressequerecaisobreosassuntos ligadosaessetema.

OcapítuloseencerracomaapresentaçãodaHierarquiadeChomsky,usualmenteempregadanaclassificaçãohierárquicadaslinguagensconformeseugraudecomplexidade,e emtornodaqualsecostumadesenvolverboapartedateoriadaslinguagensformaiseautômatos.Tomando-secomobaseessahierarquia,sãoefetuadas consideraçõespreliminares sobreaspropriedadesesobreacaracterizaçãoformaldecadaumadasclassesdelinguagens poreladefinidas.

2.1Símbolosecadeias

Os símbolos, 1 tambémdenominados palavras ou átomos,sãorepresentaçõesgráficas,indivisíveis,empregadasnaconstruçãode cadeias.Estassãoformadasatravésdajustaposição deumnúmerofinitodesímbolos,obtidosdealgumconjuntofinitonãovazio,denominado alfabeto.Umalfabetoé,portanto,umconjuntocujoselementossãosímbolosusadosna construçãodecadeias.

1Naliteraturaeminglêssãoconhecidoscomo tokens.

Conceitosbásicosdelinguagens

Cadasímboloéconsideradocomoumaunidadeatômica,nãoimportandoasuaparticularrepresentaçãovisual.Sãoexemplosdesímbolos: a, abc, begin, if , 5, 1024, 2.017e4. Perceba-sequenãoháumadefiniçãoformalpara“símbolo”.Deve-seintuiroseusignificado comoentidadeabstrata,edessaformaaceitá-locomobaseparaateoriaqueserádesenvolvida.Pode-sedizerquesetratadeumconceitoprimitivo.

Exemplo2.1 Suponhaque a e b sejamsímbolos.Então, {a, b} éumalfabetoe aaabbb e babab são exemplosdecadeiassobreessealfabeto.

Aolongodestetextoseráadotadaaseguinteconvençãoparadenotarsímbolos,cadeias ealfabetos:

•Símbolos:letrasminúsculasdoiníciodoalfabetoromano: (a, b, c...).

•Cadeias:letrasminúsculasdofinaldoalfabetoromano (r, s, x, w ),ouletrasminúsculasdoalfabetogrego (α,β,γ )

•Alfabetos:letrasmaiúsculasdoalfabetogrego (Σ, Γ, ∆...).

Exemplo2.2 Comoexemplodealfabetopodemosmencionaroconjunto Σ dosdígitoshexadecimais, emquecadaelemento(dígito)desseconjuntocorrespondeaumdeterminadosímbolo:

Naturalmente,ascadeiasquepodemserconstruídasapartir dossímbolosdessealfabetocorrespondemaosnumeraishexadecimais:123, a0b56, fe5dc, b, abc, 55efff ...

O comprimento deumacadeiaéumnúmeronaturalquedesignaaquantidadedesímbolosqueacompõem.Ocomprimentodeumacadeia α édenotadopor |α|.

Exemplo2.3 Considerem-seascadeias α = 1,β = 469, χ = ble60,φ = df .Então, |α| = 1, |β| = 3, |χ| = 5e |φ| = 2,tambémconstruídassobreoalfabeto Σ doExemplo2.2.

Dá-seonomede cadeiaelementar (ou unitária)aqualquercadeiaformadaporum únicosímbolo,comoéocasodacadeia α doExemplo2.3.Naturalmente,todacadeiaunitária temcomprimento1.

Umoutroimportanteexemplodealfabetocorrespondeaoconjuntodossímbolosdefinidosemalgumdicionáriodalínguaportuguesa.Noteque,diferentementedoalfabeto Σ anteriormenteconsiderado,emquetodosossímboloseramcompostosdeumúnicocaractere,ossímbolosdestenovoalfabetosãoconstruídosapartirdaconcatenaçãodeumnúmero variáveldecaracteres(nocaso,asletrasdoalfabetoromano).Paraopresenteestudo,embora representadoscomdiversoscaracteres,taissímbolossãoconsideradosindivisíveis,eascorrespondentescadeiaselementaresapresentam,poressarazão,comprimentounitárioquando consideradasnocontextodalínguaportuguesa.

Considerando-seaindaquetalalfabetoésuficientementeextensoparaconterasconjugaçõesdetodososverbos,asformasflexionadasdetodosos adjetivos,substantivosetc., enfim,todasaspalavraspossíveisdeseremempregadasemnossoidioma,entãoacadeia “Exemplodeumacadeianonovoalfabeto” deveráserconsideradaumacadeiaválida,construídaapartirdossímbolosdessealfabeto,eoseucomprimentoéiguala7.Notequeesse alfabetodalínguaportuguesa,apesardeextenso,éfinito,e tambémqueépossívelconstruir umaquantidadeinfinitadecadeiasdecomprimentofinitocomossímbolosdele.Observe-se que,entreestas,hácadeiasquenalínguaportuguesanãofazemsentido.Porexemplo, “cadeiaumaexemploerradoo”.Asdemaissãoempregadasnasdiversasformasdecomunicação humana.

64
Σ = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f }

Oconceitode cadeiavazia éespecialmenteimportantenateoriadaslinguagensformais.Denota-sepor ε acadeiaformadaporumaquantidadenuladesímbolos,istoé, a cadeiaquenãocontémnenhumsímbolo.Formalmente,|ε| = 0. Duascadeias,sejamelaselementaresounão,podemseranexadas,formandoumasó cadeia,atravésdaoperaçãode concatenação.Essaoperaçãofornececomoresultadouma novacadeia,formadapelajustaposiçãoordenadadossímbolosquecompõemosseusoperandosseparadamente.Observe-sequeaoperaçãodeconcatenaçãoentreumacadeiaeum símboloérealizadaatravésdaconcatenaçãodacadeiaemquestãocomacadeiaelementar correspondenteaosímbolo.Denota-seaconcatenaçãodeduascadeias α e β como α β ou, simplesmente, αβ.

Exemplo2.4 Considereoalfabeto Σ = {a, b, c, d},eascadeias α = abc, β = dbaca e σ = a.A concatenaçãodacadeia α comacadeia β éassimobtida: α ·β = αβ = abcdbaca,e |αβ| = |α| + |β| = 3 + 5 = 8.Damesmaforma,obtém-seaconcatenaçãode β com α: β · α = βα = dbacaabc,e, |βα| = |β| + |α| = 5 + 3 = 8.Note-seque,nesteexemplo, αβ = βα.Aconcatenaçãodacadeia α com acadeiaelementar σ édadapor: α σ = ασ = abca,e |ασ| = |α| + |σ| = 3 + 1 = 4.Finalmente,a concatenaçãodacadeiaelementar σ comacadeia β éobtidacomo: σ β = σβ = adbaca,e |σβ| = |σ

|β| = 1 + 5 = 6. ⋆

Comosepodeperceber,aoperaçãodeconcatenação,emboraassociativa,nãoécomutativa.Dadastrêscadeias α,β,γ quaisquer,pode-sesempreafirmarque (αβ)γ = α(βγ)

Poroutrolado,dependendodosparticulares α e β considerados,podeserqueou αβ = βα ou αβ = βα (porexemplo,se α e/ou β foremcadeiasvaziasou,ainda,se α = β).

Nocasodacadeiavazia ε (elementoneutroemrelaçãoaooperadordeconcatenação) sãoválidasasseguintesrelações:

1. αε = εα = α

2. |αε| = |εα| = |α|

Diz-sequeumacadeia α éum prefixo deoutracadeia β seforpossívelescrever β como αγ.Acadeia α édita sufixo de β se β puderserescritacomo γα.Emambosos casos,admite-seapossibilidadede γ = ε.Noscasosemque γ = ε,diz-seque α é,respectivamente, prefixopróprio ou sufixopróprio dacadeia β.Notequeacadeiavazia ε pode serconsideradasimultaneamenteprefixoousufixodequalquercadeia.

Exemplo2.5 Considereacadeia abc.Ascadeias ε, a, ab e abc sãoprefixosdela.Ascadeias ε, a, ab sãoprefixosprópriosdela,masacadeia abc não.Ascadeias ε, c, bc e abc sãosufixosdela.Ascadeias ε, c, bc sãosufixosprópriosdela,masacadeia abc não. ⋆

Dadasquatrocadeias α,β,γ e δ,umacadeia α échamada subcadeia deumacadeia β sempreque β = γαδ.Note-seque,se γ ou δ ouambosforemvazios,adefiniçãotambémse aplica.Note-setambémqueprefixosesufixossãocasosparticularesdesubcadeias.

Exemplo2.6 Considereacadeia abc.Ascadeias ε, a, b, c, ab, bc e abc sãosubcadeiasdela.Acadeia ac nãoésubcadeiade abc ⋆

Umacadeia α éditao reverso deumacadeia β,denotando-seofatopor α = βR,se α contiverosmesmossímbolosque β,porémjustapostosnosentidoinverso,ouseja:

Pordefinição,

Linguagensformais:teoriaeconceitos 65
| +
se α = σ1σ2 σn 1σn então β = σnσn 1 σ2σ1
εR
ε
=
.

Conceitosbásicosdelinguagens

Exemplo2.7 Considerem-seascadeias α = 123abc e β = d.Então, αR = cba321e βR = d ⋆

Finalmente,convenciona-seque σi representaacadeiaformadapor“i”símbolos σ concatenados.Pordefinição, σ0 = ε

Exemplo2.8 Considere-seosímbolo a.Então: a0 = ε; a

2.2Linguagens

Uma linguagemformal éumconjunto,finitoouinfinito,decadeiasdecomprimentofinito, formadaspelaconcatenaçãodesímbolosdeumalfabetofinito enãovazio.Umalinguagem formalé,portanto,umconjuntoondeoselementosdelesãocadeiasconstruídassobreum alfabeto.Notequeumalinguagempodeservazia(ouseja,podenãoconternenhumacadeia) ouaindapodeconteracadeiavaziacomoumdosseuselementos.

Alémdasoperaçõespreviamentedefinidasparaconjuntos,comounião,diferença,intersecçãoetc.,outrasoperações,comoaconcatenaçãoeosfechamentos,tambémsãofundamentaisparaadefiniçãoeoestudodaslinguagensformais.Essasnovasoperações,definidas aseguir,derivamdiretamentedaoperaçãodeconcatenaçãodecadeiasintroduzidanaseção anterior.

Antesdeapresentá-las,convémnotaradistinçãoqueháentreosseguintesconceitos:

•cadeiavazia ε;

•conjuntovazio/0;

•conjuntoquecontémapenasacadeiavazia {ε};

•conjuntoquecontémapenasoconjuntovazio {/0 }

Oprimeirodeles, ε,denotaacadeiavazia,ouseja,umacadeiadecomprimentozero, aopassoqueosdemaissãocasosparticularesdeconjuntos:/0denotaumalinguagemvazia, ouseja,umalinguagemquenãocontémnenhumacadeia, {ε} denotaumalinguagemque contémumaúnicacadeia(acadeiavazia),e {/0 } denotaumconjuntoquecontémumúnico elemento,oconjuntovazio.Observe-seque |ε| = |/0 | = 0e |{ε}| = |{/0 }| = 1.

Note-seadiferençaconceitualqueháentrealfabetos,linguagensecadeias.Alfabetos sãoconjuntos,finitosenãovazios,desímbolos,atravésdecujaconcatenaçãosãoobtidasas cadeias.Linguagens,porsuavez,sãoconjuntos,finitos(eventualmentevazios)ouinfinitos, decadeias.Umacadeiaétambémdenominada sentença deumalinguagem,ousimplesmentesentença,nocasodeelapertenceràlinguagememquestão.Linguagenssão,portanto, coleçõesdesentençassobreumdadoalfabeto.

AFigura2.1ilustraarelaçãoentreosconceitosdesímbolo, alfabeto,cadeiaelinguagem.

AsváriasleiturascontidasnaFigura2.1são:“símboloéelementodealfabeto”;“alfabetoéconjuntodesímbolos”;“símboloéitemdecadeia”;“cadeiaésequênciadesímbolos”; “cadeiaéelementodelinguagem”e“linguageméconjuntodecadeias”.

Outramaneiradeassociarsignificadosaostermos“símbolo”,“alfabeto”,“cadeia”e “linguagem”éapresentadanaFigura2.2,quetambémilustra oconceitode“sentença”.

AFigura2.2facilitaoentendimentodasrelaçõesentreosconceitos:(i)umconjunto desímbolosformaumalfabeto,(ii)apartirdeumalfabeto(finito)formam-se(infinitas) cadeias;(iii)determinadascadeiassãoescolhidasparafazerpartedeumalinguagem;(iv) umalinguageméumconjuntodecadeias,queporissosãotambémdenominadassentenças.

66
a; a2 = aa; a3 = aaa;etc. ⋆
1 =

Exemplo2.9 Osímbolo a éelementodoalfabeto {a} etambémumitemdacadeia aaa,queporsua vezéelementodalinguagem {aaa}.Poroutrolado,alinguagem {aaa} éumconjuntoquecontéma cadeia aaa,acadeia aaa éumasequênciadesímbolos a eoalfabeto {a} contémosímbolo a.AFigura 2.3ilustraessesconceitos,conformeaFigura2.1.

Exemplo2.10 AFigura2.4ilustraumaaplicaçãodosconceitosdaFigura2.2aoalfabeto {a, b}.A linguagemapresentadaé,naturalmente,apenasumadasinúmerasquepodemsercriadasapartirdesse alfabeto.

Diz-sequeumalinguagem L,definidasobreumalfabeto Σ,simplesmente observa uma propriedade p setodasassentençasde L exibem p.Diz-seque L,definidasobre Σ, satisfaz apropriedade p setodasassentençasde L exibem p e,alémdisso, L foramaiorlinguagem quesepodedefinirsobre Σ comtalpropriedade.Emoutraspalavras,se L contiver todas as cadeiassobre Σ quepossuemapropriedade p.Ointeressemaior,naturalmente,recaisobre aslinguagensquesatisfazemumacertapropriedade(ouconjuntodepropriedades)aoinvés daquelasqueapenasobservamapropriedade.

Exemplo2.11 Considereoalfabeto Σ = {a, b, c} eapropriedade p “iniciarcomosímbolo a”.Então:

•Alinguagem L0 = {ab, abc, accbb} observa p;

•Alinguagem L1 = cadeiassobre Σ queiniciamcom a eterminamcom a observa p;

•Alinguagem L2 = cadeiassobre Σ queiniciamcom a epossuemcomprimentopar observa p;

•Alinguagem L3 = cadeiassobre Σ queiniciamcom a econtémasubcadeia abc observa p;

•Alinguagem L4 = cadeiassobre Σ queiniciamcom a satisfaz p.

AlémdasoperaçõessobreconjuntosdefinidasnaSeção1.1,apresentamosaseguir maisalgumasoperaçõesqueserãoúteisaolongodorestantedotexto.Taisoperaçõessão definidasapartir(i)danoçãobásicadelinguagemenquantoconjuntodecadeiasetambém (ii)daoperaçãodeconcatenaçãodecadeias.

Linguagensformais:teoriaeconceitos 67
Figura2.1 Símbolo,alfabeto,cadeiaelinguagem.

Concatenação

A concatenação deduaslinguagens X e Y ,denotadapor X Y ousimplesmente XY ,correspondeaumconjunto Z formadopelacoleçãodetodasascadeiasquepossamserobtidaspela concatenaçãodecadeias x ∈ X comcadeias y ∈ Y ,nessaordem.Formalmente,

Z = X Y = XY = {xy | x ∈ X e y ∈ Y }

Notarqueessaoperaçãoéassociativa,pois X (Y Z)=(X Y ) Z,masnãoécomutativa, umavezquenemsempre X Y = Y X.Alémdisso, {ε} éoelementoneutrodaoperaçãode concatenação,pois X ·{ε} = {ε}· X = X,e/0éoaniquiladordessaoperação,pois X · /0 = /0 X = /0.

Exemplo2.12 Seja X = {aa, bbb, ccc} e Y = {00, 11}.Então, Z = X ·Y = {aa00, bbb00, ccc00, aa11, bbb11, ccc11}.Observar,nestecaso,que X Y = Y Z. ⋆

Aconcatenação ΣΣ,quegeracadeiasdecomprimento2formadassobreumalfabeto Σ,étambémrepresentadapor Σ2.Analogamente,aconcatenação ΣΣΣ,quegeracadeias decomprimento3sobreoalfabeto Σ,érepresentadacomo Σ3,eassimsucessivamente.

Generalizando-se: Σi = ΣΣi 1 , i > 0

Pordefinição, Σ0 = {ε}

Exemplo2.13 Considere-se Σ = {a, b, c}.Então,

• Σ0 = {ε}

• Σ1 = {a, b, c}

• Σ2 = {aa, ab, ac, ba, bb, bc, ca, cb, cc}

• Σ3 = {aaa, aab, aac, aba, abb, abc,..., ccc}

68
Conceitosbásicosdelinguagens
Figura2.2 Símbolo,alfabeto,cadeia,sentençaelinguagem.

Capítulo3

Linguagensregulares

Nestecapítuloserãoestudadasaslinguagensregulareseas diversasformasatravésdasquais elaspodemsergeradasoureconhecidas:

•Gramáticasregulares.

•Conjuntosregulares(maisusualmenterepresentadosatravésdasexpressõesregulares).

•Autômatosfinitos.

Emprimeirolugar,serãoapresentadoscadaumdessesformalismos.Depois,serámostradaaequivalênciaentreelesquantoàclassedelinguagensquesãocapazesderepresentar —aslinguagensregulares—,eserãoapresentadostambémalgoritmosquepermitemefetuar aobtençãodeumarepresentaçãoapartirdecadaumadasoutras.

Especialênfaseserádedicadaaoestudodosautômatosfinitos:serãointroduzidasas notaçõeseosconceitos,semprerelacionandoessetipodereconhecedoraomodelogeral, apresentadonocapítuloanterior.Tambémseráapresentada umaintroduçãoaostransdutores finitos.

Posteriormente,serãoconsideradasaspropriedadesexibidaspelaslinguagensdotipo3 emsuasdiversasrepresentações.Emparticular,o“Pumping Lemma”daslinguagensregulares,muitoútilnademonstraçãodequecertaslinguagensnãosãoregulares,etambémpara demonstrardiversosoutrosimportantesteoremasrelativosàslinguagensdessaclasse.Outra fundamentalpropriedaderefere-seàexistênciadeumautômatomínimo(eúnico)paracada linguagemregularconsiderada,oqualpodeserobtidoconformeométodopráticoapresentado.

Emseguida,serãoanalisadasalgumasvaliosasoperaçõesquepreservamaregularidade daslinguagensdotipo3,eque,poressemotivo,tambémsãoúteisparadeterminaracategoria deChomskyaqueumalinguagempossapertencer.

Finalmente,serãoapresentadasedemonstradas,noúltimoitemdestecapítulo,algumas questõesdecidíveisreferentesàclassedaslinguagensregulares.

3.1Gramáticasregulares

As gramáticaslinearesàdireita foramapresentadasanteriormente,naSeção2.7.Trata-se degramáticascujasregras α → β atendemexclusivamenteàsseguintescondições:

• α ∈ N; • β ∈ (Σ ∪{ε})(N ∪{ε}).

Exemplo3.1 AgramáticadoExemplo2.41élinearàdireita.Damesmaforma,agramáticaapresentadaaseguirtambémélinearàdireita.

V = {S, X ,Y, a, b}

Σ = {a, b}

P = {S → aS, S → bS, S → bX , X → bY,Y → b}

Notequetodasasregrascontêmexatamenteumsímbolonãoterminaldoladoesquerdoe,alémdisso, queoladodireitodetodasasregraséumacadeiadoconjunto (Σ ∪{ε})(N ∪{ε}) Alinguagemgerada poressagramáticacompreendetodasascadeiassobreoalfabeto {a, b} queterminamcom bbb. ⋆

As gramáticaslinearesàesquerda,porsuavez,possuemregras α → β emqueas seguintescondiçõessãoobservadasemtodaselas:

• α ∈ N;

• β ∈ (N ∪{ε})(Σ ∪{ε})

Exemplo3.2 AgramáticadoExemplo2.42élinearàesquerda.Damesmaforma,agramáticaapresentadaaseguirtambémélinearàesquerda.

V = {S, X ,Y, Z, a, b}

Σ = {a, b}

P = {S → Xb, X → Yb,Y → Zb, Z → Za, Z → Zb, Z → ε}

Notequetodasasregrascontêmexatamenteumsímbolonãoterminaldoladoesquerdoe,alémdisso, queoladodireitodetodasasregraséumacadeiadoconjunto (N ∪{ε})(Σ ∪{ε}) Alinguagemgerada porestagramáticaéamesmadoexemploanterior,ouseja,compreendetodasascadeiassobreoalfabeto {a, b} queterminamcom bbb

Sejamlinearesàdireitaoulinearesàesquerda,oladoesquerdodasregrasdasgramáticasregularesésempreumúnicosímbolonãoterminal.Já oladodireitodasregrasde taisgramáticasésempreformadopornomáximodoissímbolos (terminalenãoterminal,se direita,ounãoterminalterminal,seesquerda).Oladodireitopodeaindaserformadopor apenasumúnicosímboloterminal,umúnicosímbolonãoterminalouaindaacadeiavazia.

Exemplo3.3 Agramáticaapresentadaaseguirnãoélinearàdireitanemlinearàesquerda:

V = {S, X ,Y, Z, a, b}

Σ = {a, b}

P = {S → Xb, X → Yb,Y → Zb, Z → aZ, Z → bZ, Z → ε}

Notequetodasasregrascontêmexatamenteumsímbolonãoterminaldoladoesquerdo.Noentanto,as trêsprimeirasregrascolocamosímbolonãoterminaldolado esquerdo,aopassoqueasduasseguintes ocolocamdoladodireito.Aúltimaregraéválidatantonumtipodegramáticaquantonooutro.A linguagemgeradaporessagramáticaéamesmadoexemploanterior,ouseja,compreendetodasas cadeiassobreoalfabeto {a, b} queterminamcom bbb ⋆

Algunsautoresconsideramasseguintesextensõesnadefiniçãodasregras α → β de gramáticaslinearesàdireitaeàesquerda:

110 Linguagensregulares
• α ∈ N; • β ∈ Σ∗(N ∪{ε}) selinearàdireita,ou β ∈ (N ∪{ε})Σ∗ selinearàesquerda.

Nessasextensões,admite-seumaquantidadequalquerdesímbolosterminaisnolado direitodasproduçõesgramaticais,enãonomáximoum,comofoiestabelecidonadefinição original.Taisextensõesemnadaalteramaclassedelinguagensrepresentáveisporessestipos degramáticas,constituindooseuusomeraconveniência.OTeorema3.1trazademonstração dessaequivalência.

Demonstra-sequeasgramáticaslinearesàesquerdaouàdireitageramexatamentea mesmaclassedelinguagens.Portanto,éindiferenteoempregodeumaououtradessas duasvariantesdegramática,jáqueambaspossuemamesmacapacidadederepresentaçãode linguagens.

Poressemotivo,asgramáticaslinearesàdireitaouàesquerdasãotambémdenominadas gramáticasregulares.Essetermoserveparadesignarambosostiposdegramáticalinear. Aslinguagensgeradasporgramáticasregularesrecebemonomede linguagensregulares. OTeorema3.2estabeleceaequivalênciaentregramáticaslineares,àdireitaeàesquerda.

Quandoumagramáticalinearàdireitapossuinomáximoumúnicosímboloterminal doladodireitodassuasregras,elarecebeadenominaçãode gramáticalinearàdireitaunitária.Independentementedaquantidadedesímbolosterminaisdo ladodireito,agramática recebeadenominaçãode gramáticalinearàdireitanãounitária.Dessamaneira,toda gramáticalinearàdireitaunitáriaétambémumagramáticalinearàdireitanãounitária,mas ocontrárionemsempreéverdadeiro.Omesmovalepara gramáticalinearàesquerda unitária e gramáticalinearàesquerdanãounitária.

Otermo gramáticalinearàdireita (ou gramáticalinearàesquerda)denotagramáticasdequalquerumdosdoistipos(unitáriaounãounitária).Uma gramáticaregular é,portanto,uma gramáticalinearàdireita(GLD) ouuma gramáticalinearàesquerda (GLE).

Uma gramáticalinear (nãonecessariamenteàesquerdaouàdireita)éumagramática quepossuinomáximoumúnicosímbolonãoterminaldoladodireitodassuasregras.Assim, gramáticaslinearesàesquerdaouàdireitasãocasosparticularesdegramáticaslineares:toda gramáticalinearàesquerdaouàdireitaétambémumagramáticalinear,porémoinverso nemsempreéverdadeiro.Alinguagemgeradaporumagramáticalinearéchamadade linguagemlinear,eestanãoénecessariamenteumalinguagemregular.

Exemplo3.4 Agramáticalinearapresentadaaseguirgeraumalinguagemlinearqueélivredecontexto enãoregular(ak bk com k ≥ 0),conformeserávistomaisadiante:

S → aSb

S → ε

Logo,todalinguagemregularétambémlinear,porémnemtoda linguagemlinearé regular.Passamosagoraaoteoremaqueestabeleceaequivalênciaentreasgramáticaslineares àdireitaeasgramáticaslinearesàesquerda.

Teorema3.1(GLDnãounitária ⇒ unitária) “Se G1 éumagramáticacompostaapenasde produçõesdotipo α →

Linguagensformais:teoriaeconceitos 111
α ∈ N, β ∈ Σ∗(N ∪{ε})
α → β, α ∈ N,β ∈ (Σ ∪{ε})(N ∪{ε}).”
peloAlgoritmo3.1,oqualsubstituiasregras α → β,β ∈ Σ∗N, porumconjuntoequivalentedenovasregras α′ → β′ ,β′ ∈ (Σ ∪{ε})(N ∪{ε}).
β,
,entãoexisteumagramáticaequivalente G2 compostaapenasdeproduçõesdotipo
G2 podeserobtidaapartirde G1

Algoritmo3.1(GLDnãounitária ⇒ unitária) “Substituiçãodasproduçõesdeumagramáticalinearàdireita,naforma α → β, β ∈ Σ∗(N ∪{ε}),porconjuntosdeproduçõesequivalentes,naforma α → β, β ∈ (Σ ∪{ε})(N ∪{ε}).”

• Entrada:umagramáticalinearàdireitaG1 =(V1, Σ, P1, S1),cujasproduçõessão daforma α → β,β ∈ Σ∗(N ∪{ε})

• Saída:umagramáticalinearàdireitaG2 =(V2, Σ, P2, S2),talqueL(G2)= L(G1) e cujasproduçõessãotodasdaforma α → β,β ∈ (Σ ∪{ε})(N ∪{ε}).

• Método:

1.N2 ← N1;

2.P2 ← /0 ;

3.Paracada α → β ∈ P1,

Algoritmosemelhantepodeserfacilmentedesenvolvidoparaocasodasgramáticas linearesàesquerdanãounitárias,deformaaobterumagramáticaequivalentecujasregras

Exemplo3.5 Considere-seagramática G1:

AaplicaçãodoAlgoritmo3.1resultanagramática

Atítulodeilustração,considerem-seasderivaçõesdasentença abcdefg,respectivamente,em G1 e G2:

112 Linguagensregulares
β = σ1
ε, β ∈ Σ, β ∈ N,ou β ∈ Σ
P2
α → β
β
2 e β ∈ Σ∗,ouseja,se β ∈ ΣΣΣ∗
N2 ∪{
2
Yn 1
* P2 ← P2 ∪{α → σ1Y1, Y1 → σ2Y2 ,...,Yn 2 → σn 1 Yn 1, Yn 1 → σn} – Se |β| 3 e β ∈ Σ∗N,ouseja,se β ∈ ΣΣΣ∗N,então: * N2 ← N2 ∪{X1, X2,..., Xn 1} * P2 ← P2∪{α → σ1X1, X1 → σ2X2,..., Xn 2 → σn 1Xn 1, Xn 1 → σnK} ◦
...σnK,comK ∈ N ∪{ε} en 0,faça: – Se β =
N,entãoP2 ←
∪{
} – Se |
|
,então: * N2 ←
Y1,Y
,...,
}
α → β, α ∈ N,β ∈ (N ∪{ε})(Σ ∪{ε
sejamdotipo
})
S1 → abcdP P → efP P → Q Q → g
2
S2 → aP1 P1 → bP2 P2 → cP3 P3 → dP P → eP4 P4 → fP P → Q Q → g
G
:
• S1 G1 ⇒ abcdP G1 ⇒ abcdefP G1 ⇒ abcdefQ G1 ⇒ abcdefg • S2 G2 ⇒ aP1 G2 ⇒ abP2 G2 ⇒ abcP3 G2 ⇒ abcdP G2 ⇒ abcdeP4 G2 ⇒ abcdefP G2 ⇒ abcdefQ G2 ⇒ abcdefg

Teorema3.2(GLD ⇔ GLE) “Se G1 éumagramáticalinearàdireitaunitária,entãoexiste umagramáticalinearàesquerdaunitária G2 talque L(G1)= L(G2),evice-versa.”

OAlgoritmo3.2mostracomosepodemapearasregrasdeumaGLD G1 nasregrasde umaGLE G2,detalformaque L(G2)= L(G1).Omesmoalgoritmopodeserusado,nosentido inverso,paramapearasregrasdeumaGLE G2 nasregrasdeumaGLD G1,detalformaque

L(G1)= L(G2)

Algoritmo3.2(GLD ⇒ GLE) “ObtençãodeumaGLEquegeraamesmalinguagemque umaGLD”

• Entrada:umaGLDunitáriaG1 =(V, Σ, P, S);éimportantequeSnãocompareça doladodireitodenenhumaregradoconjuntoP(vejaobservaçãovaseguir).1

• Saída:umaGLEunitáriaG2 =(V, Σ, P′ , S) talqueL(G2)= L(G1).

• Método:oconjuntoderegrasdeG2 (P′)éobtidoapartirdoconjuntoderegrasde G1 (P),conformeomapeamentodaTabela3.1.

GLD GLE Observação

S → µ S → µ i)

S → µA A → µ ii)

A → µ S → Aµ iii)

A → µB B → Aµ iv)

Qualquerquesejaocaso,Séaraizdagramática, µ ∈ Σ∗,A ∈ N −{S} eB ∈ N {S},ondeNéoconjuntodesímbolosnãoterminaise Σ éoconjuntodeterminais.

Observações:

i)SearaizdaGLDgeraumasentença(µ)diretamentepormeiodeuma regra,amesmaregradeveexistirnaGLEcorrespondente.

ii)OsprimeirossímbolosgeradospelaGLD(µ)precisamserosúltimos aseremgeradospelaGLEcorrespondente.

iii)OsúltimossímbolosgeradospelaGLD(µ)precisamserosprimeiros aseremgeradospelaGLEcorrespondente.

iv)Geraçãodossímbolosintermediários.

v)Casocontrário,nãoseriapossívelgerarosdemaissímbolosdasentença(pelocasoii,S → µAdaGLDsetransformarianaregraS → µS damesmaGLDeproduziriaaregraS → µ naGLEcorrespondente).

vi)Conformemostradoaseguir,ossímbolosnãoterminaissãousadosna ordeminversanaGLDenaGLE.

Se,naGLD,assentençassãoconstruídasdaesquerdaparaadireita,naGLEelas serãoconstruídasnosentidooposto,ouseja,dadireitaparaaesquerda.Sómuda,portanto,

Linguagensformais:teoriaeconceitos 113 ⋆
Tabela3.1 MapeamentodeGLDemGLEpara L evice-versa
1Seesseforocaso,pode-secriarumnovosímbolonãoterminal Z,paraserusadocomonovaraizdagramática,e adicionararegra Z → S aela.

osentidoemqueassentençassãogeradas.Vejamoscomosãogeradasassentençasem

G1:

AconstataçãodequeasregrasdaGLD G1 usadasacimasãomapeadasemregrasdeuma GLE G2 (conformeaTabela3.1)mostraque

Emseguida,énecessárioprovarquetodasentençageradapelaGLE G2 (obtidaapartirde umaGLD G1 conformeaTabela3.1)étambémgeradapor G1.Issogaranteque L(G2) ⊆

(G1)

e,portanto,que L(G1)= L(G2).Defato,todaderivaçãonaGLE G2 temoseguinteformato:

114 Linguagensregulares
umaGLD
S ⇒ S→µn A1 µnA1 ⇒ A1→µn 1 A2 µnµn 1A2 ⇒ A2→µn 2 A3 µnµn 1µn 2A3 ⇒ A3→µn 3 A4 µnµn 1µn 2µn 3A4 ⇒ µnµn 1µn 2µn 3 µ4An 3 ⇒ An 3→µ3 An 2 µnµn 1µn 2µn 3 µ4µ3An 2 ⇒ An 2→µ2 An 1 µnµn 1µn 2µn 3 µ4µ3µ2An 1 ⇒ An 1→µ1 µnµn 1µn 2µn 3...µ4µ3µ2µ1
L(G1) ⊆ L(G2): S ⇒ S→An 1µ1 An 1µ1 ⇒ An 1→An 2µ2 An 2µ2µ1 ⇒ An 2→An 3µ3 An 3µ3µ2µ1 ⇒ An 3→An 4µ4 An 4µ4µ3µ2µ1 ⇒ A3µn 3 µ4µ3µ2µ1 ⇒ A3→A2µn 2 A2µn 2µn 3 µ4µ3µ2µ1 ⇒ A2→A1µn 1 A1µn 1µn 2µn 3 µ4µ3µ2µ1 ⇒ A1→µn µnµn 1µn 2µn 3 µ4µ3µ2µ1
L
S ⇒ S→A1µ1

Capítulo4

Linguagenslivresdecontexto

Aslinguagenseasgramáticaslivresdecontextoforaminicialmenteconcebidascomaintençãodepermitiraformalizaçãosintáticadaslinguagens naturais([13],[16]).Logose percebeu,noentanto,queaslinguagensnaturais(inglês,portuguêsetc.)sãosignificativamentemaiscomplexasdoqueaclassedelinguagensrepresentáveisatravésdasgramáticas livresdecontexto,diminuindoemmuito,emconsequência,o interessedosestudiososdas linguagensnaturaispelasgramáticasdessetipo.

Poroutrolado,aslinguagenslivresdecontextodespertaramuminteressemuitogrande nacomunidadecientíficaligadaàáreadecomputação,quevia grandespossibilidadesde aplicaçãodessaclassedelinguagensnaanáliseenaformalizaçãodelinguagensartificiais, emparticularaslinguagensdeprogramação.

Valelembrarque,àépocaemqueissoaconteceu,emmeadosdadécadade1950,a linguagemFORTRANjáhaviasidodefinida,ealgumasimplementaçõesexperimentaisestavamsendoutilizadasnodesenvolvimentodeaplicações.Comoateoriadelinguagensainda principiavaoseudesenvolvimento,nãosurpreendeofatode quealinguagemFORTRAN tenhasidooriginalmenteespecificada—eimplementada—demaneiraquasequetotalmenteempírica,semquehouvesse,comoháhoje,umsólidolastroteóricoeconceitualpara fundamentarseuprojeto.

Poressemotivo,inúmerasdificuldadesforamenfrentadasno iníciodoprojetoFORTRAN,asquaistiveramcomoconsequênciaosseguintes“registrosdeépoca”:

1.Elevada“complexidadeaparente”dosproblemasdeformalizaçãosintáticaede construçãodosaceitadoressintáticosdaslinguagensdeprogramação.

2.Arbitrariedadenaimposiçãoderestriçõesnosprojetosdelinguagensdealtonível, tornandomaisdifícilsuautilizaçãoporpartedosusuários.

Comoconsequênciadaslimitaçõesteóricasverificadasnaépoca,praticamenteinexistiammétodosparaaformalizaçãosintáticadaslinguagensdeprogramaçãoeparaaconstruçãosistemáticadeseusreconhecedores.Oadventodateoria daslinguagenseseuposterior relacionamentocomateoriadosautômatosocorreramjustamentenomomentoemqueanecessidadedemétodosetécnicashaviasetornadobastanteclara,emfunçãodessaprimeira experiência,afimdepossibilitaraevoluçãodasnovasáreas deconhecimentoemergentes dentrodacomputação:adaslinguagensdeprogramaçãoeados compiladores.

Nessesentido,opapeldasgramáticaslivresdecontextofoi extremamenteimportante, umavezque,sedeumladopermitiuodesenvolvimentodenotaçõesbastanteadequadaspara aformalizaçãodasintaxedaslinguagensartificiais,poroutroensejouodesenvolvimentode técnicasmuitoeficientesdeconstruçãodereconhecedoressintáticos,algumasdelasinclusiveatravésdemapeamentosefetuadosdiretamenteapartir dasgramáticasdasrespectivas linguagens.

Assim,asgramáticaslivresdecontextocontribuíramsignificativamenteparadesmitificaracomplexidadedosentãonovosproblemasqueseapresentavam,simplificando-os consideravelmente.UmexemplodissofoiadefiniçãodanotaçãoBNF([17]),logoapósa definiçãodasgramáticaslivresdecontextoporChomsky([9]).AnotaçãoBNF(siglade Backus-NaurForm)eratambémdestinadaàrepresentaçãodegramáticaslivres decontexto efoiconcebidaespecificamenteparausoemlinguagensartificiais,emparticularemlinguagensdeprogramação.Elafoiutilizadapelaprimeiraveznaespecificaçãodalinguagemde programaçãoAlgol60([18],[19]),tendoseuusosedifundidobastanteatéosdiasdehoje.

Atualmente,graçasaograndedesenvolvimentoteóricoverificadonasúltimasdécadas, taisproblemas,longedeteremsetornadotriviais,tiveram bemdeterminadososlimitesde suacomplexidade,e,comoconsequência,adiversificaçãode métodoseresultadosteóricos conhecidospermitequeelespossamsertratadosdeformarotineiraesistemáticanodiaadia doprofissionaldecomputação.

Nestecapítuloserámostradaaimportânciadasgramáticaslivresdecontextonaformalizaçãodaslinguagensdeprogramaçãodealtoníveleserãodefinidososconceitosdeárvores dederivação,ambiguidadeeanálisesintática,entreoutros.Aseguir,serãoapresentadose demonstradosalgunsimportantesresultadosreferentesàsimplificaçãodasgramáticaslivres decontexto,àsuarepresentaçãoemformasnormaiseaanálisedeterminísticadescendente.

4.1Gramáticaslivresdecontexto

Asgramáticaslivresdecontextopodemserutilizadas,entreoutrasaplicações,pararepresentarsubconjuntos(bastantelimitados)delinguagensnaturais.Considereoseguinteexemplo:

<frase> → <sujeito><verbo><complemento>

<sujeito> → Ohomem

<sujeito> → Amulher

<verbo> → leu

<verbo> → escreveu

<complemento> → um <adjetivo> livro

<adjetivo> → ótimo

<adjetivo> → péssimo

<adjetivo> → ε

Comosepodeperceber,ossímbolosnãoterminaisemgramáticaslivresdecontextopodem serutilizadospararepresentarclassessintáticasbemdefinidas,permitindoumelevadograu deintuiçãoedeclarezanainterpretaçãoenaestruturaçãodassentençaspertencentesàlinguagem.

Quandoutilizadaspararepresentarsubconjuntosdelinguagensnaturais,oumesmolinguagens“pseudonaturais”,porexemplo,aslinguagensempregadasemsistemasdeconsulta abancosdedadoseemdiversosoutrostiposdeinterfaceshomem-máquina,especialmente nosaplicativosvoltadosparausuáriosleigosemcomputação,asgramáticaslivresdecontexto desempenhamumpapelmuitoimportanteparaosprojetistasdetaissistemas,poispermitem aformalizaçãodalinguagemdeinterface,facilitandoaconstruçãodeseurespectivoreconhecedor.

266 Linguagenslivresdecontexto

Noentanto,amaioraplicaçãodasgramáticaslivresdecontextoocorrenaformalização sintáticadaslinguagensdeprogramaçãodealtonível.Rigorosamente,nãosepodedizerque taislinguagenssejampropriamentelivresdecontexto.Naverdade,aformalizaçãocompleta desuasintaxeexigiriadispositivosmaiscomplexos,comoé ocasodasgramáticasdotipo1, umavezqueagrandemaioriadetaislinguagensapresentadependênciasdecontextoquenão podemserrepresentadasporgramáticasdotipo2,oulivresdecontexto.

Nãoobstante,asimplicidadedasgramáticaslivresdecontextoastornamuitoatraentes paraarepresentaçãoformal,aindaqueparcial,dasintaxedetaislinguagens.Asgramáticas livresdecontextoconstituem,pois,umasoluçãodecompromissoemqueorigordadefinição sintáticaéligeiramentesacrificadoemfavordousodeumanotaçãomuitomaisintuitivae fácildesermanipuladadoqueasgramáticasdotipo1.Dessemodo,asdependênciasde contextocostumamserrepresentadasàparte,emalgumaoutranotação—eventualmenteem linguagemnatural—quesirvadecomplementaçãoàgramática dotipo2paraarepresentaçãodasdependênciasdecontexto.Asgramáticasformaisdotipo1,devidoàsuaelevada complexidadedemanipulação,nãocostumamserutilizadasnapráticapararepresentardependênciasdecontextoemlinguagensdeprogramação,nemmesmodeformaparcial.

Acaracterísticaquetornaasgramáticaslivresdecontexto especialmenteadequadasà formalizaçãosintáticadaslinguagensdeprogramaçãoéasuacapacidadederepresentaçãode construçõesaninhadas,quesãofrequentementeencontradasemlinguagensdessacategoria. Construçõesaninhadascostumamocorreremlinguagensdeprogramação,porexemplo,na construçãodeexpressõesaritméticas,emquesubexpressõessãodelimitadas,atravésdouso deparênteses;naestruturaçãodofluxodecontrole,emquecomandosinternossãoinseridoscomoparteintegrantedeoutrosexternos;naestruturaçãodoprograma,emqueblocos, módulos,procedimentosefunçõessãoempregadosparacriar diferentesescoposetc.

O balanceamentodetermos éumaconsequênciadaexistênciadeconstruçõesaninhadas.Todaconstruçãoaninhada,sejaporrecursãodireta ourecursãoindireta,provoca algumtipodebalanceamentodetermos,emqueostermosemquestãosãoosímbolos(ou termos)quedelimitamaconstruçãoaninhada.Umexemplotípicodissosãoosparênteses quedelimitamnovasocorrênciasdeexpressõesdentrodeoutrasexpressões.

ConformedefinidonoCapítulo2,uma gramáticalivredecontexto éumaquádrupla (V , Σ, P, S) comosseguintescomponentes:

• V :conjunto(finitoenãovazio)dossímbolosterminaisenãoterminais;corresponde ao vocabulário dagramática;

• Σ:conjunto(finitoenãovazio)dossímbolosterminais;correspondeao alfabeto da linguagemdefinidapelagramática;

• P:conjunto(finitoenãovazio)das regras (ou produções),todasnoformato α → β, com α ∈ (V Σ) e β ∈ V ∗;

• S: raiz (ou símboloinicial)dagramática, S ∈ (V Σ).

Exemplo4.1 Alinguagem L = {akbk | k 0} doExemplo3.4énãoregular,conformeprovadono Exemplo3.65.Poroutrolado,trata-sedeumalinguagemlivredecontexto,umavezqueelaégerada pelagramáticalivredecontextoapresentadanopróprioExemplo3.4.Defato,épossívelprovarque alinguagemgeradaporaquelagramáticacoincidecom L.Aprovaéfeitaporinduçãoem i usandoa

propriedade P(i): ∀i ≥ 1, P(i)=(S ⇒i w) ⇔ (w = ai 1bi 1)

Aprovadacondiçãonecessária PN (i)=(S ⇒i w) ⇒ (w = ai 1bi 1) éapresentadaaseguir.

•Basedaindução:

– i = 1.

Linguagensformais:teoriaeconceitos 267

Linguagenslivresdecontexto

– PN (1)=(S ⇒ ε) pelaaplicaçãodiretadaregra S → ε

– w = a0b0 = ε

•Hipóteseindutiva:

– PN (i)=(S ⇒i w) ⇒ (w = ai 1bi 1) éválidapara i ≥ 1.

•Passodeindução:

– PN (i) implica PN (i + 1)

– Prova:

* S ⇒i+1 aSb ⇒i w.

* Pelahipóteseindutiva, S ⇒i ai 1bi 1 .

* Logo, S ⇒i+1 aSb ⇒i aai 1bi 1b,ouseja, S ⇒i+1 aibi Aprovadacondiçãosuficiente PS(i)=(w = ai 1bi 1) ⇒ (S ⇒i w) éapresentadaaseguir.

•Basedaindução:

– i = 1.

– w = a0b0 = ε.

– PS(1)=(S ⇒ ε) pelaaplicaçãodiretadaregra S → ε.

•Hipóteseindutiva:

– PS(i)=(w = ai 1bi 1) ⇒ (S ⇒i w) éválidapara i ≥ 1.

•Passodeindução:

– PS(i) implica PS(i + 1).

– Prova:

* Pelahipóteseindutiva, (w = ai 1bi 1) ⇒ (S ⇒i w)

* aibi = aa i 1bi 1 w

b

* Épossívelfazer S ⇒ aSb pelousodaregra S → aSb.

* Portanto, S ⇒ aSb ⇒i aai 1bi 1 w

b.

* Logo, S ⇒ aSb ⇒i aibi,ouseja, S ⇒i+1 aibi

Destamaneira,ficaclaroque L eagramáticadoExemplo3.4sãoexatamenteamesmalinguagem ⋆

Exemplo4.2 Seja P oconjuntoderegrasaseguireconsiderem-se Σ, V e S subentendidos.

Considere-seasentença a + a.Elapodeserobtidaatravésdaseguintesequênciadederivações:

268
{E → T + E, (4.1) E → T, (4.2) T → F ∗ T, (4.3) T → F, (4.4) F → (E), (4.5) F → a} (4.6)
E ⇒ T + E ⇒ F + E ⇒ a + E ⇒ a + T ⇒ a + F ⇒ a + a correspondenteàaplicaçãodasproduções4 1, 4 4, 4 6, 4 2, 4 4, 4 6,nestaordem.Considere-seagoraa sentença a ∗ (a + a).Elapodeserobtidaatravésdaseguintesequênciadederivações:

Notequeaderivaçãodaprimeiraexpressão(

a + a)comparecenaderivaçãodasegundaexpressão (E ⇒∗ a ∗ (a + a)),porémentreparênteses.Issocaracterizaumaninhamento combalanceamentode termos.

Observe-sequealinguagemgeradapelagramáticadesseexemplocompreendeassentençasque representamexpressõesaritméticascorretamenteformadassobreooperando a comosoperadores“∗” e“+”.Subexpressõesdelimitadasatravésdeparêntesestambém sãoadmitidas,epodemsercompostas combasenasmesmasregrasutilizadasparaconstruiraexpressãoinicial.Nãofazempartedalinguagem definidaporessagramática,porexemplo,cadeiasemquenãohajaplenacorrespondênciadosímbolo “(”comseupar“)”.Porexemplo,nãofazempartedessalinguagemcadeiasnasquaisaquantidade de“(”édiferentedaquantidadede“)”,ouqueiniciamcom“)”.Emoutraspalavras,trata-sedeuma linguagemqueadmiteoaninhamentodeexpressõesatravésdo usodeparêntesescomodelimitadores, equecontémapenasexpressõesválidasdopontodevistadousodosparênteses.

O aninhamento deconstruções(ou balanceamento determos)éacaracterísticaque distingueaslinguagensestritamentedotipo2daslinguagensdotipo3:pertencemaumalinguagemestritamentedotipo2apenasetãosomenteassentençasemque,paracadaocorrênciadeumdadodelimitador(porexemplo,um“abre-parênteses”),hajaemcorrespondênciaa ocorrênciadeumoutro,atravésdoqualseformaopar(porexemplo,um“fecha-parênteses”). Alémdisso,asubcadeiasituadaentreessepardedelimitadorespodesergeradaatravésdas mesmasregrasdeformaçãoválidasparaasentençacompleta, caracterizandodessamaneira oaninhamentodesuasconstruções.

Exemplo4.3 NoExemplo4.2,oconjuntoderegras:

→ (E)

mostraqueexisteumarecursãoindiretacomonãoterminal E queprovocaoaninhamentodeexpressões: E ⇒∗ (E).Ouseja,agramáticapermitequeumaexpressãosejausadadentrodeoutraexpressão. Nestecaso,oaninhamentodeexpressõescausaobalanceamentodosparênteses:cada“(”dolado esquerdo(antesdeumaexpressão)ésempreacompanhadoporum“)”doladodireito(depoisdaexpressão).

Note-seque,atravésderegrasdeproduçãolivresdecontexto,épossívelespecificar construçõesmaisrestritasdoqueasobteníveismedianteousodeproduçõesdegramáticaslineares.Assim,comregraslivresdecontextoépossívelcaracterizaraninhamentossintáticos, osquaisnãopodemserdescritosapenascomproduçõeslinearesàdireitaouàesquerda(ou qualquercombinaçãodelas).Emoutraspalavras,asgramáticaslivresdecontextopermitem imporrestriçõesadicionaisàquelasquesepodemconstruir emgramáticasregulares,podendo assimcaracterizarsubconjuntosdaslinguagensregulares quegozemdapropriedadedeterminadapelosaninhamentossintáticos.Dessaforma,asgramáticaslivresdecontextotornam-se muitoúteisparaaespecificaçãodelinguagensdeprogramação,amaioriadasquaisexibe aninhamentossintáticos.

Arepresentaçãodeaninhamentosemgramáticasdotipo2decorredeumapropriedade característicadasgramáticasdestetipo,denominada self-embeddingproperty.Umnãoterminal Y édito self-embedded,ou autorrecursivocentral,se,apartirdele,forpossívelderivar

Linguagensformais:teoriaeconceitos 269 E ⇒ T ⇒ F ∗ T ⇒ a ∗ T ⇒ a ∗ F ⇒ a ∗ (E) ⇒ a ∗ (T + E) ⇒ a ∗ (F + E) ⇒ a ∗ (a + E) ⇒ a ∗ (a + T ) ⇒ a ∗ (a + F ) ⇒ a ∗ (a + a) correspondenteàaplicaçãodasproduções4.2, 4.3, 4.6, 4.4, 4.5, 4.1, 4.4, 4.6, 4.2, 4.4, 4.6,nestaordem.
E
⇒∗
E
T
F
→ T
→ F

algumaformasentencialemqueonãoterminal Y ressurja,delimitadoporcadeiasnãovazias determinaisàsuaesquerdaeàsuadireita:

Y ⇒∗ αY β, com α,β ∈ Σ+

UmnãoterminalZéditosimplesmente autorrecursivo se,apartirdele,forpossível derivaralgumaformasentencialemque Z ressurja,acompanhadodepelomenosumacadeia nãovaziadeterminaisàsuaesquerdaouàsuadireita:

Z ⇒ αZβ, com α,β ∈ Σ∗ ,αβ = ε

Naturalmente,todonãoterminalautorrecursivocentralétambémumnãoterminalautorrecursivo,masocontrárionãoénecessariamenteverdadeiro.Seumagramáticalivrede contexto G possuipelomenosumnãoterminalautorrecursivocentral,diz-seque G é autoembutida (doinglês self-embedded).

Umsímbolonãoterminal essencial éaquelequenãopodeserremovidodagramática(ousubstituído)sobpenadeprovocarmodificaçõesnalinguagemsendodefinida.Caso contrário,eleédito nãoessencial

Umalinguagem L édita estritamentelivredecontexto,oulivredecontextonãoregular,seelaforlivredecontextoenãoforregular.Existem váriasmaneirasdecaracterizar linguagensestritamentelivresdecontexto.Umadelasépor meiodaapresentaçãodeuma gramáticalivredecontextoquegera L e,aomesmotempo,deumaprova(porexemplopor meiodaaplicaçãodo“PumpingLemma”paraaslinguagensregulares)deque L nãoéregular.

Umamaneiraalternativasedáquandotodasasgramáticasque geram L sãoautoembutidas,ouseja,quandotodaselaspossuempelomenosumnão terminal autorrecursivo central.Issoéomesmoqueafirmarque L égeradaapenasporgramáticasquepossuem, necessariamente,pelomenosumsímbolonãoterminalautorrecursivocentralessencial.Ou seja,setodasasgramáticasquegeram L sãoautoembutidas,entãoqualquergramáticaque gera L possuiumsímbolonãoterminalautorrecursivocentralessencial.Emoutraspalavras, L éumalinguagemcomcaracterísticadeaninhamentoqueadistinguedeumalinguagem regular(eé,portanto,estritamentelivredecontexto)eque,porisso,precisaserrepresentada pormeiodeumsímbolonãoterminalautorrecursivocentralessencial.

Provarqueumalinguageméestritamentelivredecontextodestasegundamaneiranão é,noentanto,trivial,eaprimeiramaneiraaindaéamaisusada.Asegundamaneiraserve, principalmente,paranosajudaraentendercomoofatodealinguagemserlivredecontexto enãoregularsemanifestanasgramáticasqueageram(especificamente,pelapresençadeum símbolonãoterminalautorrecursivocentralessencialemtodaselas).

Poroutrolado,osimplesfatodeumagramáticaserautoembutidanãogaranteanão regularidadedalinguagemdefinidaporestagramática:épossívelidentificarlinguagensregularesgeradasporgramáticascomnãoterminaisautorrecursivoscentraisque,nessescasos, nãosãoessenciais.OExemplo4.4ilustraessasituação.

Exemplo4.4 Agramáticacujasregrasconstituemoconjuntoabaixoédotipo2epossuiumnão terminalautorrecursivocentral(S,emdecorrênciadaprodução S → aSa),podendo,portanto,sercaracterizadacomoumagramáticaautoembutida:

270 Linguagenslivresdecontexto
{S → aS, S → bS, S → a, S → b,

Capítulo5

Linguagenssensíveisaocontexto

Linguagenssensíveisaocontextosãoaquelascujassentençasexibemcaracterísticasdedependência—ouvinculação—entretrechosdistintosdelas.Ouseja,determinadaspartesde umasentençasóserãoconsideradasválidasseocorreremsimultaneamenteatrechosrelacionados,presentesemoutrasregiõesdamesmasentença.Daíaorigemdonome“sensibilidade aocontexto”.

Deve-se,noentanto,entendercorretamenteosignificadodo termo“sensibilidadeao contexto”,tambémconhecidocomo“dependênciadecontexto”,poisnãoéqualquertipode vinculaçãoquecaracterizaessapropriedadedaslinguagens.

Emparticular,nãoseestáinteressadoemquaisquerdasdependênciasquepossamser representadasporgramáticaslivresdecontexto,comosequênciassimplesdesímbolosou mesmoobalanceamentodesímbolos,típicodaslinguagenslivresdecontexto.

Exemplo5.1 Sejaalinguagemdassentençasquerepresentamexpressõesaritméticascomatéquatro operaçõessobreoalfabeto {a, b},geradapelagramática:

Umexemplodesentençapertencenteaessalinguagemé a (b +(a/b) ∗ a).Éclaroque,nestecaso, épossívelverificaralgumasdependênciasdecontexto,nosentidoliteraldapalavra.Porexemplo,as ocorrênciasdosparênteses.Nãoseriapossívelfecharosegundoparênteseseoprimeironãotivesse sidoaberto.Outroexemploéque,decadaladodosímbolodedivisão,deveexistirumaletra“a”ou “b”,representandocadaumdosoperandosdessaoperação.

Taistiposde“dependênciadecontexto”podemserfacilmenterepresentadosporgramáticaslivresdecontextoe,porisso,nãoserãoconsideradoscomotalnesteestudo.

Aqui,poroutrolado,ointeresseémaioremoutrostiposdedependênciascontextuais,quenãopossamserrepresentadasatravésdasgramáticaslivresdecontexto.Taisdependênciascaracterizamlinguagensmaiscomplexasqueaslinguagenslivresdecontexto,e constituemoobjetodestecapítulo.

Épreciso,portanto,analisaressetipodedependências,referidasnestaintrodução.Um bomexemploparaoseuentendimentosãoasdependênciasdecontextoquesãoencontradas naslinguagensdeprogramaçãodealtonívelmaiscomuns.

E → E “ + ” E | E “ ∗ ” E | E “ ” E | E “/” E | “(”E“)” | “ a ” | “b”

Taislinguagenscostumamoferecerdeclaraçõesdiversas,porexemplo,declaraçõesde tipos,deconstantes,devariáveis,deprocedimentos,defunçõesetc.Taisdeclaraçõescumpremopropósitoduplodeacrescentarnovosnomesaoespaçodenomescriadopeloprogramador,edeassociar-lhesatributos(porexemplo,nocasodasvariáveis,seustipos;nocaso dasfunções,aquantidadeeotipodeseusparâmetros,bemcomootipodovalorretornado).

Umavezdeclarados,osnovosnomespodemserempregadosnocorpodoprograma. Normalmente,taislinguagensexigemqueapenasnomesdeclaradospossamserreferenciados emcomandoseexpressões;alémdisso,queautilizaçãodeles sejafeitadeformacoerente comosatributosquelhesforamassociados.

Éocaso,porexemplo,deseutilizar,noladoesquerdodeumcomandodeatribuição, apenasvariáveisdeclaradasevisíveisnolocaldareferência.Éocasotambémdeseutilizar, naexpressãodoladodireitodeumcomandodeatribuição,apenasosnomeseliteraiscujos atributossejamcompatíveiscomasoperaçõesqueestejamsendoempregadas.

Dessaforma,acorreçãosintáticadeumasentença,nocasoum programaescritoem umalinguagemdealtonível,sósecompletaseascondiçõesanterioresforemverificadas. Estácriada,portanto,umadependênciadecontextoentreos atributosdosnomesconstantes nasrespectivasdeclaraçõeseaformacomoelessãomanipuladosaolongodoprograma.

Exemplo5.2 Considere-se,porexemplo,oseguintetrechodeprogramaescritonalinguagemC:

voidmain(){intx;scanf(“%d”,&x);printf(“%d”,x);}

Existeumaclaravinculaçãoentreadeclaraçãodavariável“x”eareferênciaaelanoscomandos deleituraeimpressão.Seelanãotivessesidodeclarada,ou seosseusatributosnãofossemcompatíveis comamaneiracomoelaéutilizadanessescomandos,nãoseria possívelconsiderartalsentençacomo válidadopontodevistasintático. ⋆

Dependênciasdecontextosão,portanto,umacaracterísticafundamentaldaslinguagens deprogramaçãoemgeral.Dopontodevistamaisteórico,aslinguagensformaiscomtais característicasconstituemumaclassedelinguagenssobre aqualrecaeminteressesequestões similaresàsestudadasnoscapítulosanteriores,entreasquaismaneirasdeformalizá-lasdo pontodevistagramatical,modelosdereconhecimento,propriedadesmaisimportanteseseu relacionamentocomasdemaisclassesdelinguagens.

5.1Gramáticassensíveisaocontexto

Cabe,nesteponto,justificaraincapacidadedasgramáticas livresdecontextopararepresentarlinguagenssensíveisaocontexto.Rigorosamente,o“PumpingLemma”paralinguagens livresdecontexto,apresentadonoCapítulo4(Teorema4.21),cumpreopapeldedemonstrar aexistênciadelinguagensquenãosejamlivresdecontexto, ouseja,delinguagensquenão podemserrepresentadasatravésdegramáticaslivresdecontexto.Umaanáliseumpouco maisdetalhadadanaturezadasgramáticaslivresdecontextorevelaaorigemdassuaslimitaçõeseservecomoelementomotivadorparaaconceituaçãodeumanovaclassedegramáticas —adasgramáticassensíveisaocontexto.

Aorestringiroladoesquerdodasregrasgramaticaisaumúnicosímbolonãoterminal,asgramáticaslivresdecontextoestabelecemquetodasasderivaçõessejamfeitas considerando-seapenasonãoterminalselecionadoparaasubstituição,nãoimportandoos símbolos(terminaisenãoterminais)queorodeiamàesquerdaeàdireita—ouseja,oseu contexto.Daíaorigemdotermo“livredecontexto”,poisaestruturasintáticadostrechosjá

432 Linguagenssensíveisaocontexto

desenvolvidosdacadeianuncaélevadaemconsideraçãoquandodasubstituiçãodeumnão terminalpeloladodireitodaregraescolhida.

Issotornaimpossívelrepresentarcasoscomoodadeclaraçãodevariáveis,umavez queasubstituiçãodossímbolosnãoterminaisquerepresentam,porexemplo,adeclaraçãode variáveleocomandodeatribuiçãonãopodeservinculadaduranteoprocessodederivaçãoda cadeia,paraevitar,porexemplo,ageraçãodesentençasque contenhamreferênciasanomes inválidosoudetiposincompatíveiscomaoperaçãoaplicada.

Parasuperartallimitação,empregam-seasgramáticassensíveisaocontexto.Formalmente,uma gramáticasensívelaocontexto G =(V, Σ, P, S) éaquelacujasregrasdoconjunto P obedecemaoformato α → β,onde:

Gramáticassensíveisaocontextoeliminamarestriçãodequeoladoesquerdodasregrassejaformadoporumúnicosímbolo,edequeestesejaumsímbolonãoterminal.Tais gramáticasadmitemqualquerquantidadedesímbolosdolado esquerdo,sejamelesterminaisounãoterminais.Exigemapenasquedoladoesquerdoexistapelomenosumsímbolo nãoterminale,também,queoladodireitopossuaumaquantidadedesímbolosnãoinferior àquelaencontradanoladoesquerdodamesmaregra.

Define-seinicialmente linguagemsensívelaocontexto comosendoaquelaquepossa serdefinidaatravésdeumagramáticasensívelaocontexto.Conformeconvencionadona Seção2.7,essadefiniçãoéestendidaparaqualquerlinguagem L quecontenhaacadeiavazia, desdeque L −{ε} possasergeradaporumagramáticasensívelaocontexto.

Define-se linguagemestritamentesensívelaocontexto comosendoumalinguagem sensívelaocontextomasnãolivredecontexto.

Exemplo5.3

B,C}, {a, b, c}, P, S),com

P = {S → aSBC, S → abC, CB → BC, bB → bb, bC → bc, cC → cc}

Todasasregrasdessagramáticasatisfazemàcondiçãodepossuirpelomenosumnãoterminaldolado esquerdoeumasequênciaarbitráriadesímbolosdoladodireito,porémdecomprimentonuncainferior aocomprimentoverificadonoladoesquerdodamesmaregra.

Algumasderivaçõespossíveissão:

• S ⇒ abC ⇒ abc;

• S ⇒ aSBC ⇒ aabCBC ⇒ aabBCC ⇒ aabbCC ⇒ aabbcC ⇒ aabbcc;

• S ⇒ aSBC ⇒ aaSBCBC ⇒ aaabCBCBC ⇒ aaabBCCBC ⇒ aaabBCBCC ⇒ aaabBBCCC ⇒ aaabbBCCC ⇒ aaabbbCCC ⇒ aaabbbcCC ⇒ aaabbbccC ⇒ aaabbbccc

Éfácildemonstrarque L(G1)= {anbncn | n 1} (vejaExemplo2.34).Étambémpossível demonstrar,pelaaplicaçãodo“PumpingLemma”paralinguagenslivresdecontexto,que L(G1) não éumalinguagemlivredecontexto(vejaExemplo4.82).Logo, nãoexistequalquergramáticalivre

Linguagensformais:teoriaeconceitos 433
• α ∈ V ∗NV ∗ • β ∈ V ∗ • |β| |α|
a
b
c
S
Sejanovamenteagramática G1 =({
,
,
,
,

434 Linguagenssensíveisaocontexto

decontextoquesejacapazdegerar L(G1),e,portanto, L éumalinguagemestritamentesensívelao contexto.

Umarápidaanálisedasproduçõesde G1 possibilitaacompreensãodalógicaqueexisteem suaconcepção:asduasregrasiniciaisgeramformassentenciaisnasquaisumacertaquantidadede símbolos“a”éseguidaporpares“bC”(inicial)ou“BC”(seguintes),detalformaqueasquantidadesde

“ a”,“B”(ou“b”)e“C”sejamidênticas—comoem aaabCBCBC.Aregra CB → BC permitequeos

“B”seos“C”ssejamagrupados—gerando,nesteexemplo, aaabBBCCC.Asdemaisregrasefetuam assubstituiçõesdosnãoterminaispelosterminaiscorrespondentes,comocuidadodeevitarquetais substituiçõespossamserutilizadasparagerarsentençasdistintasdasqueestãorelacionadasacima. ⋆

Asgramáticassensíveisaocontextosãoditas monotônicas,poisocomprimentodas formassentenciaisobtidasduranteoprocessodederivação deumasentençanuncasofre redução.EssacaracterísticaseráexploradanaSeção5.5,parafinsdeassociaçãodessaclasse delinguagenscomoseurespectivomodelodereconhecimento maissimples.

Exemplo5.4 Considere-seagramática G2 =({a, b, c, S, A, B,C}, {a, b, c}, P, S),com

P = {S → ABC,

S → ABCS,

AB → BA, AC → CA, BA → AB, BC → CB, CA → AC, CB → BC, A → a, B → b, C → c}

Analise-seagoraaderivaçãodealgumassentenças:

• S ⇒ ABC ⇒ aBC ⇒ abC ⇒ abc;

• S ⇒ ABC ⇒ ACB ⇒ CAB ⇒ CBA ⇒ cBA ⇒ cbA ⇒ cba;

• S ⇒ ABCS ⇒ ABCABC ⇒ BACABC ⇒ BACBAC ⇒ BACBCA ⇒ bACBCA ⇒ baCBCA ⇒ bacBCA ⇒ bacbCA ⇒ bacbcA ⇒ bacbca.

Asduasregrasiniciaisinseremquantidadesidênticasdesímbolos A, B e C naformasentencial. Asregrasseguintessãoutilizadaspara“embaralhar”esses símbolosdemaneiraarbitrária.Astrês últimassubstituemcadasímbolonãoterminalpelorespectivosímboloterminal.

Alinguagemgeradapor G2 consisteemtodasassentençassobre {a, b, c} —comcomprimento mínimo3—,detalformaqueasquantidadesdessessímbolossejamsempreidênticas.Formalmente:

ComonoExemplo5.3,pode-sedemonstrarqueessalinguagemé estritamentesensívelaocontexto.Paraissoésuficienteprovar,atravésdo“PumpingLemma”,queelanãoélivredecontexto.

Gramáticasdessetipogeramlinguagensdenominadassensíveisaocontexto,ousimplesmentedotipo1.Ainspeçãorigorosadosformatosadmitidosparaasproduçõesdas gramáticasdotipo1nãopermiteacaracterizaçãoimediatadetodaequalquergramática(e,

L(G2)= {w ∈ Σ∗ | asquantidadesde“a ” , “b”e“c”em w sãoidênticas,e |w| 3}

consequentemente,dascorrespondenteslinguagens)dotipo2comosendotambémdotipo 1.Issodecorredofatodequeasgramáticasdotipo2admitema cadeiavazia ε comoalternativadesubstituiçãoparaoladoesquerdodequalquerprodução,oquenãoépermitidoem gramáticasdotipo1emfunçãodarestrição |α| |β| Rigorosamente,umalinguagemédita sensívelaocontexto seesomentese:

• ε / ∈ L e L = L(G),onde G éumagramáticasensívelaocontexto,ou

• ε ∈ L e L −{ε} podesergeradaporumagramáticasensívelaocontexto.

Nesteúltimocaso,aceita-sequearegra S → ε sejaincluídanagramática,porémdesde que S (araizdagramática)nãocompareçadoladodireitodenenhumaoutraregra.Dessa formaevita-seageraçãodeformassentenciaisquepossamsofrercontraçãoduranteoprocessodederivação.Aúnicapossibilidadedeissoocorrercorrespondeàderivaçãoinicial, quandoosímboloasersubstituídoéaprópriaraizdagramática.

Cumpre,nesteponto,estabelecerumaimportanterelaçãoentrelinguagenslivresde contextoelinguagenssensíveisaocontexto.Suponha-se,inicialmente,que L = L(G),onde G éumagramáticalivredecontexto,e,adicionalmente,que ε / ∈ L.Éfácilperceber,neste caso,que G satisfazatodasasespecificaçõesdeumagramáticasensível aocontexto,poisnão haveránenhumaregracom ε àdireita.Logo, L(G) serátambémumalinguagemsensívelao contexto.Ouseja:linguagenslivresdecontextoquenãocontêmacadeiavaziasãotambém linguagenssensíveisaocontexto.

Caso ε ∈ L(G),e G sejaumagramáticalivredecontexto,seránecessárioaplicartransformaçõesem G obtendo-se G′,demodoque:

• S → ε sejaaúnicaregravaziaem G′;

• S nãocompareçanoladodireitodenenhumaoutraregrade G′;

• L(G)= L(G′).

ComofoidemonstradonoTeorema4.7,taltransformaçãoésemprepossível.Todae qualquergramáticalivredecontextopodesertransformada,semprejuízodalinguagemque estiversendodefinida,emumaoutragramáticaemqueacadeia vaziacompareceapenasna produção S → ε,sendo S araizdagramática.Alémdisso, S garantidamentenãofigurano ladodireitodenenhumaoutraprodução.Issosignificaqueoúnicoefeitopráticodapresença deproduçõesdotipo A → ε, A ∈ N,emgramáticaslivresdecontextoquaisquer,énaeventual incorporaçãodacadeiavaziacomosentençanalinguagemdefinida.

Portanto,comexceçãodaprodução S → ε,asgramáticasdotipo2podemsersempre convertidasparaumformatoqueastorneumcasoparticulardasgramáticasdotipo1.Em outraspalavras,tem-sequequalquergramáticadotipo2,desdequedevidamenteconvertidaparaesseformatopadronizado,eamenosdaprodução S → ε,torna-setambémuma gramáticadotipo1.

Assim,éfatoque G′,excetopelaregravazia,éumagramáticasensívelaocontextoe, consequentemente, L(G′) −{ε} éumalinguagemsensívelaocontexto.Logo, L(G)= L(G′) é,deacordocomadefinição,umalinguagemsensívelaocontexto.

Comoconsequência,pode-seconcluirquetodalinguagemlivredecontextoétambém umalinguagemsensívelaocontexto.Ficaclaro,também,que aslinguagenslivresdecontextoconstituemumsubconjuntoprópriodaslinguagenssensíveisaocontexto.

Parafinalizar,algumasobservaçõesdeordemprática.Émuitocomum,quandoseespecificamlinguagensdeprogramação,fazerusodegramáticaslivresdecontexto.Talartifício mascara,noentanto,aexistênciadasdependênciasdecontexto,asquaisacabamsendoex-

Linguagensformais:teoriaeconceitos 435

cluídasdaformalizaçãogramatical.Essaestratégiapossuipelomenosumaimportanterazão desereumaimportanteconsequência:

•Arazãodeserconsistenofatodequeformalismosdistintos,adequadosparaarepresentaçãodelinguagenssensíveisaocontexto(porexemplo, asgramáticassensíveis aocontexto),sãorelativamentecomplexosedifíceisdeseremtrabalhadosquando setratadeespecificarasdependênciasdecontextotípicasdaslinguagensdeprogramação.Opta-se,assim,porumaquestãodepraticidade,pelo usodeformalismos maissimples,emparticularoslivresdecontexto.

•Aconsequênciadessapráticaéquealinguagemresultanteseráumsuperconjunto dalinguagempretendida.Alémdassentençasqueobservamestritamenteasregrasdedependênciasdecontextodalinguagem,outrascadeias,indesejadas,que nãoobservamtaisdependências,acabamsendoincorporadas àlinguagemdefinida. Edissoresultaanecessidadedeseacrescentaremfiltrosparaeliminá-lasdalinguagem,preservando-seapenasascadeiasefetivamenteaderentesàespecificação original.

Trata-se,portanto,deumaestratégiaoriginadaapartirde umanecessidadedesimplificarasoluçãodoproblema,masqueresulta,emmomentoposterior,nanecessidadede incorporaçãodefiltrosquedescartemascadeiasinválidas.

Exemplo5.5 Considere-seagramáticadefinidapeloconjuntodeproduçõesaseguir,representativa deumalinguagemdeprogramaçãoquepossibilitadeclaraçõesdevariáveisseguidasdecomandosde atribuiçãoeexpressões.

{Programa → DeclaracoesComandos, Declaracoes → DeclaracoesDeclaracao

ε, Declaracao → “%”Identificador, Comandos → ComandosComando

ε, Comando → “#”Identificador“ = ”Expressao, Expressao → Expressao“ + ”Expressao

Expressao“ ∗ ”Expressao

Talsentençapodeserentendidacomoumprogramacontendoadeclaraçãodeduasvariáveis(“a”e“b”, nasduaslinhasiniciais)eousodeambasemdoiscomandosdeatribuição(nasduaslinhasfinais).

436 Linguagenssensíveisaocontexto
|
|
|
| Identificador, Identificador → “ a ” | “b” | “ c ”}
%a %b #a = a + b #b = b ∗ b
Umexemplodesentençapertencenteaessalinguagemé:

Capítulo6

Linguagensrecursivas

Linguagensrecursivassãoaquelasquesãoaceitasporumtipomuitogeraldereconhecedor:a MáquinadeTuringsemlimitaçãodememória,tambémconhecidacomoMáquinadeTuring comfitainfinitaou,simplesmente,MáquinadeTuring.

Comoopróprionomesugere,asMáquinasdeTuringcomfitainfinitadiferemdas apresentadasnocapítuloanterior—asMáquinasdeTuringcomfitalimitada—justamente pelofatodenãoapresentaremrestriçõesquantoaocomprimentodafitadetrabalho.Noque serefereaosdemaisaspectos,elassãodefinidasdeformamuitosimilar.

Apesardesetratardeumadiferençaaparentementepoucosignificativa,ofatodeafita detrabalhocomportarinfinitasposiçõespossibilita,conformeestádemonstradonoTeorema 6.4,oreconhecimentodeumacategoriadelinguagensmaisabrangentedoqueaslinguagens sensíveisaocontexto.Estas,porsuavez,conformeveremos maisadiante,constituemum subconjuntoprópriodaslinguagensrecursivas.

Diferentementedaslinguagenssensíveisaocontexto,noentanto,nãohácaracterização conhecidaparaaslinguagensrecursivasemtermosgramaticais.Ouseja,nãoépossível caracterizaressaclassedelinguagensapartirdaformulaçãoderestriçõesaoformatodas produçõesgramaticaisgerais—procedimentoadotadoparadefinirasclassesdaslinguagens regulares,daslivresdecontextoetambémdassensíveisaocontexto.

Damesmaforma,nãosãoconhecidaseventuaispropriedadesestruturaisquepossamser consideradasparaefeitodecaracterizaçãodeumalinguagemcomosendorecursiva.Se,por outrolado,aslinguagensregulares,aslivresdecontextoe assensíveisaocontextopodemser facilmenteidentificadasapartirdetaispropriedades—concatenação,uniãoefechamentode termosnocasodasregulares,balanceamentodetermosnaslivresdecontextoevinculaçãode termosnassensíveisaocontexto—,aslinguagensrecursivasnãoexibemcaracterísticasde naturezaequivalente,quepoderiamservirparaidentificar umadeterminadalinguagemcomo sendoestritamentedessaclasse.

Aúnicacaracterizaçãoqueresta,portanto,ébaseadanomodelodereconhecimento.O restantedestecapítuloserádedicadoàformalizaçãoeàdiscussãodasMáquinasdeTuring esuaspropriedades.Nasequência,aslinguagensrecursivasserãodefinidascomosendo umaclasseparticulardelinguagensaceitaporessetipodedispositivo(poisaslinguagens recursivasnãosãoaúnicaclassedelinguagensporeleaceita).Finalmente,serádemonstrado quetodalinguagemsensívelaocontextoétambémrecursivae,alémdisso,queexistepelo menosumalinguagemrecursivaquenãoésensívelaocontexto.Emresumo,demonstrarse-áqueaclassedaslinguagenssensíveisaocontextoconstituiumsubconjuntopróprioda classedaslinguagensrecursivas.Linguagensquesãorecursivasporémnãosãosensíveisao contextosãodenominadaslinguagens estritamenterecursivas.

6.1MáquinasdeTuring

MáquinasdeTuring (comfitailimitadaouinfinita)sãodispositivosdereconhecimentode cadeiasquepossuemasseguintesdiferençasemrelaçãoàsMáquinasdeTuringcomfita limitada,discutidasnoCapítulo5:

1.Afitadetrabalhopossuicomprimentoinfinito,sendolimitadaàesquerdaesem limitaçãoàdireita.1

2.Acadeiadeentradaédelimitadaapenasàesquerda,pormeiodeumsímboloespecial,representadopor“<”,quenãofazpartedoalfabetodeentrada.Juntamente comessesímbolo,acadeiaaserprocessadaéposicionadadeformatalquefique ajustadaàesquerdasobreafita.Ocursordeacessoinicialmenteapontaosímbolo maisàesquerdadacadeiadeentrada,ouseja,osímboloimediatamenteàdireita domarcador“<”.2

3.Asposiçõesdafitaàdireitadoúltimosímbolodacadeiadeentradasãoinicialmentepreenchidascomumsímboloespecial—representadopor B,queindicaque aquelasposiçõesestãovagas.Osímbolo B tambémnãofazpartedoalfabetode entrada.3

4.Ocursordeacessopodesedeslocarlivrementesobreafitadetrabalho,excetopara aesquerdadaprimeiraposiçãodafita.Casoissoocorra,acomputaçãoencerra-se anormalmente.

AFigura6.1ilustraaconfiguraçãoinicialdeumaMáquinadeTuringcomcadeiade entradaiguala σ1σ2σ3...σn.Formalmente,umaMáquinadeTuringédefinidacomo:

M =(Q, Σ, Γ, δ, q0,<, B, F )

onde:

• Q éoconjuntofinitonãovaziodeestados.

• Σ éoalfabetodeentrada,formadoporumconjuntofinitonãovaziodesímbolos.

• Γ éumconjunto,tambémfinitoenãovazio,desímbolosquepodem serlidose/ou escritosnafitadetrabalho. Γ ⊇ Σ

• δ éafunçãoparcialdetransição, δ : Q × Γ → 2Q×Γ×{E,D} .

• q0 éoestadoinicial, q0 ∈ Q.

1Dependendodoautor,nãohálimitaçãotampoucoàesquerda.

2Algunsautoresdesconsideramousodomarcador“<”esupõemqueaprimeiraposiçãodafitadetrabalhoseja ocupadapeloprimeirosímbolodacadeiaaseranalisada.

3Dependendodoautor,outrossímbolossãousadospararepresentarposiçõesvagasdafitadetrabalho.

508 Linguagensrecursivas
Figura6.1 MáquinadeTuring.

•“<” ∈ Γ,“<” / ∈ Σ,éosímboloqueindicaaprimeiraposiçãodafitadetrabalho. Durantetodaaoperaçãodamáquina,osímbolo“<”nãopodesergravadoemnenhuma outraposiçãodafita.

• B ∈ Γ, B / ∈ Σ,éosímboloutilizadoparapreencherinicialmentetodasas posições àdiretadacadeiadeentradanafita.Duranteaoperaçãodamáquina,osímbolo B podesergravadoemqualquerposiçãodafita.

• F ⊆ Q éoconjuntodeestadosfinais.

A configuração deumaMáquinadeTuringéindicadaporumatripla

(α, qk,β) ∈ Γ∗ × Q × Γ∗

onde qk éoestadocorrente, α ∈ Γ∗ éaporçãodoconteúdodafitadetrabalhoqueseencontra àesquerdadocursordeacesso,e β ∈ Γ∗ éaporçãodoconteúdodafitadetrabalhoquese encontraàdireitadocursordeacesso,incluindoaposiçãocorrentementeapontadaporele.

A configuraçãoinicial é (<, q0,γ),onde q0 éoestadoiniciale γ ∈ Σ∗ éacadeiade entradaaseranalisada.Ocursordeacessoaponta,portanto,exatamenteoprimeirosímbolo dacadeiadeentrada γ.Aporção α darepresentação (α, qk,β) corresponde,nestecaso, àcadeiaunitária <.Uma configuraçãofinal édefinidacomo (λ, q f , µ),com q f ∈ F e λ, µ ∈ Γ∗

Astransiçõescontidasnafunção δ especificampossibilidadesnãodeterminísticasde movimentação,queconduzemodispositivodeumaconfiguraçãoparaaconfiguraçãoseguinte.Diz-sequeodispositivo para quandoafunção δ nãofordefinidaparaopar (estado, símbolodeentrada) corrente.

Osímbolo“⊢”denotaumarelaçãosobreasconfiguraçõesdeumaMáquinadeTuring:

Portanto,amovimentaçãodeumaconfiguraçãoparaaseguinte érepresentadapor:

Emcasodetentativadedeslocamentodocursordeacessopara aesquerdadaprimeira posiçãodafita,acomputaçãoencerra-seanormalmente.Nestecaso,acadeiadeentradaé rejeitada,nãoimportandoseoestadoemqueamáquinaseencontraéfinalounão.

Arigor,oempregodosímbolo“<”parasinalizaroiníciodafitadetrabalhoédesnecessário.Diversostextosconsideramqueaprimeiraposiçãoda fitasejaocupadapeloprimeiro símbolodacadeiadeentrada,semperdadegeneralidade.Aincorporaçãodeleaomodelo,no entanto,contribuiparaaconstruçãodemáquinasmaissimples,namedidaemqueocontrole dosdeslocamentosdocursordeacesso,afimdeevitarotérminoanormaldacomputação, tambémpodesersimplificado.

Adefiniçãodafunçãodetransição δ deixaclaroquesetratadeumdispositivo não determinístico.Noentanto,tambémépossíveldefinirMáquinasdeTuringcom fitailimitada determinísticas,bastandoparaissomodificarafunçãodetransiçãopara:

ConformeaSeção6.3,MáquinasdeTuringcomfitailimitada nãodeterminísticas podemsempresertransformadasemMáquinasdeTuringcomfita ilimitadaequivalentes porém determinísticas,assimcomoocorrenocasodosautômatosfinitos.Portanto,pode-

Linguagensformais:teoriaeconceitos 509
.
⊢: Γ∗ × Q × Γ∗ → Γ∗ × Q × Γ∗
(α, qk,β) ⊢ (α′ , qm,β′)
δ : Q × Γ → Q × Γ ×{E, D}

510 Linguagensrecursivas

setrabalharindistintamentecomMáquinasdeTuringcomfita ilimitadanãodeterminísticas oudeterminísticas,semqueissoacarretequalquermodificaçãonaclassedelinguagensque taisdispositivossãocapazesdeaceitar.Talcaracterísticadifere,poroutrolado,daquelaque éexibidapelosautômatosdepilha,que,emsuaversãonãodeterminística,sãocapazesde reconhecerumaclassemaisampladelinguagensdoqueasversõesdeterminísticas.Difere, também,docasodasMáquinasdeTuringcomfitalimitada,pois atéomomentoaindanãose sabeseexisteounãoessaequivalência.

AlinguagemaceitaporumaMáquinadeTuringcomfitainfinitaé oconjuntodas cadeiasquesãocapazesdeconduzirodispositivodesdeasua configuraçãoinicial(única paraumadeterminadacadeiadeentrada)atéumaconfiguração finalqualquernaqualele estejaparado—sempossibilidadedemovimentação.Formalmente,

admitindo-se,comocondiçãodeparada,que

nãosejadefinida para (q f , σ).Estecritériodeaceitaçãoédenominado estadofinal paradiferenciardeoutros doiscritériosalternativos(porémequivalentes)quesãoapresentadosnaSeção6.2.

NocasodasMáquinasdeTuringdeterminísticas(comcritériodeaceitação“estado final”),bastaanalisaraconfiguraçãodeparada(sehouver)parasaberseacadeiafoiaceita ourejeitada.Éclaroqueacadeiapodeprovocarum“loop”infinito,masofatoéquepara cadacadeiadeentradaháumaúnicasequênciademovimentações.

NocasodasMáquinasdeTuringnãodeterminísticas(comcritériodeaceitação“estado final”),épossívelqueexistamváriassequênciasdemovimentaçõesparaumamesmacadeia deentrada.Paradeterminarseumacadeiadeentradaéaceita,rejeitadaouprovoca“loop”de processamentoinfinito,deve-seconsiderarasregrasapresentadasnaSeção5.4.

UmaMáquinadeTuring M,determinísticaounãodeterminística,particionaoconjunto Σ∗ (onde Σ éoseualfabetodeentrada),portanto,emtrêslinguagensdistintas: ACEITA(M), REJEITA(M) e LOOP(M).

Seja L alinguagemaceitaporumaMáquinadeTuring M.Se w1 ∈ L,então M para eaceita w1.Considere-se,porém,acadeia w2 ∈ Σ∗ L.Nestecaso, M podetantoparar, rejeitandoaentrada,quantoentraremloopinfinito,semnuncaatingirumacondiçãode parada.

Umalinguagem L édita recursiva seexistirpelomenosumaMáquinadeTuring M tal que:

1.Paratodacadeia w ∈ L, M paraeaceita w

2.Paratodacadeia z ∈ Σ∗ L, M paraerejeita z.

Ouseja, M atingeacondiçãodeparadaparatodaequalquercadeiaquelheésubmetida, nãoimportandoseestapertenceounãoa L.Emoutraspalavras, L érecursivaseexistir pelomenosumaMáquinadeTuringtalque L(M)= ACEITA(M), REJEITA(M)= Σ∗

ACEITA(M) e LOOP(M)= /0.EssaMáquinadeTuringpodeterfitalimitada(casoemque L,alémdeserrecursiva,étambémsensívelaocontexto)ouilimitada(casoemque L é recursiva,porémnãoésensívelaocontexto).

Umalinguagemrecursivaétambémdita linguagemdecidível.Essetermodenotaofato deque,paraessaclassedelinguagens,sempreexistepelomenosumaMáquinadeTuringque aceitaareferidalinguagem,qualquerquesejaacadeiausadacomoentrada(nãoimportase elapertenceounãoàlinguagem),equesemprepara.Aparadapodeocorrercomaceitação ourejeiçãodacadeia.

L(M)= {γ ∈ Σ∗ | (<, q0,γ) ⊢∗ (λ, q f , µ), q f ∈ F, λ, µ ∈ Γ∗}
µ = σπ, σ ∈ Γ, π ∈ Γ∗
e δ

ConformeserádiscutidonoCapítulo7,aslinguagensrecursivasnãosãoaúnicaclasse delinguagensaceitaspelasMáquinasdeTuring.Naverdade, orelaxamentodacondiçãode paradaparacadeiasnãopertencentesàlinguagemfazcomque omodelopossaserusado paradefinirumaclassemaisampladelinguagens,denominadaslinguagensrecursivamente enumeráveis.

Exemplo6.1 Amáquina M apresentadanaFigura6.2étalque L(M)= abc(a |

.

Figura6.2 MáquinadeTuringqueaceita abc(a | b | c)∗ paraoExemplo6.1.

Osmovimentosque M executanaaceitaçãodealgumassentençaspertencentesa L,desdea configuraçãoinicialatéaconfiguraçãofinal,sãomostradosa seguir:

• (<, q0, abcB) ⊢ (< a, q1, bcB) ⊢ (< ab, q2, cB) ⊢ (< abc, q3, B) ⊢ (< abcB, q4,β)

• (<, q0, abcaB) ⊢ (< a, q1, bcaB) ⊢ (< ab, q2, caB) ⊢ (< abc, q3, aB) ⊢

(< abca, q3, B) ⊢ (< abcaB, q4,β)

• (<, q0, abccbaB) ⊢ (< a, q1, bccbaB) ⊢ (< ab, q2, ccbaB) ⊢ (< abc, q3, cbaB) ⊢

(< abcc, q3, baB) ⊢ (< abccbB, q3, aB) ⊢ (< abccbaB, q3, B) ⊢ (< abccbaB, q4,β)

Osímbolo B éusado,nestescasos,paragarantirqueacadeiadeentradanãocontenhasímbolos estranhosaoalfabeto {a, b, c}.Acadeia β,usadanaconfiguraçãofinaldostrêscasos,éformadapor umasequênciainfinitadesímbolos B

Arejeiçãodealgumascadeiaspertencentesa Σ∗,porémnãopertencentesa L,podeserilustrada atravésdosseguintesexemplos:

• (<, q0, b)

• (<, q0, aB) ⊢ (< a, q1, B)

• (<, q0, abb) ⊢ (< a, q1, bb) ⊢ (< ab, q2, b)

Note-seque,noscasosacima, M parasempreemconfiguraçõesnãofinais,umavezque,respectivamente, q0, q1 e q2 sãoestadosnãofinais.

L éumalinguagemrecursiva,umavezque M semprepara,qualquerquesejaacadeiadeentrada w ∈ Σ∗ quelhesejaapresentada.

Exemplo6.2 AMáquinadeTuring M ilustradanaFigura6.3aceitaalinguagem L = {wwR | w ∈ {a, b}∗ }.Sãoexemplosdecadeiasaceitaspor M:

• (<, q0, aaB) ⊢ (< X , q1, aB) ⊢ (< Xa, q1, B) ⊢ (< X , q2, aB) ⊢

(<, q3, XXB) ⊢ (< X , q0, XB)

• (<, q0, baabB) ⊢ (< Y, q4, aabB) ⊢ (< Ya, q4, abB) ⊢ (< Yaa, q4, bB) ⊢

(< Yaab, q4, B) ⊢ (< Yaa, q5, bB) ⊢ (< Ya, q6, aYB) ⊢ (< Y, q6, aaYB) ⊢

(<, q6,YaaYB) ⊢ (< Y, q0, aaYB) ⊢ (< YX , q1, aYB) ⊢ (< YXa, q1,YB) ⊢

(< YX , q2, aYB) ⊢ (< Y, q3, XXYB) ⊢ (< YX , q0, XYB)

• (<, q0, bbbbbbB) ⊢ (< Y, q4, bbbbbB) ⊢ (< Yb, q4, bbbbB) ⊢

(< Ybb, q4, bbbB) ⊢ (< Ybbb, q4, bbB) ⊢ (< Ybbbb, q4, bB) ⊢

(< Ybbbbb, q4, B) ⊢ (< Ybbbb, q5 , bB) ⊢ (< Ybbb, q6, bYB) ⊢

(< Ybb, q6, bbYB) ⊢ (< Yb, q6, bbbYB) ⊢ (< Y, q6, bbbbYB) ⊢

(<, q6,YbbbbYB) ⊢ (< Y, q0, bbbbYB) ⊢ (< YY, q4, bbbYB) ⊢

(< YYb, q4, bbYB) ⊢ (< YYbb, q4, bYB) ⊢ (< YYbbb, q4,YB) ⊢

Linguagensformais:teoriaeconceitos 511
q0 q1 q2 q3 a/(a, D
b
b
D
c/(c, D) a/(a, D), b/(b, D), c/(c, D) q4 B/(B, D)
b | c)∗
)
/(
,
)

Figura6.3 MáquinadeTuringqueaceita {wwR | w ∈{a, b}∗ } paraoExemplo6.2.

(< YYbb, q5, bYB) ⊢ (< YYb, q6, bYYB) ⊢ (< YY, q6, bbYYB) ⊢

(< Y, q6,YbbYYB) ⊢ (< YY, q0, bbYYB) ⊢ (< YYY, q4, bYYB) ⊢

(< YYYb, q4,YYB) ⊢ (< YYY, q5, bYYB) ⊢ (< YY, q6,YYYYB) ⊢

(< YYY, q0,YYYB)

Sãoexemplosdecadeiasrejeitadaspor M:

• (<, q0, bB) ⊢ (< Y, q4, B) ⊢ (<, q5,YB)

• (<, q0, abB) ⊢ (< X , q1, bB) ⊢ (< Xb, q1, B) ⊢ (< X , q2, bB)

• (<, q0, bbaaaaB) ⊢ (< Y, q4, baaaaB) ⊢ (< Yb, q4, aaaaB) ⊢ (< Yba, q4, aaaB) ⊢

(< Ybaa, q4, aaB) ⊢ (< Ybaaa, q4 , aB) ⊢ (< Ybaaaa, q4 , B) ⊢ (< Ybaaa, q5, aB)

Seja L ⊆ Σ∗ umalinguageme M umaMáquinadeTuring.Diz-seque M aceita (ou define) L se M écapazdeatingirumaconfiguraçãofinalparatodasascadeias quepertencem a L,nãoimportandooqueacontecequandoumacadeiapertencentea Σ∗ L ésubmetida a M.Poroutrolado,diz-seque M decide L se,paraqualquercadeiapertencentea Σ∗ , M semprepara,aceitandoassentençasde L erejeitandoasdemais.Finalmente, M reconhece L se M gerasaídasdistintasindicando,paracadacadeiapertencentea Σ∗,seelapertenceou nãoa L.Naturalmente,se M reconhece L,então M decideL.Se M decide L,normalmenteé simplesfazer M reconhecer L.Finalmente,se M decideoureconhece L,éclaroque M aceita L.Ameraaceitação,poroutrolado,nãoimplicaquesejapossíveldecidiroureconheceruma linguagem.

6.2Critériosdeaceitação

Ocritériodeaceitação“estadofinal”,definidonaSeção6.1e utilizadonosExemplos6.1e 6.2,podesersubstituído,semprejuízodalinguagemdefinidaporumaparticularMáquinade Turing,pelocritério“parada”,conformeexplicadoaseguir.

512 Linguagensrecursivas q0 q1 q2 q3 a/(X , D) B/
B
E ) a/(X , E ) a/(a, E ), b/(b, E ) a/(a, D), b/(b, D)
) Y
(
) q4 q5 q6
b/(Y
E ) a/(a, E ), b/(b, E ) a
Y
b
X /(X , D) Y /(Y, D)
(
,
X /(X , E
/
Y, E
B/(B, E )
,
/(a, D), b/(b, D) X /(X , E )
/(Y, E )
/(Y, D)

Capítulo7

Linguagensrecursivamente enumeráveis

Umalinguagem L édita recursivamenteenumerável (ousimplesmente irrestrita)sefor aceitaporpelomenosumaMáquinadeTuring M.Ouseja:

1.Paratodacadeia w ∈ L, M paraeaceita w.

2.Paratodacadeia z ∈ Σ∗ L, M paraerejeita z ouexecutaumasequênciainfinitade movimentações.

Emoutraspalavras, L érecursivamenteenumerávelseexistiralgumaMáquinadeTuringtalque L(M)= ACEITA(M),com REJEITA(M) ∪ LOOP(M)= Σ∗ ACEITA(M)

Taldefiniçãoinduzaumapartiçãodaclassedaslinguagensrecursivamenteenumeráveis,compostapelasseguintessubclasses(Figura7.1).

•Asubclassedaslinguagens L aceitasporMáquinasdeTuringqueparamparatodas ascadeiasdeentrada z ∈ Σ∗ L;talsubclassecorrespondeàclassedaslinguagens recursivas,apresentadaanteriormentenaSeção6.1.

•Asubclassedasdemaislinguagens L,asquaissãoaceitasporMáquinasdeTuring queiniciamumasequênciainfinitademovimentaçõesparapelomenosumacadeia deentrada z ∈ Σ∗ L.

Damesmaformaqueaslinguagensrecursivas,ediferentementedaslinguagensregulares,livresdecontextoesensíveisaocontexto,nãoseconhecequalquertipodeestrutura quepermitaidentificaraslinguagensrecursivamenteenumeráveisapenaspelainspeçãodas propriedadessintáticasdesuassentenças.

Aslinguagensrecursivamenteenumeráveissão,portanto,inicialmentecaracterizadasa partirdasMáquinasdeTuring.Conformeseráestudadoadiante,elastambémpodemsercaracterizadaspormeiodomodelomaisgeraldegramáticas,as chamadasgramáticasirrestritas (verSeção7.1).

Figura7.1 Subclassesdaclassedaslinguagensrecursivamenteenumeráveis.

536 Linguagensrecursivamenteenumeráveis

Amaiorimportânciadessaclassedelinguagensresideemsua aplicaçãoaodesenvolvimentoteóricodacomputação.

ConformeestudadonoCapítulo6,aslinguagensrecursivassãotambémconhecidas comolinguagensdecidíveis.Issoocorreporque,paratalclassedelinguagens,ésempre possívelobterumaMáquinadeTuringquesempreparaemrespostaaqualquerentradaque lhesejasubmetida,nãoimportaseaceitandoourejeitandotalentrada.Cadeiasquepertencem àlinguagemsãoaceitasecadeiasquenãolhepertencemsãorejeitadas.Essacaracterística éparticularmenteútilquandosedesejaestudaracomputabilidadededeterminadostiposde problema,emparticulardoschamadosproblemasdedecisão.

Umalinguagemédita estritamenterecursivamenteenumerável seelaforrecursivamenteenumerávelenãoforrecursiva.Ouseja,seelaforaceitaapenasporMáquinas deTuringquenecessariamenteentramem“loop”comalgumacadeiaquenãopertenceà linguagem.

7.1Gramáticasirrestritas

Umagramática G =(V, Σ, P, S) édita irrestrita senenhumarestriçãoadicionalforaplicada àssuasregrasdeprodução,quedevemseguiraformageral α → β, α ∈ V ∗NV ∗ ,β ∈ V ∗ Observarqueasgramáticasregulares,aslivresdecontexto eassensíveisaocontextosão casosparticularesdasgramáticasirrestritas.

Note-seque,diferentementedoqueocorrecomasgramáticas sensíveisaocontexto, asgramáticasirrestritasadmitemqueoladodireitodasregras(β)possuaumnúmerode símbolosmenorqueoladoesquerdocorrespondente(α).Issofazcomquepossahaver reduçãonotamanhodasformassentenciaisduranteoprocessodederivaçãodesentenças.

Algunsautoresconsideramumformatoaindamaisgeralparaasregrasdasgramáticasirrestritas: α ∈ V + ,β ∈ V ∗.Esseformatopermitequeoladoesquerdodasregrasseja formadoporqualquercombinaçãodesímbolosterminaisenão terminais,incluindocadeias formadasexclusivamenteporsímbolosterminais,oquenãoé permitidonoformatoaqui adotado.

Naverdade,ambasasdefiniçõessãoequivalentes,podendoserusadasindistintamente. Aconversãoderegrasdoformatomaisgeral(α ∈ V + ,β ∈ V ∗)paraoformatomenosgeral (α ∈ V ∗NV ∗ ,β ∈ V ∗)podeserfeitaaplicando-seatécnicautilizadanademonstraçãodoTeorema5.1,emquenovossímbolosnãoterminaissãocriadosesubstituemtodasasocorrências desímbolosterminais,eagramáticaéacrescidadeproduçõesunitáriasqueconvertemcada umdessesnovossímbolosnãoterminaisnossímbolosterminaiscorrespondentes.

Exemplo7.1 Agramática G1 =({S, A, B,C, a, b, c}, {a, b, c}, P1, S),com P1: {S → aAbcC bc → B ABC → b} podeserfacilmenteconvertidapara G2 =({S, A, B,C, X ,Y, Z, a, b, c}, {a, b, c}, P2, S),com P2: {S → XAYZC YZ → B ABC → Y X → a

Asconvençõeseaterminologiaadotadasnaapresentaçãoediscussãodosdemaistipos degramáticatambémsãoaplicáveisaocasodasgramáticasirrestritas.Derivações,formas sentenciaisealinguagemgeradapelagramáticasãodenotadasdeformaidênticaàqueles casos.

Exemplo7.2 Agramática G =({S, A,C, a, b, c}, {a, b, c}, P, S),com P:

{S → aAbc

A → aAbC | ε Cb → bC Cc → cc}

geraalinguagem aibici , i 1.EssamesmalinguagemfoianteriormenteformuladanoCapítulo5atravésdeumagramáticasensívelaocontexto(verExemplo5.14).Nopresenteexemplo,elaéformalizada atravésdeumagramáticairrestrita(porcausadaprodução A → ε,emque |A| > |ε|).Exemplosde derivação:

• S ⇒ aAbc ⇒ abc

• S ⇒ aAbc ⇒ aaAbCbc ⇒ aaaAbCbCbc ⇒ aaabCbCbc ⇒ aaabCbbCc ⇒ aaabbCbCc ⇒ aaabbbCCc ⇒ aaabbbCcc ⇒ aaabbbccc

Aaplicaçãodaprodução S → aAbc,seguidade n aplicaçõesdaprodução A → aAbC e,finalmente, daaplicaçãodaprodução A → ε,geraumaformasentencialdotipo an+1(bC)nbc.Atransposição dossímbolos“b”paraoladoesquerdo,juntoaossímbolos“a”,éfeitacomoauxíliodaprodução Cb → bC.Apósaaplicaçãodessaprodução n + 1vezes,chega-seàformasentencial an+1bn+1Cnc Finalmente,aaplicaçãodaprodução Cc → cc por n vezessubstituiosnãoterminais“C”pelosterminais “ c”correspondentes,conduzindoàgeraçãodasentença an+1bn+1cn+1 . ⋆

Exemplo7.3 Agramática G =({S, B, X , a, b}, {a, b}, P, S),com P:

{S → aBSa | aBXa

Ba → aB

BX → Xb aX → a}

geraalinguagem aibiai , i 1.Aprodução aX → a caracterizaestagramáticacomosendoirrestrita, umavezque |aX | > |a|

Asduasproduçõesiniciaisgeramformassentenciaisdotipo (aB)nXan.Apartirdesseponto, aaplicaçãorepetidadaprodução Ba → aB permiteobterformassentenciaisdotipo anBnXan.Resta, portanto,substituirossímbolosnãoterminais“B”porterminais“b”paragerarassentençaspretendidas, tarefaestaqueécumpridapelastrêsúltimasproduções.Onãoterminal“X”servecomodelimitador, separandoascadeiasàsuaesquerdaeàsuadireita.Eleéusado,inicialmente,comoreferênciapara substituirossímbolos“B”por“b”e,finalmente,paraseautorremoverdaformasentencial,gerando anbnan.Exemplosdederivação:

• S ⇒ aBXa ⇒ aXba ⇒ aba

• S ⇒ aBSa ⇒ aBaBSaa ⇒ aBaBaBXaaa ⇒ aaBBaBXaaa ⇒ aaBaBBXaaa ⇒ aaaBBBXaaa ⇒ aaaBBXbaaa ⇒ aaaBXbbaaa ⇒ aaaXbbbaaa ⇒ aaabbbaaa

Linguagensformais:teoriaeconceitos 537
Y → b Z → c}

7.2Formanormalparagramáticasirrestritas

Devidoaofatodeasgramáticasregulares,livresdecontextoesensíveisaocontextoconstituíremcasosparticularesdasgramáticasirrestritas,a formanormalqueseráapresentada aseguirpodeseraplicadaindistintamenteemqualquertipo degramáticaexaminadaatéo momento.

Ademonstraçãodoteoremaseguintebaseia-senademonstraçãode[46],que,porsua vez,éumageneralizaçãodaformaconhecidacomoFormaNormaldeKurodaparagramáticassensíveisaocontexto(verSeção5.3).

Teorema7.1(Formanormalparagramáticasirrestritas) “Todagramáticairrestrita G1 = (V1, Σ, P1, S) defineumalinguagem L quetambémpodesergeradaporumaoutragramática G2 =(V2, Σ, P2, S),equivalente,cujasproduçõessãotodasdasseguintesformas:(1) S → ε; (2) A → σ;(3) A → B;(4) A → BC;(5) AB → AC;(6) AB → CB;(7) AB → C,onde S, A, B,C ∈ N2 e σ ∈ Σ

ConformeoAlgoritmo7.1,descritoaseguir,oqualincorporaasseguintesetapas:

i.Eliminaçãodasproduçõesvazias.

ii.Incorporaçãodaprodução(1),casoacadeiavaziafaçapartedalinguagem.

iii.Substituiçãodossímbolosterminaispornovossímbolosnãoterminaiseincorporaçãodenovasproduçõesdaforma(2),umaparacadasímboloterminalde G1

iv.Substituiçãodasproduções α → β,emque |α| |β|,porumnovoconjuntode produçõesdasformas(3),(4),(5),(6)e(7).

v.Substituiçãodasproduções α → β,emque |α| > |β|,porumnovoconjuntode produçõesdasformas(3),(4),(5),(6)e(7).

Algoritmo7.1(Formanormalparagramáticasirrestritas) “Obtençãodeumagramática irrestritanaformanormal.”

• Entrada:umagramáticairrestritaG1 =(V1, Σ, P1, S).

• Saída:umagramáticairrestritaG2 =(V2, Σ, P2, S),naformanormal,etalque L(G2)= L(G1)

• Método:

1.Início:

2.Etapa(i):

Eliminam-seasproduçõesdaformaA → ε contidasemP1:

3.Etapa(ii):

Incorporaçãodacadeiavazia,seforocaso:

4.Etapa(iii):

Eliminaçãodosterminaisoriginaisesuasubstituiçãopornãoterminais correspondentes:

538
Linguagensrecursivamenteenumeráveis
.”
V1 Σ eN2 = V2 Σ
2 ← N1
SendoN1 =
,faz-se:
N
– P2 ← /0
– P2 ← P2 ∪{XA → X , AX → X , σA → σ, Aσ → σ | A → ε ∈ P1, X ∈ N1, σ ∈ Σ}
P2 ∪{S → ε
ε ∈ L
P2 ←
,se
(G1)}
– N2 ← N2 ∪{Xσ, σ ∈ Σ} – P2 ← P2 ∪{Xσ → σ, α1Xσ α2 → β | α1σα2 → β ∈ P1, σ ∈ Σ, α1, α2 ∈ V ∗ 1 }

V

5.Etapa(iv):

1 }

Eliminaçãodasproduções α → β, |α| |β|: – Paracadaprodução α → β emP1,com |α| |β|,tem-se:

α = A1A2 Am

β = B1B2...Bn = B1B2...BmBm+1...Bn, comAi, B j ∈ N1, n m

1. –

Fazer:

N2 ← N2 ∪{Xi, 1 i n 1}

P2 ← P2∪

{A1 → B1X1

X1A2 → B2X2

X2A3 → B3X3

Xm 2Am 1 → Bm 1Xm 1

Xm 1Am → BmXm

Xm → Bm+1Xm+1

Xm+1 → Bm+2Xm+2

Xn 2 → Bn 1Xn 1

Xn 1 → Bn}

6.Etapa(v):Eliminaçãodasproduções α → β, |α| > |β|: – Paracadaprodução α → β,com |α| > |β|,tem-se:

β

7.Término:

AsproduçõesdotipoAB → CDgeradasnasetapas(iv)e(v)devemainda sersubstituídasporumconjuntodeproduçõesequivalente, porémem conformidadecomasformas(3),(4),(5),(6)e(7):

Linguagensformais:teoriaeconceitos 539 – P2 ← P2 ∪{Xσ → σ, α → β1σβ2 | α → β1σβ2 ∈ P1, σ ∈ Σ,β1,β2 ∈
α = A1A2 An = A1A2 AmAm+1 An
2 ← P2∪ {An 1An → X0Y0, X0Y0 → Y0, An 2Y0 → X1Y1, X1Y1 → Y1, An 3Y1 → X2Y2, X2Y2 → Y2, AmYn m 2 → Xn m 1Yn m 1, Xn m 1Yn m 1 → Yn m 1Bm, Am 1Yn m 1 → Yn mBm 1, Am 2Yn m → Yn m+1Bm 2, A1Yn 2 → Yn 2B1,Yn 2B1 → B1}
= B1B2...Bm, comAi, B j ∈ N, n > m 1. – Fazer: N2 ← N2 ∪{Xi, 1 i n m 1}∪{Yj, 0 j n 2} P

Todasasproduçõesde G2 estãoemalgumdosformatospermitidosnaformanormal desejada,completandoaprova.

Exemplo7.4 Deacordocomaetapa(iv

Paracompletar,aprodução(7.2)deveaindasersubstituída peloconjunto:

Transformaçãosemelhantedeveseraplicadanaprodução(7.3),poisasdemaisjáseencontramenquadradasnosformatosoriginalmentepropostos.

N
P
AB → AY, AY → XY, XY → XD, XD → CD
540 Linguagensrecursivamenteenumeráveis N2 ←
2 ∪{X ,Y } P2 ←
2 ∪{
}
),aprodução A1A2A3 → B1B2B3B4B5B6B7 devesersubstituída peloconjuntoderegras: {A1 → B1X1, (7.1) X1A2 → B2X2, (7.2) X2A3 → B3X3, (7.3) X3 → B4X4, (7.4) X4 → B5X5, (7.5) X5 → B6X6, (7.6) X6 → B7} (7.7) Defato, A1A2A3 ⇒+ B1B2B3B4B5B6B7,comoseconstatapelaseguintederivação: A1A2A3 ⇒ B1X1A2A3 ⇒ B1B2X2A3 ⇒ B1B2B3X3 ⇒ B1B2B3B4X4 ⇒ B1B2B3B4B5X5 ⇒ B1B2B3B4B5B6X6 ⇒ B1B2B3B4B5B6B7
{X1A2 → X1N, X1N → MN, MN → MX2, MX2 → B2X2}
⋆ Exemplo7.5 Deacordocomaetapa(v),aprodução A1A2A3A4A5A6A7 → B1B2B3 devesersubstituída peloconjuntodeproduções: {A6A7 → X0Y0, (7.8) X0Y0 → Y0, (7.9) A5Y0 → X1Y1, (7.10) X1Y1 → Y1, (7.11) A4Y1 → X2Y2, (7.12) X2Y2 → Y2, (7.13) A3Y2 → X3Y3, (7.14) X3Y3 → Y3B3, (7.15) A2Y3 → X4Y4, (7.16) X4Y4 → Y4B2, (7.17) A1Y4 → Y5B1, (7.18) Y5B1 → B1} (7.19) Defato, A1A2A3A4A5A6A7 ⇒+ B1B2B3,comoseconstatapelaseguintederivação:

Capítulo8

Conclusões

Oestudodasclassesdelinguagensdiscutidasnestelivro,apresentadasemordemcrescente decomplexidade,econfiguradascomoconjuntossucessivamentemaisabrangentes,permite queseobtenhaumavisãoestruturadadoassunto,comespecialênfasenosaspectosquediferenciamcadaclasseestudadadarespectivaclasseantecessora.

Opresentecapítuloapresentaumresumodosprincipaisresultadosregistradosnoscapítulosanteriores,oferecendo,assim,umavisãopanorâmicadaessênciacontidaemcada umdessescapítulos,etambémdositensquefazemcomquecertasclassesdelinguagensse assemelhemousediferenciem.

Poroutrolado,aaplicabilidadedelinguagensformaiseautômatos,noscamposprático eteórico,nãoseencerraemsimesma,apresentandogranderelevânciaparaáreasqueserão destacadasmaisadiantenestecapítulo.

8.1Umahierarquiadeclassesdelinguagens

Estetextoapresentouosprincipaisresultadosdateoriade linguagensformaiseautômatos, seguindoestritamenteumasequênciaqueseinicioucomaclassedelinguagensmaisrestrita conhecida(adaslinguagensregulares),eseencerroucomaclassedelinguagensmaisamplaconhecida(adaslinguagensrecursivamenteenumeráveis),passandogradativamentede umaclassemaisrestritaparaamaisgeralseguinte,dentrodeumaescaladecomplexidade crescente,baseadanaHierarquiadeChomsky,eprocurandosempreampliarohorizontedo leitor,semanteciparmodelos,conceitosouteoriasrelativosàsclassesdelinguagensmais avançadas.

Aresumealgunsdosprincipaisresultadoscolhidosaolongo desteestudo,1 paracada classedelinguagensconsiderada,equeserãobrevementerevistosnasequência.

ApartirdaHierarquiadeChomskyoriginal(definidaem[9]e[10]),foramidentificadas,caracterizadasesituadasimportantessubclassesadicionaisdelinguagens:adaslinguagenslivresdecontextodeterminísticas,adaslinguagenslivresdecontextonãoambíguas,a daslinguagensrecursivaseadaslinguagensnãogramaticais.

Excluindo,naturalmente,aclassedaslinguagensnãogramaticais,todasasdemaisclassespodemsercaracterizadasemtermosgramaticais,exceto aclassedaslinguagensrecursivas,cujadefiniçãoébaseadaunicamentenoconceitodeumaMáquinadeTuringquesempre para,enãoemgramáticas.

Dopontodevistadoreconhecimento,trêsmodelosdistintos,comseisvariantesimportantes,foramapresentados:osautômatosfinitos,osautômatosdepilha(nasversõesdeterminísticaenãodeterminística)easMáquinasdeTuring(nasversõescomfitalimitada,

1Nestaseção,aindicação“N.A.”significa“nãoseaplica”,e“?”simbolizaqueoresultadonãoédoconhecimento dosautoresatéomomentodapublicaçãodestelivro.

Tabela8.1 Classesdelinguagensesuascaracterísticasprincipais

semlimitaçãodefitaequesempreparam,esemlimitaçãodefita,quepodemounãoparar). Cadaumdessesseistiposdedispositivoestáassociadoaoreconhecimentodeumasubclasse específicadelinguagens.

Quandoaquestãodaequivalênciaentreasversõesdeterminísticaenãodeterminística deummesmomodelodereconhecedoréconsiderada,sabe-secomcertezaqueapenasos autômatosdepilhapossuemversõesqueaceitamsubclassesdiferentesdelinguagens.ExcetoaMáquinadeTuringcomfitalimitada,paraaqualosautoresnãotêmconhecimentode quesetenhaconseguidodemonstraratéhojeseexisteounãoequivalênciaentreasversões determinísticaenãodeterminística([47]),todosasdemaisformulaçõesetiposdereconhecedorpossuemversõesquesãocomprovadamenteequivalentesquantoaessequesito.

Dequalquerforma,osfatoscomrelaçãoàsversõesdeterminísticaenãodeterminística decadaumdosmodelosdereconhecedorconsideradossãoosseguintes:

•Autômatofinito:asversõessãoequivalentes,existeumalgoritmodeconversãoe eleéusadonaprática(paraaumentaraeficiênciadaanálise).

•Autômatodepilha:asversõesnãosãoequivalentes.

578 Conclusões

•MáquinadeTuringcomfitalimitada:nãosesabeseasversões sãoequivalentesou não.

•MáquinadeTuringcomfitailimitada:asversõessãoequivalentes,existeumalgoritmodeconversão,porémelenãoéusadonaprática(porqueaumentamuitoo tempodeexecução).

Adicionalmente,épossíveldeterminarapossibilidadedeobtençãodeumreconhecedorquenuncaentraem“loop”infinitoparacadaumadasprincipaisclassesdelinguagens consideradas:

•Linguagemregular:sim,épossível;existeumalgoritmoquemanipulaoautômato finitocorrespondentediretamente(bastaeliminarastransiçõesemvaziodele).

•Linguagemlivredecontexto:sim,épossível;porém,nãoexisteumalgoritmoque manipuleoautômatodepilhacorrespondentediretamente(nestecaso,ésuficiente construirumautômatodepilhacombasenaFormaNormaldeChomskyouForma NormaldeGreibachdagramáticaquegeraarespectivalinguagem).

•Linguagemsensívelaocontexto:sim,épossivel;porém,nãoexisteumalgoritmo quemanipuleaMáquinadeTuringcomfitalimitadadiretamente.

•Linguagemrecursivamenteenumerável:sóépossívelsealinguagemfortambém recursiva;nestecaso,porém,nãoexisteumalgoritmoqueconsigatransformara correspondenteMáquinadeTuring;sealinguagemnãoforrecursiva,entãonãoé possível.

Finalmente,éconvenienteconsiderarasdiferentesclassesdelinguagensdopontode vistaexclusivodaspropriedadessintáticasqueasdistinguemumasdasoutras—independentementedotipodegramáticasoureconhecedoresempregadosparaasuaespecificação. Dessaforma,pelomenostrêsclassesdelinguagenspodemser facilmenteidentificadas:adas linguagensregulares,adaslinguagenslivresdecontextodeterminísticaseadaslinguagens sensíveisaocontexto.Asdemaisclassesdelinguagens,noquesejadoconhecimentodos autoresdestelivro,nãoexibempropriedadessintáticasconhecidasquesepossaconsiderar como“típicas”detodasaslinguagensdamesmaclasse.

Conformeresultadosapresentadosaolongodotexto,todasasclassesdelinguagens consideradasconstituemumahierarquiadeinclusãoprópria,queiniciacomaclassedas linguagensregulareseterminacomaclassedaslinguagensnãogramaticais.AFigura8.1 ilustraareferidahierarquiaeincluireferênciasparaexemplosdelinguagensquetornama relaçãodeinclusãoprópriaemcadanível.Aslinguagens(erespectivasclasses)consideradas

Linguagensformais:teoriaeconceitos 579
são: • L1 = a∗b∗ (Regulares) • L2 = {anbn | n 1} (Livresdecontextodescendentes) • L3 = {x2ny2ne | n 0}∪{x2n+1y2n+1o | n 0} (Livresdecontextoascendentes) • L4 = {wwR | w ∈{a, b}∗} (Livresdecontextonãoambíguas) • L5 = {anbncmdm | n 1, m 1}∪{anbmcmdn | n 1, m 1} (Livresdecontexto)

580 Conclusões

• L6 = {anbncn | n 1} (Sensíveisaocontexto)

• L7 = {αi | αi / ∈ L(Gi), ∀i 1}

(Recursivas)

• L8 = {C(M)w ∈ Σ∗ | w ∈ L(M)} (Recursivamenteenumeráveis)

• L9 = {C(M)w ∈ Σ∗ | w / ∈ L(M)} (Estruturadasemfrases)

Asrelaçõesdeinclusãoeinclusãoprópriaentreasprincipaisclassesdelinguagens relacionadasnaFigura8.1foramjustificadasaolongodoscapítulosanteriores,deacordo comaestratégiadescritaaseguir.Asclassesdelinguagens sãoconsideradasaospares,com Cint denotandoaclassemaisinternae Cext ,aclassemaisexterna.

1. Cext :Linguagenslivresdecontexto. Cint :Linguagensregulares.

•Linguagemanalisada: {anbn | n 1}

• Cint ⊂ Cext :Linguagensregularessãogeradasporgramáticaslivresde contexto(Teorema4.17).

• Cint = Cext :

– {anbn | n 1} nãoélivredecontexto,pelo“PumpingLemma” paraaslinguagensregulares(Teorema3.22);

– {anbn | n 1} élivredecontextopoiségeradaporumagramáticalivredecontexto(Exemplo5.20).

Figura8.1 Hierarquiadeinclusãoprópriadasclassesdelinguagens. 2. Cext :Linguagenssensíveisaocontexto. Cint :Linguagenslivresdecontexto.

•Linguagemanalisada: {anbncn | n 1}

• Cint ⊂ Cext :Linguagenslivresdecontextosãogeradasporgramáticas sensíveisaocontexto(Teorema5.5).

• Cint = Cext :

– {anbncn | n 1} nãoélivredecontexto,pelo“PumpingLemma” paraaslinguagenslivresdecontexto(Teorema4.21);

– {anbncn | n 1} ésensívelaocontextopoiségeradaporuma gramáticasensívelaocontexto(Exemplo5.19).

3. Cext :Linguagensrecursivas. Cint :Linguagenssensíveisaocontexto.

•Linguagemanalisada: LR = {αi | αi / ∈ L(Gi), ∀i 1}

• Cint ⊂ Cext :LinguagenssensíveisaocontextosãoreconhecidasporMáquinasdeTuringcomfitalimitada(Teorema6.3).

• Cint = Cext :

– LR = {αi | αi / ∈ L(Gi), ∀i 1} nãoésensívelaocontexto,por contradição(Teorema5.8);

– LR = {αi | αi / ∈ L(Gi), ∀i 1} érecursiva,porconstrução(Teorema6.4).

4. Cext :Linguagensrecursivamenteenumeráveis.

Cint :Linguagensrecursivas.

•Linguagemanalisada: LU = {C(M)w | w ∈ L(M)}.

• Cint ⊂ Cext :LinguagensrecursivassãoreconhecidasporMáquinasdeTuring(Teorema7.6).

• Cint = Cext :

– LU = {C(M)w | w ∈ L(M)} nãoérecursiva,porcontradição(Teorema6.5);

– LU = {C(M)w | w ∈ L(M)} érecursivamenteenumerável,por construção(Teorema7.7).

AsTabelas8.2e8.3apresentamumresumodasprincipaispropriedadesdefechamento edasprincipaisquestõesdedecisãoconsideradasparacada classedelinguagens.Onde empregada,aletra“N”indicaqueaclassenãoéfechadaemrelaçãoaumadeterminada propriedadeou,ainda,queaquestãonãoédecidívelparaaquelaclassedelinguagens.

8.2Próximospassos

Oestudodaslinguagensformaiseautômatoséfundamentalparaoentendimentoeodomínio deváriasoutrasáreasdacomputação,mastrêssedestacamperanteasdemais:

•Construçãodeprocessadoresparalinguagensdeprogramação.

•Estudodadecidibilidadedelinguagens(econjuntos).

•Estudodacomplexidadedealgoritmos.

Linguagensformais:teoriaeconceitos 581

Aslinguagensregulareseaslinguagenslivresdecontextosãoabaseparaaespecificaçãodelinguagensdeprogramaçãodealtonível,etambémpara oprojetoeaimplementação deseusrespectivosanalisadoressintáticos.Estes,porsuavez,sãoabaseparaaestruturaçãodecompiladoreseinterpretadoresparaasinúmeraslinguagensusadasnodiaadiado profissionaledoleigoemcomputação,queasempregamextensivamente,deformadireta ouindireta,conscienteouinconsciente.Pode-sedizer,portanto,queessaáreaconstituiuma importanteaplicaçãopráticadateoriadelinguagensformaiseautômatos.

Outrasáreasdeaplicaçãoincluemaespecificaçãoeaimplementaçãodeprotocolosde comunicaçãoedelinguagensdescript,dedescriçãodedados,deprojetodecircuitosdigitais edemodelagemdesistemasbiológicos.Anoapósano,asaplicaçõespráticasdateoriadas linguagensregularesetambémdaslinguagenslivresdecontextonãoparadeaumentar,tanto dentroquantoforadacomputação.

Poroutrolado,nocampoteórico,provavelmenteamaioraplicaçãodateoriadelinguagenseautômatosrecaisobreoestudodadecidibilidadedelinguagensedacomplexidadede algoritmos.ConformediscutidonosCapítulos6e7,aconstataçãodadecibilidadedelinguagensconfereacertezadaexistênciadealgoritmosquepossamserusadospararesolvera classedeproblemasrepresentadaportaislinguagens.Aconstataçãodaindecidibilidadede umalinguagem,porsuavez,garanteainexistênciadeumasoluçãogeralparaoproblema, quandoseconsideramtodasassuaspossíveisinstâncias.

Aquestão,noentanto,nãoseresumeàmeraexistênciaouinexistênciadealgoritmos paraseresolverdeterminadosproblemas.

Alémda decidibilidade deumproblema(representadopormeiodeumalinguagem), deseja-seestabelecerosparâmetrosqueindiquemograudedificuldadenaexecuçãodesoluçõesparaumcertoproblema.Assim,nãobastaumproblemaserdecidível.Éimportante

582 Conclusões
Tabela8.2 Resumodasprincipaispropriedadesdefechamento Tabela8.3 Resumodasprincipaispropriedadesdedecisão

Concebido como referência para cursos superiores da área de computação, este livro explora tópicos sobre as linguagens definidas pela Hierarquia de Chomsky. Contudo, seu alcance foi expressivamente ampliado pela inclusão de introduções à matemática discreta, aos conceitos básicos de linguagens, à classe das linguagens recursivas, à análise sintática descendente, à decidibilidade e à complexidade.

Fruto de diversos anos da experiência docente e dedicação dos autores, em diversas instituições de ensino, à disciplina Linguagens Formais e Autômatos, esta obra, repleta de exemplos e exercícios, mitiga a aridez intrínseca dos muitos assuntos estudados, tornando-os mais acessíveis a um público-alvo amplo e diversificado.

Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.