WikiSort.ru - Программирование

ПОИСК ПО САЙТУ | о проекте
Ragel
Тип компилятор конечных автоматов
Разработчик Adrian Thurston[1]
Написана на C++[2]
Операционная система Unix-like, Windows
Последняя версия 6.10 (2017-03-24)
Лицензия GNU General Public License
Сайт complang.org/ragel/
 Ragel на Викискладе

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

Особенности

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

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

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

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

Зед Шоу[en] использовал Ragel для своего веб-сервера Mongrel при написании высокопроизводительного анализатора пользовательских HTTP-запросов[6].

См. также

Примечания

  1. ↑ Dr. Adrian D. Thurston at complang.org Last changed: Jul 14, 2013
  2. ↑ The ragel Open Source Project on Open Hub: Languages Page — 2006.
  3. ↑ Adrian D. Thurston. «Parsing Computer Languages with an Automaton Compiled from a Single Regular Expression. Архивировано 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.
  6. ↑ Ragel State Charts (англ.) ?. Zed A. Shaw[en]. Проверено 12 марта 2016.

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2026
WikiSort.ru - проект по пересортировке и дополнению контента Википедии