Top-Down Parsing/Exercise 9: Difference between revisions
From Wiki**3
No edit summary |
|||
| (One intermediate revision by the same user not shown) | |||
| Line 2: | Line 2: | ||
= Problem = | = Problem = | ||
Consider the following grammar, where '''<tt>A</tt>''' is the initial symbol and '''<tt>{x, y, z}</tt>''' is the set of terminal symbols: | Consider the following grammar, where '''<tt>A</tt>''' is the initial symbol and '''<tt>{v,x,y,z}</tt>''' is the set of terminal symbols: | ||
C -> v | C -> v | ||
A -> B x | z C A y | A -> B x | z C A y | ||
B -> A v | z C w | | B -> A v | z C w | ε | ||
# Examine the grammar and rewrite it so that an LL(1) predictive parser can be built for the corresponding language. | # Examine the grammar and rewrite it so that an LL(1) predictive parser can be built for the corresponding language. | ||
Latest revision as of 12:27, 29 April 2024
Problem
Consider the following grammar, where A is the initial symbol and {v,x,y,z} is the set of terminal symbols:
C -> v A -> B x | z C A y B -> A v | z C w | ε
- 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 zvxy input sequence.