Ragel | |
---|---|
Tyyppi | tilakoneen kääntäjä |
Kehittäjä | Adrian Thurston [1] |
Sisään kirjoitettu | C++ [2] |
Käyttöjärjestelmä | Unix-tyyppinen , Windows |
uusin versio | 6.10 (24.3.2017) |
Lisenssi | GNU yleinen julkinen lisenssi |
Verkkosivusto | complang.org/ragel/ |
Mediatiedostot Wikimedia Commonsissa |
Ragel on tilakonekääntäjä , joka tuottaa lähdekoodia C- , C ++- , C# -, Objective-C- , D- , Java- , OCaml- , Go- ja Ruby -kielillä [3] .
Ragelin tilakoneen lähdekoodi on laajennettu säännöllinen lausekekieli [4] ja/tai tilakoneen tilakaavio . Ragel soveltuu hyvin leksikaalisten analysaattoreiden rakentamiseen ja tiedonsiirtoprotokollien määrittämiseen [5] .
Ragelin avulla voit ruiskuttaa käyttäjän määrittämiä toimintoja missä tahansa automaatin suoritusvaiheessa. Epädeterminismin ratkaisemiseksi tavallisille kielenopettajille on järjestetty prioriteettijärjestelmä .
Ragel tukee generoidun automaatin visualisointia graphvizin avulla .
Zed Shaw käytti Ragelia Mongrel -verkkopalvelimelleenkirjoittaessaan korkean suorituskyvyn mukautetun HTTP-pyynnön jäsentimen [6] .