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