You can use fcall to jump to a machine, then fret to resume where you were.
It's a bit tricky, but once you understand it you can parse recursively. See
the startTable action here (though this is a pretty hairy parser):
http://code.google.com/p/table-layout/source/browse/trunk/build/TableLayoutParser.rl

-Nate


On Tue, Mar 29, 2011 at 2:55 PM, Jonathan Castello <[email protected]>wrote:

> On Tue, Mar 29, 2011 at 1:15 PM, Gordeev Vladimir
> <[email protected]> wrote:
> > So I got following error:
> >
> >     test.rl:7:32: graph lookup of "list" failed
>
> The reason you get that error is because a rule can only reference
> definitions that came before it. "list" doesn't exist until the
> definition is finished, so it can't reference itself. (That would
> create a recursive structure anyways, which Ragel isn't equipped to
> handle natively.)
>
> ~Jonathan
>
> _______________________________________________
> ragel-users mailing list
> [email protected]
> http://www.complang.org/mailman/listinfo/ragel-users
>
_______________________________________________
ragel-users mailing list
[email protected]
http://www.complang.org/mailman/listinfo/ragel-users

Reply via email to