Next: As gramáticas de cláusulas Up: Gramáticas Previous: A estrutura de uma

As gramáticas independentes do contexto

Existem muitas classes de gramáticas. Cada uma delas tem a sua própria notação. Uma classe familiar de gramáticas são as gramáticas independentes do contexto. As linguagens de programação são muitas vezes especificadas com estas gramáticas, geralmente usando a notação BNF (Backus-Naur Form).
O seguinte exemplo mostra uma gramática independente do contexto, na forma BNF, que aceita a frase ``o homem vira o disco'':

         <frase> ::= <sintagma_nominal> <sintagma_verbal>
         <sintagma_nominal> ::= <determinante> <nome>
         <sintagma_verbal> ::= <verbo> <sintagma_nominal>
         <determinante> ::= o
         <nome> ::= homem | disco
         <verbo> ::= vira

As palavras que podem aparecer nas frases são os símbolos terminais da gramática. Os outros símbolos, que aparecem nas regras de produção da gramática entre < e >, são os símbolos não terminais. Para o exemplo acima, os símbolos terminais são: o, homem, vira, e disco; enquanto os símbolos não terminais são: frase, sintagma_nominal, sintagma_verbal, determinante, nome e verbo.
Uma árvore de derivação é uma representação gráfica, em forma de árvore, da sequência de derivação de uma frase a partir de uma gramática independente do contexto. Essa árvore mostra a estrutura da frase e as relações hierárquicas entre as várias frases possíveis. A um programa que constrói árvores de derivação chamamos analisador sintáctico (``parser''). A seguinte figura ilustra uma árvore de derivação para uma frase simples, como ``o homem vira o disco''.



Numa árvore de derivação os nós interiores estão associados a símbolos não terminais e as folhas estão associadas a símbolos terminais.


Next: As gramáticas de cláusulas Up: Gramáticas Previous: A estrutura de uma


1999-05-26