AnaliseSintatica LR Respostas
661 palavras
3 páginas
Centro Federal de Educação Tecnológica de Minas GeraisEngenharia de Computação - Compiladores – 2011 – Prof.ª Kecia Marques
Exercício - Análise sintática ascendente
As questões 4 e 5 já foram entregues em sala. Os diagramas das questões 4 e 5 (resposta) estão neste documento. A questão 5 está também como exemplo no livro.
Não é necessário entregar as demais questões. Mas sugere-se que elas sejam feitas como forma de estudo.
Outra sugestão é refazer os exemplos dados em sala.
1. Há duas abordagens de análise sintática: análise descendente e análise ascendente. Explique as diferenças entre elas.
2. Explique o que são as operações shift e reduce em um analisador sintático ascendente.
3. Em um analisador sintático LR(0), um item é da forma A → α • X β, em que X é um símbolo da gramática da linguagem. Explique o significado de um item dessa forma.
4. Considere a gramática a seguir:
1.
2.
3.
4.
E→E+T
|T
T → (E)
| id
a) Mostre o diagrama de transição com os itens LR(0) canônicos.
b) Mostre a tabela de parser LR(0).
c) A gramática é LR(0)? Justifique.
d) Mostre a execução do algoritmo de parser para as seguintes entradas: id id; id + (id + id)
S →E$
E→E+T|T
T → (E) | id
Centro Federal de Educação Tecnológica de Minas Gerais
Engenharia de Computação - Compiladores – 2011 – Prof.ª Kecia Marques
Exercício - Análise sintática ascendente
T
S → •E$
E → T•
E → •E + T
T
(
E → •T
T → (•E) id id
T → •id
E → •E + T
T → id•
T → •(E)
(
E → •T id E
+
S → E•$
E → E• + T
T → •id
(
E → E +• T
T → •(E)
T → •id
+
$
E
T → •(E)
T
S → E$•
T → (E•)
E → E• + T
E → E + T•
)
T → (E) •
Nas questões 5, 6 e 7, considere a gramática a seguir:
1. S → L = R
2. | R
3. L → *R
4. | id
5. R → L
5. Para a gramática dada:
a) Mostre o diagrama de transição do parser SLR
b) Mostre a tabela de parser SLR
c) A gramática é SLR? Justifique. Não. A tabela do parser SLR construída no item (b) possui conflito shift-reduce no estado 3.
Centro Federal de Educação Tecnológica de Minas