Question:medium

Consider the following context-free grammar where the set of terminals is \(\{a,b,c,d,f\}\): 
\[ S \rightarrow daT \mid Rf \] \[ T \rightarrow aS \mid baT \mid \epsilon \] \[ R \rightarrow caTR \mid \epsilon \] The following is a partially-filled LL(1) parsing table. 

Which one of the following choices represents the correct combination for the numbered cells in the parsing table ("blank" denotes that the corresponding cell is empty)? 

Show Hint

For LL(1) parsing tables, use FIRST sets to place productions, and when \(\epsilon\) occurs, use FOLLOW sets to complete the table.
Updated On: Jan 30, 2026
  • A
  • B
  • C
  • D
Show Solution

The Correct Option is A

Solution and Explanation

Step 1: Compute FIRST sets.

FIRST(S) = { d, c, f }
FIRST(T) = { a, b, ε }
FIRST(R) = { c, ε }


Step 2: Compute FOLLOW sets.

From the given grammar productions:

FOLLOW(S) = { $, f }
FOLLOW(T) = { c, f, $ }
FOLLOW(R) = { f }


Step 3: Construct the LL(1) parsing table.

For production S → Rf:
FIRST(Rf) = { c, f }

Therefore, the parsing table entries under terminals c and f will contain the production S → Rf.

Hence:
① = S → Rf
② = S → Rf

For production T → ε:
Since ε ∈ FIRST(T), this production is placed in all columns corresponding to FOLLOW(T).

FOLLOW(T) = { c, f, $ }

Thus:
③ = T → ε
④ = T → ε


Final Conclusion:
All numbered entries in the LL(1) parsing table are correctly filled as described in option (A).

Was this answer helpful?
0