• Nenhum resultado encontrado

Nossa op¸c˜ao: Gram´aticas Livres de Contexto Adaptativas

1.6 Poder computacional vs n´ ucleo m´ınimo

1.6.3 Nossa op¸c˜ao: Gram´aticas Livres de Contexto Adaptativas

No esp´ırito da discuss˜ao anterior, n´os pesquisamos os requisitos m´ınimos para que uma gram´atica adaptativa ainda possua poder computacional m´aximo; nesta pesqui- sa, conseguimos provar que, com um projeto cuidadoso das fun¸c˜oes adaptativas, basta requerer apenas um conjunto de produ¸c˜oes livres de contexto para a gram´atica adaptativa; mais ainda, as fun¸c˜oes adaptativas n˜ao requerem vari´aveis, nem ger- adores, e tamb´em n˜ao ´e requerido gerar novas produ¸c˜oes. O ´unico parˆametro re- querido ´e uma produ¸c˜ao, mas esse parˆametro pode ser tornado impl´ıcito, sobrecar- regando a nota¸c˜ao das produ¸c˜oes numa forma que ´e compat´ıvel com a nota¸c˜ao usada em Neto[5] e Iwai[1].

Todas estas carater´ısticas representam uma grande simplifica¸c˜ao do modelo original introduzido em Iwai[1]; exploramos essa simplifica¸c˜ao em uma ferramenta que serve como plataforma para especifica¸c˜ao completa de linguagens usando os dis- positivos gramaticais estudados nesta tese; essa ferramenta ´e apresentado no cap´ıtulo 4 deste trabalho.

1.7

Estrutura desta tese

A estrutura desta tese ´e apresentada a seguir.

Cap´ıtulo 2 - Gram´aticas com mecanismos de controle

Apresenta quatro dispositivos recursivamente enumer´aveis baseados em gram´aticas livres de contexto: gram´aticas livres de contexto matriciais; gram´aticas livres de contexto periodicamente variantes no tempo; gram´aticas livres de contexto progra- madas e gram´aticas livres de contexto com conjunto de controle regular.

O funcionamento desses dispositivos ´e ilustrado com diversos exemplos e seu poder computacional ´e caraterizado atrav´es de teoremas que os mostram equiv- alentes a gram´aticas de tipo zero, na hierarquia de Chomsky. O objetivo deste

cap´ıtulo ´e proporcionar um substrato te´orico para a proposta de um dispositivo gram´atical adaptativo, baseado em gram´aticas livres de contexto, que identifica a classe das linguagens recursivamente enumer´aveis, apresentado no cap´ıtulo 3. Cap´ıtulo 3 - Gram´aticas livres de contexto adaptativas

Neste cap´ıtulo s˜ao apresentadas as gram´aticas livres de contexto adaptativas como nossa proposta de dispositivos gram´aticais adaptativos, baseados em gram´aticas livres de contexto que identificam a classe das linguagens recursivamente enumer´aveis. Para fins de compara¸c˜ao, este cap´ıtulo come¸ca apresentando, em uma nota¸c˜ao mais econˆomica do que a original, o conceito da gram´atica adaptativa conforme original- mente desenvolvido, e, a seguir, prova-se que o formalismo proposto nesta tese iden- tifica a classe das linguagens recursivamente enumer´aveis demonstrando, em forma construtiva, a equivalˆencia desse formalismo com os quatro formalismos estudados no cap´ıtulo 2.

O cap´ıtulo termina ilustrando o m´etodo das provas mencionadas no paragrafo anterior apresentando, as correspondentes gram´aticas livres de contexto adaptativas que simulam as gram´aticas controladas dos exemplos do cap´ıtulo 2.

Cap´ıtulo 4 - Analisadores para gram´aticas controladas

Neste cap´ıtulo ´e estudado o problema de analisar linguanges dependentes de contexto geradas pelos dispositivos gram´aticais estudados no cap´ıtulos 2 e pelas gram´aticas livres de contexto adaptativas, estudadas no cap´ıtulo 3. Fazendo-se uso da equivalˆencia entres esses cinco dispositvos, provada no cap´ıtulo 3, o problema ´e reducido ao caso de obter analisadores para linguagens geradas por gram´aticas livres de contexto com linguagem de controle regular. S˜ao apresentados dois analisadores para essa linguagens.

O primeiro ´e um analisador ascendente, que opera em forma n˜ao determin´ıstica; esse analisador usa como infraestrutura um autˆomato pilha[30]; que ´e obtido por uma especializa¸c˜ao do algoritmo wirth2ape, que transforma express˜oes de Wirth em autˆomatos de pilha estruturados[29]; especificamente a constru¸c˜ao aproveita o fato ue o algoritmo wirth2ape, quando alimentado com express˜oes regulares produz como sa´ıda um autˆomato finito. Neste caso a express˜ao regular ´e a que controla as deriva¸c˜oes das palavras da linguagem gerada pela gram´atica livre de contexto com linguagem de controle regular. Foram tamb´em desenvolvidos dois algoritmos para eliminar transi¸c˜oes-λ do autˆomato finito.

O segundo ´e uma analisador descendente, determin´ıstico, baseado em um autˆomato adaptativo mas sua constru¸c˜ao est´a limitada ao caso de gram´aticas livres

1.7. ESTRUTURA DESTA TESE 33 de contexto com linguagem de controle regular, nas quais as produ¸c˜oes s˜ao tais que o unico n˜ao-terminal que produz uma seq¨uˆencia de n˜ao-terminais ´e o s´ımbolo inicial da gram´atica.

Cap´ıtulo 5 - Contribui¸c˜oes e temas para futuras pesquisas

Enumera os resultados obtidos com o desenvolvimento desta tese. Este cap´ıtulo tamb´em identifica trabalhos futuros que podem ser desenvolvidos pelo aprofunda- mento das pesquisas correspondentes a alguns dos assuntos desenvolvidos nesta tese. Apˆendice A

Apresenta alguns resultados gerais de linguagens formais, que s˜ao requesitos para a compreens˜ao do cap´ıtulo 2 desta tese.

Referˆencias bibliogr´aficas

Cap´ıtulo 2

Gram´aticas com mecanismos de

controle

Neste cap´ıtulo estudamos quatro dispositivos gramaticais, com o mesmo poder computacional de m´aquina de Turing, baseados em gram´aticas livres de contexto. Esses dispositivos s˜ao denominados: gram´atcas livres de contexto matriciais[13],

gram´atcas livres de contexto periodicamente variantes no tempo[15], gram´atcas livres

de contexto programadas[14]e gram´atcas livres de contexto com linguagem de controle regular[50], [51], [52], [49].Em cada caso, o poder computacional das gram´aticas livres de contexto ´e expandido impondo restri¸c˜oes sobre a seq¨uˆencia de produ¸c˜oes que po- dem ser aplicadas numa deriva¸c˜ao e introduzindo uma forma nova de aplicar uma produ¸c˜ao. Essas restri¸c˜oes s˜ao denominadas, em geral, mecanismo de controle, e a nova no¸c˜ao de aplica¸c˜ao ´e chamada modo de verifica¸c˜ao de aparˆencia[49]. O modo de verifica¸c˜ao de aparˆencia permite fazer “mais um passo” numa deriva¸c˜ao sem alterar a forma sentencial sob considera¸c˜ao. Se o mecanismo de controle ´e um conjunto de matrizes, ent˜ao as produ¸c˜oes numa mesma matriz s˜ao aplicadas “ao mesmo tempo”. Quando o mecanismo de controle ´e uma fun¸c˜ao peri´odica variante no tempo, ent˜ao, a cada passo de uma deriva¸c˜ao, essa fun¸c˜ao peri´odica especifica quais produ¸c˜oes s˜ao aplic´aveis. Se o mecanismo de controle ´e uma linguagem regular, ent˜ao a con- catena¸c˜ao das produ¸c˜oes aplicadas numa deriva¸c˜ao deve corresponder a uma palavra dessa linguagem regular. Esses primeiros tipos de gram´aticas com mecanismo de controle separam o conjunto P das produ¸c˜oes em dois subconjuntos: as que po- dem ser aplicadas em modo de verifica¸c˜ao de aparˆencia, agrupadas no conjunto F ⊂ P , e as que s˜ao aplicadas usando “o modo” usual de aplica¸c˜ao de produ¸c˜ao nas gram´aticas da hierarquia de Chomsky, agrupadas na diferen¸ca dos conjuntos P e F , denotada P \F . J´a no caso das gram´aticas programadas, uma mesma produ¸c˜ao pode ser aplicada “nos dois modos”, e, dependendo de qual modo foi usado, o conjunto de produ¸c˜oes dispon´ıveis para o pr´oximo passo fica determinado por uma de duas

fun¸c˜oes: a fun¸c˜ao sucesso para o modo das gram´aticas na hierarquia de Chomsky e a fun¸c˜ao falha para o modo de verifica¸c˜ao de aparˆencia. A maioria das demonstra¸c˜oes

dos resultados deste cap´ıtulo usa um m´etodo construtivo para simular um disposi- tivo gramatical com outro; inclu´ımos essas demonstra¸c˜oes pois elas serviram como base para as demonstra¸c˜oes apresentadas no pr´oximo cap´ıtulo, no qual provamos a equivalˆencia de todos os dispositivos apresentados neste cap´ıtulo com as gram´aticas livres de contexto adaptativas com verifica¸c˜ao de aparˆencia.

Este cap´ıtulo segue de perto as se¸c˜oes 3, 4, 5 e 6 do cap´ıtulo V, da parte II, do livro Formal Languages, escrito por Salomaa[2] e representa uma simplifica¸c˜ao sobre o original; Essa simplifica¸c˜ao foi obtida assumindo, como hip´otese, que pode- mos diferen¸car todas as produ¸c˜oes das gram´aticas consideradas nos mecanismos de controle. Isto quer dizer que, mesmo que uma produ¸c˜ao apare¸ca duas vezes (em

duas matrizes, por exemplo), consideramos cada ocorrˆencia da produ¸c˜ao como uma produ¸c˜ao diferente; o texto original n˜ao faz essa simplifica¸c˜ao e assim, em cada demonstra¸c˜ao, s˜ao inclu´ıdas constru¸c˜oes adicionais para levar em conta as v´arias ocorrˆencias de uma mesma produ¸c˜ao; essas constru¸c˜oes adicionais obscurecem o m´etodo central das demonstra¸c˜oes. Acreditamos que nossa simplifca¸c˜ao preserva a essˆencia desse m´etodo, mas o leitor interessado em conhecer os resultados em sua forma mais geral deve recorrer `a referˆencia citada. Como temos atualizado a nota¸c˜ao original, nossa vers˜ao dos resultados pode servir como um roteiro para esse fim.

Foram acrescentados exemplos para ilustrar as constru¸c˜oes utilizadas para demonstrar os principais resultados apresentados no cap´ıtulo. Em particular, de- senvolvemos uma nota¸c˜ao gr´afica para gram´aticas com conjunto de controle regular, que foi a base do trabalho que apresentamos na conferˆencia CIAA2003[5], e que uti- lizamos no cap´ıtulo 4 para obter analisadores dependentes de contexto. Algumas demonstra¸c˜oes foram complementadas e outras foram totalmente reescritas. No resumo do cap´ıtulo, ressaltamos esses acr´escimos e modifica¸c˜oes.

2.1. GRAM ´ATICAS MATRICIAIS 37

2.1

Gram´aticas Matriciais

Gram´aticas matriciais[13], s˜ao baseadas em gram´aticas de tipo i, 0 ≤ i ≤ 3, segundo a hieraquia de Chomsky, e suas produ¸c˜oes s˜ao aplicadas em grupos; esses grupos s˜ao denominados de “matrizes”e as produ¸c˜oes numa matriz s˜ao aplicadas numa forma sentencial, de esquerda `a direita, segundo a ordem em que aparecem na matriz, considerada como “matrizes-linha”. Nesta se¸c˜ao definem-se os conceitos b´asicos das gram´aticas matriciais, s˜ao apresentados alguns exemplos, define-se uma nota¸c˜ao para o caso espec´ıfico das gram´aticas matriciais baseadas em gram´aticas livres de contexto, ´e definido o conceito de aplica¸c˜ao de produ¸c˜ao em modo de verifica¸c˜ao de aparˆencia, que permite aplicar mais um passo numa deriva¸c˜ao quando nenhuma produ¸c˜ao ´e aplic´avel no sentindo da hierarquia de Chomsky, e estuda-se uma no¸c˜ao

de deriva¸c˜ao mais `a esquerda, que permite caracterizar as linguagens dependentes

de contexto que n˜ao cont´em a palavra vazia.