[ragel-users] Re: runaway action

Adrian Thurston thurs... at cs.queensu.ca
Tue Aug 12 18:05:56 UTC 2008

Hi Manfred,

Ragel produces a DFA after every operation, including both regular
language and action embedding operators. These machines aren't necessary
minimal; minimization is performed at the end. It could also be performed
at every step in the construction, but that wouldn't affect the results.

Note that the ">" operators isolate the start state on purpose, causing
the start state not to have any back edges. The idea is that start state
is a unique state that is used only once. The user of the ">" should not
have to be concerned with whether or not the start state in the final DFA
ends up getting reused (possibly by the minimization process, or by the
kleene star operator, or something else).


On Mon, 11 Aug 2008, Manfred_Nowak wrote:

> On Aug 10, 7:52 pm, Adrian Thurston <thurs... at cs.queensu.ca> wrote:
> > which I think is the reason why you
> > are not getting the desired results.
> >From your answer I conclude, that you also failed to attribute the
> start state of the machine `all' with some action; more precisely: the
> start state of the minimal DFA resulting out of the ragel definition
> for the automaton `all'.
> Factually I am quite content with the resulting minimal DFA--but from
> your explanations it seems, that ragel does not use the resulting
> minimal DFA as the basis for the attribution with actions.
> If this is true, then what exactly is the basis---and how can one
> debug that basis?
> -manfred
> >

More information about the ragel-users mailing list