Interested Article - Ragel

Ragel компилятор конечных автоматов , производящий исходный код на C , C++ , C# , Objective-C , D , Java , OCaml , Go и Ruby .

Особенности

Исходным текстом конечного автомата для Ragel служит расширенный язык регулярных выражений и/или диаграмма состояний конечного автомата. Ragel хорошо подходит для построения лексических анализаторов и спецификации протоколов передачи данных .

Ragel позволяет внедрять в любой точке выполнения автомата определяемые пользователем действия. С целью разрешения недетерминизма предусмотрена система приоритетов для операторов регулярного языка.

Ragel поддерживает визуализацию генерируемого автомата с помощью graphviz .

Примеры применения

использовал Ragel для своего веб-сервера Mongrel при написании высокопроизводительного анализатора пользовательских HTTP-запросов .

См. также

Примечания

  1. от 24 декабря 2013 на Wayback Machine at complang.org Last changed: Jul 14, 2013
  2. — 2006.
  3. Adrian D. Thurston. « 7 сентября 2012 года. » In: 11th International Conference on Implementation and Application of Automata (CIAA 2006), Lecture Notes in Computer Science, volume 4094 , p. 285—286, Taipei, Taiwan, August 2006.
  4. Liqun Chen, Chris J. Mitchell, Andrew Martin (2009) Trusted Computing: Second International Conference, Trust 2009 Oxford, UK, April 6-8, 2009, Proceedings . p. 111
  5. В. С. Гуров, М. А. Мазин, А. А. Шалыто. // Научно-технический вестник СПбГУ ИТМО . — 2008. — Вып. 53 . — С. 258—263 . 20 августа 2018 года.
  6. (англ.) . . Дата обращения: 12 марта 2016. Архивировано из 10 марта 2016 года.

Ссылки

  • — официальный сайт Ragel
Источник —

Same as Ragel