Bottom-Up Parsing/Exercise 12: LALR(1): Difference between revisions

From Wiki**3

< Bottom-Up Parsing
Line 12: Line 12:
== Solução ==
== Solução ==


{{CollapsedCode|Solução completa|
{{CollapsedCode|Solução completa para SLR(1)|
[[Image:Bxy.jpg|768px]]
[[Image:Bxy.jpg|768px]]
}}
{{CollapsedCode|Solução completa para LALR(1)|
[[Image:BxyLALR1.jpg|768px]]
}}
}}


[[category:Compiladores]]
[[category:Compiladores]]
[[category:Ensino]]
[[category:Ensino]]

Revision as of 14:22, 21 April 2016

Problema

Consider the following grammar, where A is the initial symbol and { x, y, z } is the set of terminal symbols: <text> A -> B x y | x y x | x B y B -> z | ε </text>

  1. Compute the set of LALR(1) states for the grammar. Build the corresponding LALR(1) parse table.
  2. Compact the parse table, eliminating and propagating reductions.
  3. Show the parsing process for input xzy (including the actions/gotos and the input and stack states). In case of conflict, assume YACC's behavior.

Solução

Solução completa para SLR(1)

Bxy.jpg

Solução completa para LALR(1)

BxyLALR1.jpg