- Type
- Quiz
- Course
- CS606 Compiler Construction
- Size
- PDF 28 KB
- Updated
- 23 Oct 2026
You get 3 free files a day on the website. Add the Chrome extensionSign in with the extension for 30 a day.
Preview text
Text from pages 1, 2 of 2. Download the file for all 2 pages.
Lecture 19
LL(1) Table Construction
Here now is the algorithm to construct a predictive parsing table.
- For each production A ? α
- for each terminal a in FIRST(α), add A ? α to M[A,a].
- If ε is in FIRST(α), add A ? α to M[A ,b] for each terminal b in FOLLOW(A ). If ε is in FIRST(α), and $ is in FOLLOW(A ), add A ? α to M[A ,$].
- Make each undefined entry of M be error.
Let us apply the algorithm to the expression grammar. Since FIRST(TE ') = FIRST(T ) = { (, id }, the production E ? TE' cause M[E,(] and M[E,id] to get E ? TE'. The production E' ? +TE' causes M[E',+] to get E' ? +TE'. The production E' ? ε causes M[E',)] and M[E',$] to get E' ? ε since FOLLOW (E' ) = { ), $ }. And so on. The final parsing table produced is:
id E E ? TE' E ? TE'
E'
E' ? +TE' E' ? ε E' ? ε
T T ? FT' T ? FT'
T'
T' ? ε T ? *FT' T' ? ε T' ? ε F F ? id F ? (E )
Left Factoring
Consider the grammar
E ? T + E | T T ? int | int∗ T | (E)
It is impossible to predict because for T, two productions start with int. For E, it is not clear how to predict; the two productions start with the non-terminal T. A grammar must be left factored before use for predictive parsing. The procedure to left-factor a grammar is as follows: If α ≠ ε, replace all productions
A ? αβ1 | αβ2 | .... | αβn | γ with A ? α Z | γ Z ? β 1| β2| .... | β n
where Z is a new non-terminal
A graphical explanation:
Example: consider following fragment of expression grammar
Factor ?
id id [ ExprList ] id ( ExprList )
After left factoring, the grammar becomes
Factor ? id Args Args ? [ ExprList ] | ( ExprList ) | ε
Given a CFG that does not meet the LL(1) condition, it is undecidable whether or not an equivalent LL(1) grammar exists. A αβ2 αβ1
αβ3 β 2 β 1
β 3 αZ A
Related CS606 files
All CS606 files →Get more out of VUBuddy, for free
- Unlimited downloads
- The explanation behind every MCQ answer
- Study offline on slow data
- 30 downloads a day instead of 3
- Sign in and buy Pro Semester here
One Pro Semester membership works in both the extension and the app.