[ragel-users] [RFC] A Complete Description of Using Ragel State Charts

Adrian Thurston thurs... at cs.queensu.ca
Tue Dec 26 16:55:32 UTC 2006

Hi Zed,

Nice work, an excellent article! Not much has been written about state
charts in Ragel and it fills the gap nicely. I have a couple comments.

In section "Actions in Ragel" the details are a bit off.

"@!error" access nonfinal states and embeds an error handler
"$!error" access all states

Though in your example they have the same effect.

"@" on it's own accesses transitions which move into a final state.

In section "Generating the Code"

The only code style supported with Java right now is the plain table based
(-T0). The lack of goto statements in Java makes porting to Java more


> Hey Everyone,
> I had such a hard time explaining how cool the Ragel state chart stuff is
> that I finally broke down and wrote some very detailed instructions and
> discussions about them:
> http://www.zedshaw.com/tips/ragel_state_charts.html
> Please take a look and give me any comments you have.  I'm using this
> style of state machine more and more in my code so I'd like to get a good
> grip on explaining it to folks.
> Have a good Christmas (if you celebrate it).
> --
> Zed A. Shaw, MUDCRAP-CE Master Black Belt Sifu
> http://www.zedshaw.com/
> http://www.awprofessional.com/title/0321483502 -- The Mongrel Book
> http://mongrel.rubyforge.org/
> http://www.lingr.com/room/3yXhqKbfPy8 -- Come get help.
> >

More information about the ragel-users mailing list