ISRO Computer Science (CSE) 2014 - Question 5

All ISRO Computer Science (CSE) papers | ISRO Computer Science (CSE) 2014

What is the number of steps required to derive the string `((() ()) (()))` for the following grammar?\n$S \rightarrow SS$\n$S \rightarrow (S)$\n$S \rightarrow \varepsilon$

  • A. 10
  • B. 12
  • C. 16
  • D. 15

Answer: A. 10

Explanation: We need to derive `((() ()) (()))`.\nLength of string is 14? No, string is `((()()) (()))`. It has balanced parentheses.\nDerivation: \n$S \to SS \to (S)S \to ((S))S \to ((SS))S \to ...$\nAlternatively, total steps = length of string? For this grammar, number of steps is often related to length. Let's trace:\n1. $S \to (S)$\n2. $\to (SS)$\n3. $\to ((S)S)$\n4. $\to ((S)(S))$\n5. $\to (((S)) (S))$\n6. $\to (((S)S) (S))$\n7. $\to (((S)(S)) (S))$\n8. $\to (((S)()) (S))$ (using S->epsilon)\n... This is tedious. The answer key says 10.

| | All questions of ISRO Computer Science (CSE) 2014