[ragel-users] [newbie] eof actions never executed...
Adrian Thurston
thurston at complang.org
Wed Dec 3 14:59:55 UTC 2008
Leaving actions are always executed on a following character (one char
of lookahead) so either there needs to be something after the number or
you need to set eof = pe to induce the action.
-Adrian
Gaspard Bucher wrote:
> Hi there !
>
> This might look like a silly question.
>
> I cannot seem to get this right: parse "1.24"
>
> real = ([\-+]? $num_a ('0'..'9' digit* '.' digit+) $num_a );
> integer = ([\-+]? $num_a ('0'..'9' digit*) $num_a );
> number = real | integer;
>
> main := ws* (string %string | number %number | hash %hash);
>
> %number is never executed...
>
> If I use @number, it is called several times.
>
> I sure am missing something...
>
> Thanks for your help.
>
> Gaspard
>
> _______________________________________________
> ragel-users mailing list
> ragel-users at complang.org
> http://www.complang.org/mailman/listinfo/ragel-users
More information about the ragel-users
mailing list