Описание тега ragel
Компилятор конечного автомата Ragel
Ragel компилирует декларативный синтаксис машинного описания в файл исходного кода на Java, Ruby или на нескольких языках типа C. Кроме того, Ragel может сгенерировать файл.dot graphviz, содержащий диаграмму состояний и взаимодействия машины ввода.
Ragel может использоваться для генерации конечных автоматов общего назначения (FSM), которые обычно используются во встроенных системах и в управляемых протоколами приложениях, таких как телефония и интернет-серверы.
Ragel также может использоваться для создания "лексера" (или "сканера") - фрагмента кода, который сканирует вводимый текст и делит его на "токены". Этот лексический анализ традиционно является первым шагом в интерпретации или компиляции компьютерных языков:
input -> lexer -> parser -> AST -> execution or code generation