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.
Please Login to comment...