compiladores

520 palavras 3 páginas
Compiladores

2 Formas de Validação
Top-down ou Descendente
Analisadores
Sintáticos
Botton-up ou Ascendente

Exemplo:

Dada a expressão: (v+v)*v e considerando as gramáticas:
1 E → E + E
2 E → E * E
3 E → (E)
4 E → V

Para verificar se a expressão pode ser produzida utilizando a validação descendente, fazemos assim:
E → E * E (2)
E → (E) * E (3)
E → (E + E) * E (1)
E → (V + E) *E (4)
E → (V + V) *E (4)
E → (V + V) * V (4)

Então a sequencia de utilização das produções é: 2,3,1,4,4,4
Mas são possíveis outras sequencias como:

a) 2, 3, 4, 1, 4, 4 E → E * E (2)
E → (E) * E (3)
E → (E) * V (4)
E → (E + E) * V (1)
E → (V + E) *V (4)
E → (V + V) * V (4)

b) 2, 4, 3, 1, 4, 4, E → E * E (2)
E → E * V (4)
E → (E) * V (3)
E → (E + E) * V (1)
E → (V + E) *V (4)
E → (V + V) * V (4)

Botton-up:

(V + V) * V ← (E + V) * V (4) ← (V + E) *V (4) ← (E + E) * V (1) ← (E) * V (3) ← E * V (4) ← E * E (2)

Também é possível montarmos as arvores sintáticas para isto, iniciamos montando sub arvores das produções, por exemplo:

E → E + E E → E * E E → (E) E → (V)

E E E E

E + E E * E ( E ) V

Então a árvore sintática da expressão (V + V) * V e:

E

E * E

( E ) V E + E

V + V

Derivação Canônica

Está relacionada à estratégia de como se pode percorrer sequencialmente os elementos da arvore.

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
    4177 palavras | 17 páginas