Bottom-Up Parsing/Example 5: LALR(1): Difference between revisions

From Wiki**3

< Bottom-Up Parsing
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{TOCright}}
#REDIRECT [[ist:Bottom-Up Parsing/Example 5: LALR(1)]]
== Problem ==
 
Consider the following grammar. '''C''' is the start symbold and '''{ w, x, y, z }''' is the set of terminal symbols.
 
::::::A → y | ε
::::::B → C x | x A
::::::C → D x B | A w
::::::D → w | 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 x x y'''. Em caso de conflitos, assuma o comportamento da ferramenta YACC.
 
== Solution ==
 
* [[Media:co12-2012060603.pdf|solution (draft)]]
 
[[category:Teaching]]
[[category:Compilers]]

Latest revision as of 18:04, 6 December 2018