C ++ библиотеки для разбора

Я делаю программное обеспечение для генерации анимации для алгоритмов. Эти алгоритмы написаны на интерпретируемом языке, близком к C (более или менее C-ориентированный псевдокод). Таким образом, моя программа должна интерпретировать алгоритмы, написанные на этом языке. Кроме того, этот язык будет постоянно увеличиваться, чтобы поддерживать все больше и больше функций. Ключевой проблемой здесь является поиск в библиотеке, позволяющей легко увеличить язык и облегчающей интеграцию различных анализаторов в одну и ту же программу. Приложение написано на C ++ по лицензии GPL.

Объектно-ориентированный парсер — это мое целевое решение. Мне нужна помощь, чтобы выбрать хорошую библиотеку для этих целей. Также желательно, чтобы библиотека была мультиплатформенной и была доступна в официальных репозиториях дистрибутивов общего доступа: Ubuntu, Suse и так далее.

На самом деле, я более или менее хорошо знаю следующие две библиотеки / инструменты:

  • Flex / Bison ++: оба являются обертками Flex / Bison, которые позволяют генерировать код C ++ вместо кода C и выбирать имя для вашего класса. Проблемы: если вы устанавливаете Flex / Bison ++, Flex / Bison перезаписываются. Я не хочу усложнять пользователям, если они хотят скомпилировать мой код. Более того, CMake не может найти номер версии библиотеки. Это можно решить вручную, но это не элегантно.
  • Boost.Spirit: не имеет предыдущих проблем и соответствует всем желаемым функциям, которые я описал выше. Но я читал, что разбирать большие языки и решать грамматические неясности нехорошо. Более того, время компиляции огромно. Но я люблю это, может составить грамматику конструктивно. Это очень важно, чтобы сделать код / ​​язык / программу расширяемой.

Какова ваша рекомендация?

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …