mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-26 05:02:18 +00:00
14 lines
758 B
Plaintext
14 lines
758 B
Plaintext
Ragel compiles finite state machines from regular languages into runnable C
|
|
code. Ragel state machines can not only recognize byte sequences as regular
|
|
expression machines do, but can also execute code at arbitrary points in the
|
|
recognition of a regular language.
|
|
|
|
When you wish to write down a regular language you start with some simple
|
|
regular language and build a bigger one using the regular language operators
|
|
union, concatenation, kleene star, intersection and subtraction. This is
|
|
precisely the way you describe to Ragel how to compile your finite state
|
|
machines. Ragel also understands operators that insert function calls into
|
|
machines and operators that control any non-determinism in machines.
|
|
|
|
WWW: http://www.cs.queensu.ca/home/thurston/ragel/
|