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

RSS Recent releases

  •  03 Dec 2009 03:49

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

    •  18 May 2009 20:42

      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 20: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 13: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

          MASTIFF

          A static analysis automation framework.

          Screenshot

          Project Spotlight

          CalDavZAP

          A CalDAV Web client.