

Ragel
Ragel is a finite-state machine compiler and a parser generator targeting C, C++ and ASM. It can recognize byte sequences and execute code at arbitrary points in the process.
Cost / License
- Free
- Open Source
Platforms
- Windows
Features
- State machine
Ragel News & Activities
Recent activities
Ragel information
What is Ragel?
Ragel is a finite-state machine compiler and a parser generator targeting C, C++ and ASM. It can recognize byte sequences and execute code at arbitrary points in the process.
POTENTIAL USES
Writing robust protocol implementations. Parsing data formats. Lexical analysis of programming languages. Validating user input.
FEATURES
Construct finite state machines using: regular language operators state chart operators a scanner operator some mix of the above Embed actions into machines in arbitrary places. Control non-determinism using guarded operators. Minimize state machines using Hopcroft’s algorithm. Visualize output with Graphviz. Use byte, double byte or word-sized alphabets. Generate C, C++ or ASM (GNU, x86_64, System V ABI) code with no dependencies. Choose from table or control flow driven state machines.



