Я ищу утилиты для лексического анализа и создания синтаксических анализаторов, которые не являются Flex или Bison. Требования:
- Синтаксический анализатор задается с использованием контекстно-свободной грамматики LL(*) или GLR. Я бы также рассмотрел ПЭГ.
- Тесно интегрируется с языком программирования, который можно использовать как для написания сценариев, так и для разработки приложений. Язык также должен иметь средства для простого взаимодействия с C. Хорошими примерами являются Python, Ruby и Guile. Никаких C, Java или Perl, пожалуйста. Я хочу, чтобы язык был однородным; Я хочу, чтобы генератор парсера выводил код на том же языке.
- Хорошо документированное и производственное качество.
- Открытый источник. Бесплатно тоже желательно (хотя и не обязательно).
- Совместимость с дистрибутивами Linux или одним из BSD с открытым исходным кодом. Я бы рассмотрел OpenSolaris.
- Быстрое развитие вызывает значительно большую озабоченность, чем эффективность.
- Подходит для анализа естественного языка, а также формальных языков. Разбор естественного языка ограничен короткими простыми предложениями с очень небольшой двусмысленностью.
Я присматриваюсь к ANTLR, хотя никогда им не пользовался. Комментарии по этому поводу приветствуются. Дайте мне знать, какие ваши любимые утилиты, отвечающие этим требованиям, и почему вы бы их порекомендовали.