Ragel State Machine Compiler - Free Software Directory

Free Software Foundation!

Join now

Ragel State Machine Compiler

From Free Software Directory
This is the approved revision of this page; it is not the most recent. View the most recent revision.
Jump to: navigation,

Ragel State Machine Compiler

Ragel compiles finite state machines from regular languages into runnable C code. It allows you to embed function calls at any point in your regular language, and to control the non-determinism in the resulting machines. It function calls at any point in your regular language, and to control the non-determinism in the resulting It understands concatenation, union (the "or" operator), kleene star, subtraction, and intersection, as well as some helpers like "!", "?" and "+". Ragel's finite state machines are closed under all of its operators. This property allows for arbitrary regular lanuages to be described. It can be used to create a parser for any language that is regular.


English user manual in PostScript format available from http://www.elude.ca/ragel/ragel-guide-3.7.ps.gz; English user manual in PDF format available from http://www.elude.ca/ragel/ragel-guide-3.7.pdf


Download version 4.1 (stable)
released on 27 June 2005


Related Projects


LicenseVerified byVerified onNotes
GPLv2Ron Peterson3 March 2002

Leaders and contributors

Adrian Thurston Maintainer

Resources and communication

Audience Resource type URI
Bug Tracking,Developer,Support E-mail mailto:adriant@ragel.ca

Software prerequisites

Kind Description
Required to build Flex
Required to build Bison

This entry (in part or in whole) was last reviewed on 7 January 2008.


Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the page “GNU Free Documentation License”.

The copyright and license notices on this page only apply to the text on this page. Any software or copyright-licenses or other similar notices described in this text has its own copyright notice and license, which can usually be found in the distribution or license text itself.

Personal tools