Bottom-Up Parsing/Exercise 17: LALR(1)

From Wiki**3

< Bottom-Up Parsing
Revision as of 15:04, 8 May 2024 by Root (talk | contribs) (Solução)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Problema

Consider the following grammar, where X is the initial symbol and { a, b, c } is the set of terminal symbols:

X → X Y c | X a | a
Y → a | b
  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 aabc (including the actions/gotos and the input and stack states). In case of conflict, assume YACC's behavior.

Solução

Note-se que a solução apresentada é para SLR(1) e LALR(1) (a vermelho -- no estado 1, tem-se $ab como lookahead).

Solução completa

XYc.jpg