<div dir="ltr">Hi Francesco,<div><br></div><div>Thanks for your response!<br><div class="gmail_extra"><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">    if I understood your specification correctly, there would be multiple<br>
ways to parse the string "AAA":<br>
<br>
    - 3 'x' elements ("A", "A", "A")<br>
    - 2 'x' elements ("AA", "A")<br>
    - 2 'x' elements again (first one shorter) ("A", "AA")<br>
    - 1 'x' element ("AAA")<br></blockquote><div><br></div><div>There would be even more ways because 'y', too, can represent one or more 'A's.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Which of these four should we choose?Maybe "parse as many As as possible<br>
without consuming the A followed by a series of B"?</blockquote><div><br></div><div>I don't think that there could be a general rule.</div><div><br></div><div>For the string "AABB" and the sequence of symbols [x, y, y] there would be two possible parses:</div><div><br></div><div>[x: "AA", y: "B", y: "B"]</div><div>or</div><div>[x: "A", y: "A", y: "BB"].</div><div><br></div><div>I only care whether there are any valid parses.</div><div><br></div><div>I've just tried to solve the problem with regular expressions (using pcre-light) and didn't come across the same problem. Is this due to attoparsec not being able to "backtrack" (not sure if this is the right term)? Is backtracking something that parsers generally are incapable of?</div><div><br></div><div>Cheers,</div><div>Simon</div></div></div></div></div>