Open in App
Not now

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

• Last Updated : 01 Oct, 2021

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 }

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.

My Personal Notes arrow_drop_up
Related Articles