compilatore di macchine a stati finiti in codice in vari linguaggi
Ragel compila macchine a stati finiti da linguaggi regolari in codice C,
C++, Objective-C, D, Ruby o Java. Ragel permette al programmatore di
incorporare azioni in qualsiasi punto in un linguaggio regolare.
Il non determinismo può essere controllato tramite l'uso di priorità
incorporate e di operatori protetti del linguaggio regolare. Ragel supporta
la costruzione di analizzatori sintattici e la costruzione di macchine a
stati usando diagrammi di stato. Ragel può essere usato per creare
riconoscitori robusti e parsificatori che girano molto velocemente.
Può lavorare con alfabeti della dimensione degli interi e può compilare
grandi macchine a stati. Il codice generato non ha dipendenze.