|  |     | 
| Line 1: | Line 1: | 
|  | {{TOCright}}
 |  | #REDIRECT [[ist:Top-Down Parsing/Exercise 8]] | 
|  | = 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:
 |  | 
|  |   |  | 
|  |  A -> B C x | D C y
 |  | 
|  |  B -> z | A z
 |  | 
|  |  C -> z
 |  | 
|  |  D -> A y | B y
 |  | 
|  |   |  | 
|  | # 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 '''<tt>zzxyzy</tt>''' input sequence. |  | 
|  |   |  | 
|  | == Solution ==
 |  | 
|  |   |  | 
|  | [[category:Compiladores]] |  | 
|  | [[category:Ensino]]
 |  |