Tópicos
Análise sintáctica ascendente LALR(1). Lookaheads. Items LR(1).
Exercício 1
Considere a gramática seguinte:
S |
-> |
G
b
b |
a
a
b |
b G
a |
G |
-> |
a
|
- Calcule o conjunto de estados LALR(1) da gramática. Identifique a tabela de análise LALR(1) correspondente.
- Mostre os movimentos do analisador sintáctico para a entrada
baaabb (em caso de conflito, assumir o comportamento do YACC).
- A gramática é SLR(1)? Justifique.
Exercício 2
Considere a gramática seguinte:
E |
-> |
[ E
; L
] |
id |
L |
-> |
E | E
; L |
- Calcule o conjunto de estados LALR(1) da gramática. Identifique a tabela de análise LALR(1) correspondente.
- Mostre os movimentos do analisador sintáctico para a entrada
[ id ; id ; id ] (em caso de conflito, assumir o comportamento do YACC).
- A gramática é LL(1)? Justifique.
Exercício 3
Considere a gramática seguinte:
- Calcule o conjunto de estados LALR(1) da gramática. Identifique a tabela de análise LALR(1) correspondente.
- Compacte a tabela de análise que obteve, eliminando as reduções unitárias e quase unitárias, bem como propagar as reduções que permitam compactar a tabela.
- Mostre os movimentos do analisador sintáctico para a entrada
ixixex (em caso de conflito, assumir o comportamento do YACC).
- A gramática é SLR(1)? Justifique.
Soluções
Soluções disponíveis no
wiki da disciplina.