Skip to content
VUBuddy

CS606 Short Notes Lecture 19

Compiler Construction PDF 28 KBUpdated 23 Oct 2026
Quiz CS606 Short Notes Lecture 19 PDF 28 KB
vubuddy.com
Type
Quiz
Course
CS606 Compiler Construction
Size
PDF 28 KB
Updated
23 Oct 2026
Free download 0 of 3 used today
Download free · 28 KB

You get 3 free files a day on the website. Add the Chrome extension for 30 a day.

Unlimited downloads in the Android app Get it free on Google Play

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.

  1. For each production A ? α
  2. for each terminal a in FIRST(α), add A ? α to M[A,a].
  3. 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 ,$].
  4. 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

All CS606 files →
CS606 Compiler Construction All CS606 handouts, past papers, quizzes and MCQs in one place. Open course page

Get more out of VUBuddy, for free

Android app Free on Google Play
  • Unlimited downloads
  • The explanation behind every MCQ answer
  • Study offline on slow data
Get the Android app
Chrome extension Free on the Chrome Web Store
  • 30 downloads a day instead of 3
  • Sign in and buy Pro Semester here
Add to Chrome

One Pro Semester membership works in both the extension and the app.