Análise ascendente SLR(1)

 

  1. Considere a gramática seguinte:
    E->? T  : E | T
    T-># T  id |  id

    onde  ?:# e  id são símbolos terminais.

    1. Construa a gramática aumentada G', obtida a partir da gramática G. Determine os conjuntos FIRST e FOLLOW da gramática G'.
    2. Construa os estados do analisador SLR(1) explicitando por extenso a lista de configurações de cada estado. Construa a tabela de análise SLR(1) da gramática.  Nota: existem 11 estados.
    3. 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.
    4. Realize a análise da sequência  id ? # id id : id indicando o conteúdo da pilha, da sequência de entrada e as acções efectuadas em cada passo.
  2. Considere a gramática seguinte:
    S->B B
    B->d E
    E->d E |  a
    1. Indique o conjunto de estados SLR(1) desta gramática.
    2. Construa a tabela de análise SLR(1).
    3. A gramática tem conflitos ? Justifique a sua resposta. 
      Se sim, de que tipo são ?
    4. Realize a análise da sequência  ddada, mostrando em cada passo o conteúdo da pilha, da memória de entrada e das acções utilizadas.
  3. Considere a gramática seguinte:
    S->a A  b | B  b B  a
    A->ø
    B->ø

    Demonstre que esta gramática é LL(1), mas não LR(0).

Nota:ø representra a produção nula.