Что такое хороший анализатор интерактивных языков для проекта C ++?

Я работаю над проектом на C ++, который требует интерфейс командной строки для запуска команд в другой области базы кода. В одном сеансе может быть любое количество команд, отправленных через этот CLI, все формы command-keyword [ param1 [ param2 [ ... [ paramN ] ] ] ],

Я ищу библиотеку, которая:

  • Разбирает ключевые слова и параметры по заданной команде.
  • Поддерживает сопоставление ключевых слов с указателями функций, ключевых слов с минимальным и максимальным количеством параметров, сообщениями об ошибках и т. Д.
  • Вызывает сопоставленные функции, когда команда отформатирована правильно, и корректно завершается с ошибкой, если либо команда отформатирована неправильно, либо ключевое слово не существует.
  • Очень легкий с зависимостями (я не хочу импортировать всю надстройку, если смогу помочь).

Я уверен, что это в значительной степени решенная проблема (и, возможно, у меня просто не получается выполнить поиск в Google и SO), но я не могу найти библиотеку, которая соответствует моим потребностям.

Кому-нибудь повезло с использованием определенной библиотеки для этой цели?

tl; dr — я ищу подобный оболочке интерфейс, который я могу интегрировать в свой собственный проект C ++ для управления интерактивным анализом команд. Есть ли хорошие, легкие ресурсы там?

1

Решение

Это делает то, что вы хотите: он читает команды в интерактивном режиме, как консоль коммутатора или маршрутизатора, он использует древовидную структуру для определения команд & опции. Одна проблема: он использует сокет вместо стандартного ввода & стандартный вывод. Вы можете изменить это.
https://github.com/dparrish/libcli

0

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

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

По вопросам рекламы [email protected]