Compiladores

4177 palavras 17 páginas
COMPILADORES

3. ANÁLISE SINTÁTICA
INTRODUÇÃO Toda linguagem de programação tem regras que descrevem sua estrutura sintática (ou sintaxe). A sintaxe de uma LP pode ser descrita por uma gramática livre de contexto1 ou pela notação BNF. O uso de gramáticas traz vantagens para projetistas de linguagens e escritores de compiladores pelas seguintes razões:








uma gramática dá uma especificação sintática precisa de uma LP (embora talvez menos clara que a notação BNF); para certas classes de gramáticas, pode-se automatizar o processo de construção do analisador sintático e o gerador automático pode revelar certas ambigüidades sintáticas da LP difíceis de serem detectadas pelo escritor do compilador; uma gramática bem projetada dá estrutura à uma LP, o que facilita a compilação e a detecção de erros de programas fonte; e novas construções sintáticas que surgem com a evolução de uma LP podem ser incorporadas mais facilmente à linguagem se seu compilador tem uma implementação baseada em uma descrição gramatical.

1Gramática

livre de contexto é aquela que tem regras do tipo A ::= α, com A ∈ VN e α ∈ V

*

© UFCG / DSC / PSN, 2005 – Parte 3: Análise Sintática – Pág. 1

COMPILADORES Dada uma gramática G(S), verificar se uma dada sentença w pertence ou não à L(G) é verificar se S =>+ w para alguma seqüência de derivação S => w1 => w2 => ... => wn => w (em outra palavras, é obter uma árvore de derivação sintática (ADS) para w). Nesse sentido, o analisador sintático de um compilador nada mais é do que um construtor de ADS. Quando ele consegue construir uma ADS para uma sentença w (um programa), dizemos que w está sintaticamente correta. Em caso contrário, dizemos que w está sintaticamente incorreta. Os analisadores sintáticos podem ser classificados basicamente em dois grupos: descendentes e ascendentes.

© UFCG / DSC / PSN, 2005 – Parte 3: Análise Sintática – Pág. 2

COMPILADORES Um analisador sintático descendente tenta construir a ADS para

Relacionados

  • Compiladores
    568 palavras | 3 páginas
  • Compiladores
    2425 palavras | 10 páginas
  • Compiladores
    970 palavras | 4 páginas
  • Compiladores
    569 palavras | 3 páginas
  • compiladores
    780 palavras | 4 páginas
  • Compiladores
    1018 palavras | 5 páginas
  • Compiladores
    1037 palavras | 5 páginas
  • compiladores
    1300 palavras | 6 páginas
  • Compiladores
    9795 palavras | 40 páginas
  • compiladores
    17995 palavras | 72 páginas