Interested Article - Ragel
![](/images/007/295/7295345/1.jpg?rand=588022)
![](https://cdn.wafarin.com/avatars/7ff237343e368c07c68f0e66930265a3.png)
- 2021-03-19
- 1
Ragel — компилятор конечных автоматов , производящий исходный код на C , C++ , C# , Objective-C , D , Java , OCaml , Go и Ruby .
Особенности
Исходным текстом конечного автомата для Ragel служит расширенный язык регулярных выражений и/или диаграмма состояний конечного автомата. Ragel хорошо подходит для построения лексических анализаторов и спецификации протоколов передачи данных .
Ragel позволяет внедрять в любой точке выполнения автомата определяемые пользователем действия. С целью разрешения недетерминизма предусмотрена система приоритетов для операторов регулярного языка.
Ragel поддерживает визуализацию генерируемого автомата с помощью graphviz .
Примеры применения
использовал Ragel для своего веб-сервера Mongrel при написании высокопроизводительного анализатора пользовательских HTTP-запросов .
См. также
Примечания
- от 24 декабря 2013 на Wayback Machine at complang.org Last changed: Jul 14, 2013
- — 2006.
- 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.
- Liqun Chen, Chris J. Mitchell, Andrew Martin (2009) Trusted Computing: Second International Conference, Trust 2009 Oxford, UK, April 6-8, 2009, Proceedings . p. 111
- В. С. Гуров, М. А. Мазин, А. А. Шалыто. // Научно-технический вестник СПбГУ ИТМО . — 2008. — Вып. 53 . — С. 258—263 . 20 августа 2018 года.
- (англ.) . . Дата обращения: 12 марта 2016. Архивировано из 10 марта 2016 года.
Ссылки
- — официальный сайт Ragel
![](https://cdn.wafarin.com/avatars/7ff237343e368c07c68f0e66930265a3.png)
- 2021-03-19
- 1