I need to find a context-sensitive grammar for the copy language $L = \{ww \; | w \in \{0,1\}^* \}$
This is what I got so far:
$\begin{eqnarray} S & \Rightarrow & \lambda \; | \; X \\ X & \Rightarrow & 0XA \; | \; 1XB \\ XB & \Rightarrow & CX \\ XA & \Rightarrow & DX \\ CX & \Rightarrow & X0 \\ DX & \Rightarrow & X1 \\ 0X & \Rightarrow & 0 \\ 1X & \Rightarrow & 1 \end{eqnarray}$
This works fine for 0101 but fails even for 00 or 11.
Could you please help me to find a solution?
Thanks in advance!