|
|
(3 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
| {{TOCright}}
| | #REDIRECT [[ist:Bottom-Up Parsing/Example 6: LALR(1)]] |
| == Problema ==
| |
| | |
| Considere a seguinte gramática, onde '''A''' é o símbolo inicial e '''{ w, x, y, z }''' é o conjunto de símbolos terminais.
| |
| | |
| ::::::H → A | B | w
| |
| ::::::A → B x | z H y
| |
| ::::::B → A x | y H z
| |
| | |
| # Construa a tabela de análise para um analisador sintáctico ascendente LALR(1) para esta gramática, indicando o conjunto de estados do analisador e os símbolos de antevisão. A gramática é SLR(1)? Justifique. | |
| # Tal como apresentada, a gramática pode ser processada por um analisador LL(1)? Justifique.
| |
| # Compacte a tabela de análise (de 1.), eliminando reduções unitárias e quase unitárias, bem como propagando reduções que permitam compactar a tabela.
| |
| # Apresente a tabela com o conteúdo da pilha do analisador, a entrada e a acção realizada em cada passo da análise, para a sequência de entrada '''z y w z y'''. Em caso de conflitos, assuma o comportamento da ferramenta YACC.
| |
| | |
| == Solution ==
| |
| | |
| * [[image:co15-2015061903a.jpg|solution (draft)]]
| |
| | |
| [[category:Compiladores]]
| |
| [[category:Ensino]]
| |