GATE | GATE-CS-2017 (Set 1) | Question 34

Consider the following context-free grammar over the alphabet ∑ = {a, b, c} with S as the start symbol:

S → abScT | abcT
T → bT | b

Which of the following represents the language generated by the above grammar?
(A) {(ab)n(cb)n | n >= 1 }
(B) {(abncbm1cbm2…cbmn | n, m1, m2, ….., mn >= 1 }
(C) {(ab)n(cbm)n | n >= 1 }
(D) {(ab)n(cbn)m | m, n >= 1 }


Answer: (B)

Explanation: Let’s generate a string from given grammar :

S → abScT
→ ab abScT cT
→ abab abcT cTcT
→ abababc bT cTcT
→ abababcb bT cTcT
→ abababcbb bT cTcT
→ abababcbbbb cTcT
→ abababcbbbbc b cT
→ abababcbbbbcbc bT
→ abababcbbbbcbcbb

This string can rule out all wrong options. Now let’s try to analyse this string.

→ abababcbbbbcbcbb



→ {(abncbm1cbm2…cbmn | n, m1, m2, ….., mn >= 1 }

We can clearly rule out option (A), (C) and (D) with help of the string generated by given grammar.

Only option (B) is correct.

Quiz of this Question

My Personal Notes arrow_drop_up