Consider the following languages:L1= {0n1n n ≥ 0}L2= {wcwr w&epsil...
Given,
L1 = {0n1n ∣ n ≥ 0}
Languages L1 contains all strings in which n0's are followed by n1's.
Deterministic PDA can be constructed to accept L1. For 0's we can push it on stack and for 1's, we can pop from stack. So, it is DCFL.
L2 = {wcwr ∣ wε{a, b}∗}
L2 contains all strings of form wcwr where w is a string of a's and b's and wr is reverse of w.
For example, aabbcbbaa. To accept this language, we can construct PDA which will push all symbols on stack before c.
After c, if symbol on input string matches with symbol on stack, it is popped.
So, L2 can also be accepted with deterministic PDA, thus, it is also DCFL.
L3 = {wwr ∣ wε{a, b}∗}
L3 contains all strings of form wwr where w is a string of a's and b's and wr is reverse of w.
But we don't know where w ends and wr starts. For example, aabbaa is a string corresponding to L3. For first a, we will push it on stack.
Next a can be either part of w or wr where w = a.
Therefore, there can be multiple moves from a state on an input symbol.
So, only non-deterministic PDA can be used to accept this type of language.
So, it is NCFL, not DCFL.
Thus, all three languages are deterministic context-free languages.
Hence, the correct option is (D).