Инструменты синтаксического анализа Haskell - yacc: lex ::счастливый:?
Вопрос
Итак, похоже, что Счастливый является надежной заменой yacc в Haskell.Существует ли столь же надежный генератор lexer для замены lex / flex?
Решение
Алекс? http://www.haskell.org/alex/
инструмент для генерации лексических анализаторов на Haskell с описанием распознаемых токенов в форме регулярных выражений.Он похож на инструмент lex или flex для C / C ++...
Алекс является частью Платформа Haskell, поэтому, если вы установите платформу, у вас автоматически появится работающий Alex.
Алекс тоже работает над хакингом.Если у вас есть кабал-установка инструмент (который также поставляется с платформой Haskell), после чего вы сможете собрать и установить последнюю версию Alex с помощью
cabal install alex
Чтобы узнать, какая последняя версия Alex, и загрузить исходный код отдельно, перейдите на страницу Alex Страница HackageDB.
Alex также может быть предварительно упакован для вашей операционной системы...
Другие советы
Happy: Yacc :: Alex: Lex
Или используйте одну из библиотек gazillion parser и lexer combinator.