Projects / Ragel State Machine Compiler

Ragel State Machine Compiler

Ragel compiles finite state machines from regular languages into C, C++, Objective-C, D, Java, or Ruby code. It allows the programmer to embed actions at any point in a regular language, and to control non-determinism in the resulting machines. It understands concatenation, union, kleene star, subtraction, intersection, epsilon transitions, and various other common operators. It also supports the construction of scanners and the building of state machines using state charts. It can be used to create very fast recognizers and parsers that are also robust.

Tags
Licenses
Implementation

Recent releases

  •  03 Dec 2009 02:04

    Release Notes: Bugs related to include paths, handling error conditions, and printing line directives were fixed.

    •  18 May 2009 17:39

      Release Notes: A bug in graphviz generation was fixed. A bug related to 64-bit systems and machines defined with hex numbers was fixed. The build system was moved to automake.

      •  22 Mar 2009 16:51

        Release Notes: The backend programs were removed and merged into the frontend. New write commands were added. Bugs were fixed.

        •  29 Aug 2008 17:47

          Release Notes: Duplicate include prevention was fixed and improved. A false assertion spurred during the creation of scanners with conditions was fixed. A crash on the failed lookup of a goto/call target was fixed.

          •  09 May 2008 20:59

            Release Notes: A number of reported bugs were fixed. Include and import file searching was improved. The -I include path option was added.

            Screenshot

            Project Spotlight

            OpenStack4j

            A Fluent OpenStack client API for Java.

            Screenshot

            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.