Ragel
| Ragel | |
|---|---|
| Developer(s) | Adrian Thurston |
| Stable release | 7.0.4
/ 15 February 2021 |
| Preview release | 7.0.4
/ February 16, 2021 |
| Repository | |
| Written in | C++ |
| Operating system | Unix-like, Windows |
| Type | State machine compiler |
| License | "Ragel 6 remains under GPL v2 [generated code] covered by the MIT (or GPL v2)". Ragel 7: MIT License |
| Website | www |
Ragel (IPA: /ˈɹeɪd͡ʒəl/) is a finite-state machine compiler and a parser generator. Initially Ragel supported output for C, C++ and Assembly source code, later expanded to support several other languages including Objective-C, D, Go, Ruby, and Java. Additional language support is also in development. It supports the generation of table or control flow driven state machines from regular expressions and/or state charts and can also build lexical analysers via the longest-match method. Ragel specifically targets text parsing and input validation.