title: Stackoverflow error on android using scala parsers
body: <p>How is it possible to get a stackoverflowerror using scala parsers in Android?
  I was using this code:</p>
  
  <pre><code>val parseEApply: Parser[EApply] =
      ("EApply" ~&gt; "(" ~&gt; parseExpression) ~ ("," ~&gt; parseListExpression &lt;~ ")") ^^ {
    case e ~ l =&gt; EApply(e, l)
  }
  </code></pre>
  
  <p>By rewriting it using different parenthesis, I got rid of the error. Can someone explain me why ?
  EApply is an expression that can contain other expressions, and a list of expressions.</p>
  
  <pre><code>val parseEApply: Parser[EApply] =
       "EApply(" ~&gt; parseExpression ~ ("," ~&gt; parseListExpression &lt;~ ")") ^^ {
    case e ~ l =&gt; EApply(e, l)
  }
  </code></pre>
  
  <p>So why there might be a recursion error in the first and not in the second?</p>