Ragel | |
---|---|
Típusú | állapotgép fordító |
Fejlesztő | Adrian Thurston [1] |
Beírva | C++ [2] |
Operációs rendszer | Unix-szerű , Windows |
legújabb verzió | 6.10 (2017-03-24) |
Engedély | GNU általános nyilvános licenc |
Weboldal | complang.org/ragel/ |
Médiafájlok a Wikimedia Commons oldalon |
A Ragel egy állapotgép - fordító , amely C , C++ , C# , Objective-C , D , Java , OCaml , Go és Ruby nyelven állít elő forráskódot [3] .
A Ragel állapotgép forráskódja egy kiterjesztett reguláris kifejezés nyelv [4] és/vagy egy állapotgép állapotdiagram . A Ragel kiválóan alkalmas lexikális elemzők építésére és adatátviteli protokollok meghatározására [5] .
A Ragel lehetővé teszi a felhasználó által meghatározott műveletek beszúrását az automata végrehajtásának bármely pontjára. A non-determinizmus feloldása érdekében prioritási rendszert biztosítanak a normál nyelvi kezelők számára.
A Ragel támogatja a generált automata megjelenítését a graphviz segítségével .
Zed Shaw a Ragelt használta Mongrel webszerveréhez,amikor egy nagy teljesítményű egyéni HTTP kérés értelmezőt írt [6] .