It certainly does help, thanks.<br><br>OK, next, I wasn't able to figure out how to do an error recovery. That is, when one of the (line*) starts to match, then fails, the error action should log the error, jump to another regex that matches (any*) :>> '\n', jump back and pick right back up trying to match more lines. It's plainly obvious that Ragel can do that, but the wizardry level is a bit above me. Please elucidate?<br>
<br><div class="gmail_quote">2009/1/23 Adrian Thurston <span dir="ltr"><<a href="mailto:thurston@complang.org">thurston@complang.org</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
In short, there isn't!<br>
<br>
Ragel does not make any assumption about the input, and this includes<br>
not assuming line-based input. If you want to anchor to something you<br>
just put that something into the grammar at the end. If you want to see<br>
if the machine finished in a final state (and thus consumed that<br>
something) you test cs against machine_first_final.<br>
<br>
Hope this helps,<br>
  Adrian</blockquote></div><br>