Difference between revisions of "Bottom-Up Parsing/Exercise 8: LALR(1)"

From Wiki**3

< Bottom-Up Parsing
(Solução)
Line 1: Line 1:
 
== Problema ==
 
== Problema ==
 
Consider the following grammar, where S is the initial symbol and { a, b } is the set of terminal symbols:  
 
Consider the following grammar, where S is the initial symbol and { a, b } is the set of terminal symbols:  
<text>
+
<source lang="text">
 
S -> G b b | a a b | b G a
 
S -> G b b | a a b | b G a
 
G -> a
 
G -> a
</text>
+
</source>
 
# Compute the set of LALR(1) states for the grammar. Build the corresponding LALR(1) parse table.
 
# Compute the set of LALR(1) states for the grammar. Build the corresponding LALR(1) parse table.
 
# Show the parsing process for input '''baaabb''' (including the actions/gotos and the input and stack states). In case of conflict, assume YACC's behavior.
 
# Show the parsing process for input '''baaabb''' (including the actions/gotos and the input and stack states). In case of conflict, assume YACC's behavior.

Revision as of 13:25, 12 February 2019

Problema

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

S -> G b b | a a b | b G a
G -> a
  1. Compute the set of LALR(1) states for the grammar. Build the corresponding LALR(1) parse table.
  2. Show the parsing process for input baaabb (including the actions/gotos and the input and stack states). In case of conflict, assume YACC's behavior.
  3. Is this an SLR(1) grammar? Why?

Solução

Solução completa

Sgbb.png