          MODULE=ragel
         VERSION=6.10
          SOURCE=$MODULE-$VERSION.tar.gz
      SOURCE_URL=https://www.colm.net/files/ragel
      SOURCE_VFY=sha256:5f156edb65d20b856d638dd9ee2dfb43285914d9aa2b6ec779dac0270cd56c3f
        WEB_SITE=https://www.colm.net/open-source/ragel
         ENTERED=20140927
         UPDATED=20190220
           SHORT="compile executable finite state machines from regular languages"

cat << EOF
Ragel compiles executable finite state machines from regular languages. Ragel targets C, C++, Obj-C, C#,
D, Java, Go and Ruby 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. Code
embedding is done using inline operators that do not disrupt the regular language syntax.

The core language consists of standard regular expression operators (such as union, concatenation and Kleene
star) and action embedding operators. The user's regular expressions are compiled to a deterministic state
machine and the embedded actions are associated with the transitions of the machine. Understanding the formal
relationship between regular expressions and deterministic finite automata is key to using Ragel effectively.
EOF
