Top-Down Parsing/Exercise 6: Difference between revisions
From Wiki**3
< Top-Down Parsing
(Created page with "{{TOCright}} = Problem = Consider the following grammar, where '''<tt>F</tt>''' is the initial symbol and '''<tt>{a,b,c,d,e}</tt>''' is the set of terminal symbols: F -> G b |...") |
|||
Line 13: | Line 13: | ||
== Solution == | == Solution == | ||
=== Semantic tree and dependency graph === | |||
"x" is an inherited attribute (propagation in blue); "val" is a synthesized attribute (propagration in red). | |||
Temporary handwritten solution. | |||
[[Image:Top-Down Parsing/Exercise 6.png]] | |||
=== Attribute grammar using only synthesized attributes === | |||
[[category:Teaching]] | [[category:Teaching]] | ||
[[category:Compilers]] | [[category:Compilers]] |
Revision as of 18:11, 24 March 2012
Problem
Consider the following grammar, where F is the initial symbol and {a,b,c,d,e} is the set of terminal symbols:
F -> G b | O c F e O -> a G -> F c | O c d | (eps)
- Examine the grammar and rewrite it so that an LL(1) predictive parser can be built for the corresponding language.
- Compute the FIRST and FOLLOW sets for all non-terminal symbols in the new grammar and build the parse table.
- Show the analysis table (stack, input, and actions) for the parsing process of the acbe input sequence.
Solution
Semantic tree and dependency graph
"x" is an inherited attribute (propagation in blue); "val" is a synthesized attribute (propagration in red).
Temporary handwritten solution.
File:Top-Down Parsing/Exercise 6.png