Análise ascendente LALR(1)

 

  1. Considere a gramática seguinte:
    S->b  b |  a  a  b |  b G  a
    G->a
    1. Calcule o conjunto de estados LALR(1) da gramática. Identifique a tabela de análise LALR(1) correspondente.
    2. Mostre os movimentos do analisador sintáctico para a entrada  baaabb ( caso existam conflitos assuma o comportamento do  yacc ).
    3. A gramática é SLR(1) ? Justifique a sua resposta.
  2. Considere a gramática seguinte:
    E->[ E  ; L  ] |  id
    L->E | E  ; L
    1. Calcule o conjunto de estados LALR(1) da gramática. Identifique a tabela de análise LALR(1) correspondente.
    2. Mostre os movimentos do analisador sintáctico para a entrada  [ id ; id ; id ] ( caso existam conflitos assuma o comportamento do  yacc ).
    3. A gramática é LL(1) ? Justifique a sua resposta.
  3. Considere a gramática seguinte:
    S->i S |  i S  e S |  x | error 
    1. Calcule o conjunto de estados LALR(1) da gramática. Identifique a tabela de análise LALR(1) correspondente.
    2. 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.
    3. Mostre os movimentos do analisador sintáctico para a entrada  ixixex ( caso existam conflitos assuma o comportamento do  yacc ).
    4. A gramática é SLR(1) ? Justifique a sua resposta.