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

From Wiki**3

< Bottom-Up Parsing
(Created page with "== Problema == Consider the following grammar, where E is the initial symbol and { [, ], ;, id } is the set of terminal symbols: <text> E -> [ E ; L ] | id L -> E | E ; L </...")
 
(Problema)
 
(2 intermediate revisions by the same user not shown)
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:  
<text>
+
<source lang="text">
E -> [ E ; L ] | id
+
E [ E ; L ] | id
L -> E | E ; L
+
L E | E ; L
</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 '''[id;id;id]''' (including the actions/gotos and the input and stack states). In case of conflict, assume YACC's behavior.
 
# 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.
Line 11: Line 11:
  
 
== Solução ==
 
== Solução ==
 +
 +
{{CollapsedCode|Solução completa|
 +
[[image:eobesclcb.png]]
 +
}}
  
 
[[category:Compiladores]]
 
[[category:Compiladores]]
 
[[category:Ensino]]
 
[[category:Ensino]]

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