Ragel

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] .

Ominaisuudet

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 .

Sovellusesimerkkejä

Zed Shaw käytti Ragelia Mongrel -verkkopalvelimelleenkirjoittaessaan korkean suorituskyvyn mukautetun HTTP-pyynnön jäsentimen [6] .

Katso myös

Muistiinpanot

  1. Dr. Adrian D. Thurston Arkistoitu 24. joulukuuta 2013 Wayback Machinessa osoitteessa complang.org Muutettu viimeksi : 14. heinäkuuta 2013
  2. Ragel Open Source -projekti Open Hubissa: Kielisivu - 2006.
  3. Adrian D. Thurston. « Tietokonekielten jäsentäminen yhdestä säännöllisestä lausekkeesta käännetyn automatin avulla. Arkistoitu alkuperäisestä 7. syyskuuta 2012. » Julkaisussa: 11th International Conference on Implementation and Application of Automata (CIAA 2006), Lecture Notes in Computer Science, volyymi 4094 , s. 285-286, Taipei, Taiwan, elokuu 2006.
  4. Liqun Chen, Chris J. Mitchell, Andrew Martin (2009) Trusted Computing: Toinen kansainvälinen konferenssi, Trust 2009 Oxford, Iso-Britannia, 6.-8.4.2009, Proceedings . s. 111
  5. V. S. Gurov, M. A. Mazin, A. A. Shalyto. Automaattisen ohjelmoinnin tekstikieli // Pietarin valtionyliopiston ITMO  tieteellinen ja tekninen tiedote . - 2008. - Ongelma. 53 . - S. 258-263 . Arkistoitu alkuperäisestä 20. elokuuta 2018.
  6. Ragel State Charts  (englanniksi)  (linkkiä ei ole saatavilla) . Zed A. Shaw . Haettu 12. maaliskuuta 2016. Arkistoitu alkuperäisestä 10. maaliskuuta 2016.

Linkit