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

From Wiki**3

< Bottom-Up Parsing
(Problema)
 
Line 1: Line 1:
 
== Problema ==
 
== Problema ==
  
Consider the following grammar, where E is the initial symbol and { [, ], ;, id } is the set of terminal symbols:  
+
Consider the following grammar, where '''E''' is the initial symbol and '''{ [, ], ;, id }''' is the set of terminal symbols:  
 
<source lang="text">
 
<source lang="text">
E -> [ E ; L ] | id
+
E [ E ; L ] | id
L -> E | E ; L
+
L E | E ; L
 
</source>
 
</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.

Latest revision as of 11:49, 2 May 2024

Problema

Consider the following grammar, where E is the initial symbol and { [, ], ;, id } is the set of terminal symbols:

E → [ E ; L ] | id
L → E | E ; L
  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 [id;id;id] (including the actions/gotos and the input and stack states). In case of conflict, assume YACC's behavior.
  3. Is this an LL(1) grammar? Why?

Solução

Solução completa

Eobesclcb.png