...
GATE 2008
March 14, 2025
GATE 2008
March 14, 2025
GATE 2008
March 14, 2025
GATE 2008
March 14, 2025

GATE 2008

Question 50

Which of the following statements are true?

    I. Every left-recursive grammar can be converted to a
    right-recursive grammar and vice-versa
    II. All \epsilon productions can be removed from any context-free
    grammar by suitable transformations
    III. The language generated by a context-free grammar all of whose
    productions are of the form X → w or X → wY (where, w is a string of
    terminals and Y is a non-terminal), is always regular
    IV. The derivation trees of strings generated by a context-free grammar
    in Chomsky Normal Form are always binary trees
A
I, II, III and IV
B
II, III and IV only
C
I, III and IV only
D
I, II and IV only
Question 50 Explanation: 
Every left recursive grammar can be converted to a right-recursive grammar and vice-versa, the conversion of a left recursive grammar into right recursive is also known as eliminating left recursion from the grammar.
Statement III is also true, as this is the standard definition of regular grammar (TYPE 3 grammar).
Statement IV is also true, as in CNF the only productions allowed are of type:
A-> BC
A-> a // where “a” is any terminal and B, C are any variables.
When we draw the parse tree for the grammar in CNF, it will always have at most two childs in every step, so it always results binary tree.
But statement II is false, as if the language contains empty string then we cannot remove every epsilon production from the CFG, since at least one production (mainly S → ϵ) must be there in order to derive empty string in language.
Correct Answer: C
Question 50 Explanation: 
Every left recursive grammar can be converted to a right-recursive grammar and vice-versa, the conversion of a left recursive grammar into right recursive is also known as eliminating left recursion from the grammar.
Statement III is also true, as this is the standard definition of regular grammar (TYPE 3 grammar).
Statement IV is also true, as in CNF the only productions allowed are of type:
A-> BC
A-> a // where “a” is any terminal and B, C are any variables.
When we draw the parse tree for the grammar in CNF, it will always have at most two childs in every step, so it always results binary tree.
But statement II is false, as if the language contains empty string then we cannot remove every epsilon production from the CFG, since at least one production (mainly S → ϵ) must be there in order to derive empty string in language.

Leave a Reply

Your email address will not be published. Required fields are marked *