我正在开发一个 C++ 项目,该项目需要命令行界面才能在代码库的另一个区域启动命令。在单个会话中,可以通过此 CLI 发送任意数量的命令,格式均为command-keyword [ param1 [ param2 [ ... [ paramN ] ] ] ]
.
我正在寻找一个图书馆:
- 解析来自给定命令的关键字和参数。
- 维护关键字到函数指针、关键字到最小和最大参数数量、错误消息等的映射。
- 当命令格式正确时调用映射函数,并在命令格式不正确或关键字不存在时正常失败。
- 依赖项非常轻量级(如果我能提供帮助,我不想导入整个 boost)。
我确信这在很大程度上是一个已解决的问题(也许我的 Google 和 SO 搜索失败了),但我似乎找不到适合我需要的库。
有没有人为此目的使用某个库?
tl;dr - 我正在寻找一个类似于 shell 的界面,我可以将其集成到我自己的 C++ 项目中以管理交互式命令解析。有什么好的,轻量级的资源吗?