Академический Документы
Профессиональный Документы
Культура Документы
number - number
A derivação mais a esquerda (top-down) corresponde a pré-
Derivações podem variar, até mesmo ordem da árvore sintática.
quando a árvore sintatica não existe: A derivação mais a direita (bottom-up) corresponde a arvore
sintática em pós-order.
Derivação mais a esquerda (Slide 8 era Analisadores Sintáticos Top-down constroem derivações da
mais direita): árvore mais a esquerda.
(1) exp ⇒ exp op exp [exp → exp op exp] (LL = varredura (Esquerda para Direita) Left-to-right das
(2) ⇒ (exp) op exp [exp → ( exp )] entradas e constrói uma derivação mais a (Leftmost)
(3) ⇒ (exp op exp) op exp [exp → exp op exp] esquerda)
(4) ⇒ (number op exp) op exp [exp → number]
Analisadores Sintáticos Bottom-up constroem derivações mais a
(5) ⇒ (number - exp) op exp [op → -]
direita em ordem reversa.
(6) ⇒ (number - number) op exp [exp → number]
(7) ⇒ (number - number) * exp [op → *] (LR = varredura (esquerda para direita) Left-to-right da cadeia
(8) ⇒ (number - number) * number [exp → number] de entrada e constrói uma derivação mais a direita
(Rightmost))
addop → + | - A x
y
mulop → *
z Recursão a direita: A → x A | y
factor → ( exp ) | number – xxy:
A
x A
Precedência “cascata”
x A
y
Repetição & Recursão, cont. Árvores Sintáticas Abstratas
z Algumas vezes temos que tomar cuidado
z Representar a estrutura essencial da árvore
com o caminho que a operação segue:
somente
operador de associatividade
z Omissão de parênteses, cascatas, e
z Algumas vezes não é necessário:
“descuidos” com associatividade repetitiva
seqüências de declarações e expressões
z Corresponde a árvore interna atual
z Análise sintática permite escolher um
produzida pelo analisador sintático
maneira
z Uso de listas de irmãos para não se
z A árvore pode remover estas informações.
preocupar com repetições: s1 --- s2 --- s3
factor
>
> number