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:
S | -> | i S | i S e S | x |
- 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.
Resoluções
Soluções disponíveis no wiki da disciplina.