(Pardon my slight laziness with the References header &c.)

Quoth Adrian Thurston <thurs...@complang.org>:
> The leaving action becomes an EOF action in the final state of foo. The 
> goto bar cannot process any data, so simply adding a label and jumping 
> there would be incorrect. Either an error should be reported, or the 
> machine should have it's cs set to bar. Which is desired?

Well, I seem to recall that I put the %action there to switch to
another machine on a transition from any final state on either EOF or
any error.  If what you say is true, it probably means I'm doing it
wrong (probably should use ! and / actions instead?) and should look
at the manual again.  I actually can't find the original file in which
I ran into this, though... I assume I wound up doing something more
Ragel-suitable instead, but now I don't remember which machine it was.

Anyway, I would prefer that Ragel signal an error rather than writing
broken code: something along the lines of "impossible fgoto in EOF
action" and/or a warning for "leaving action transformed into EOF
action".  I'm not sure the former is actually possible to determine
reliably, since it may be halting problem complete.  I note that if I
use %{fexec ...; fgoto bar;} instead, it becomes possible for the
fgoto to have characters since the input pointer has jumped backwards,
but the target label still doesn't appear (in -G2 mode).  I'm not sure
what implications that has either.

   ---> Drake Wilson



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to