Figuring out whether LL(1) grammar has an $\varepsilon$-free variant
The solution is to simply start in a slightly different starting state before starting the main recursion:

$$
\begin{array} \\
S &amp; \rightarrow &amp; (EP\\
P &amp; \rightarrow &amp; (EP \\
  &amp; | &amp; \varepsilon \\
E &amp; \rightarrow &amp;iE \\
  &amp; | &amp;sE \\
  &amp; | &amp;nE \\
  &amp; | &amp;(EE \\
  &amp; | &amp;)
\end{array}
$$