m (LALR(1) Example 1 moved to Bottom-Up Parsing/LALR(1) Example 1) |
|||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | Consider the following grammar | + | Consider the following grammar ('''A''' is the start symbol): |
− | + | A → C x A | ε | |
− | A | + | B → x C y | x C |
− | B | + | C → x B x | z |
− | C | ||
− | |||
# Build the LALR(1) parser table. If conflicts exist, assume YACC's behavior. | # Build the LALR(1) parser table. If conflicts exist, assume YACC's behavior. | ||
Line 11: | Line 9: | ||
# 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'''. | ||
− | * [ | + | * [https://www.hlt.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: | + | [[category:Compiladores]] |
− | [[category: | + | [[category:Ensino]] |
Consider the following grammar (A is the start symbol):
A → C x A | ε B → x C y | x C C → x B x | z