fnext followed by fbreak
Andrei Polushin
polus... at gmail.com
Tue Apr 15 06:47:48 UTC 2008
Adrian Thurston wrote:
> Should now work in scanner actions too.
I can confirm that it really works as expected.
Thank you very much indeed.
> Andrei Polushin wrote:
>> Adrian Thurston wrote:
>>> This has been fixed in trunk.
>> OK, thank you for that. But it still doesn't work for the scanner actions.
>>
>> I've wrote a test program to clarify that, it's attached.
>>
>>
>>> Andrei Polushin wrote:
>>>> The action like this:
>>>>
>>>> action x {
>>>> fnext somewhere_else;
>>>> fbreak;
>>>> };
>>>>
>>>> become generated as follows:
>>>>
>>>> action x {
>>>> cs = 123; // fnext somewhere_else;
>>>> {p++; cs = 456; goto _out;} // fbreak;
>>>> };
>>>>
>>>> where '123' is the desired next state (aka somewhere_else),
>>>> and '456' is the default target state for the transition.
>>>>
>>>> That is, the effect of fnext is neglected, when followed by fbreak.
--
Andrei Polushin
More information about the ragel-users
mailing list