Is this grammar LL(1)?
I would do it the following way:

First remove the Z production:

X-&gt; Yc | dY | Y


and leave the others intact. Now you still have the First/First conflict, but you don't need to descent to the epsilon.

Next step, introduce a new symbol Y' for deciding wether to read a c or not.

 X-&gt; YY' | dY
 Y' -&gt; c | epsilon
 Y -&gt; ab|cX


now you have a first/follow conflict. How to solve that:

Let's take a look at the produced language(Assuming X is the Start symbol) and transform the grammar:

L(G) = abc or c^n ab d ab..

X-> cX| ab |abY |dX

this should be LL(1).