Bottom-Up Parsing/LALR(1) Example 1: Difference between revisions
From Wiki**3
< Bottom-Up Parsing
No edit summary |
No edit summary |
||
Line 11: | Line 11: | ||
# Show the stack and input states, as well as the parser actions, for the sequence '''xxzxx'''. | # Show the stack and input states, as well as the parser actions, for the sequence '''xxzxx'''. | ||
* [http://www.l2f.inesc-id.pt/~david/ist/docencia/compiladores/2007-2008/lalr-ex-1.pdf Solution] | * [http://www.l2f.inesc-id.pt/~david/ist/docencia/compiladores/2007-2008/lalr-ex-1.pdf Solution]<br/>There is a "bug" in this solution: in the compacted table, L3 in state 10 should be in the column corresponding to '''y''' (corresponding to the shift to state 11 in the uncompacted table). | ||
[[category:Compilers]] | [[category:Compilers]] | ||
[[category:IST]] | [[category:IST]] |
Revision as of 12:50, 28 June 2008
Consider the following grammar. <text> A -> C x A | ε B -> x C y | x C C -> x B x | z </text>
- Build the LALR(1) parser table. If conflicts exist, assume YACC's behavior.
- Show the differences to LR(0) and SLR(1) parsers.
- Compact the parse table, eliminating and propagating reductions.
- Show the stack and input states, as well as the parser actions, for the sequence xxzxx.
- Solution
There is a "bug" in this solution: in the compacted table, L3 in state 10 should be in the column corresponding to y (corresponding to the shift to state 11 in the uncompacted table).