什么是C ++项目的良好的交互式语言解析器?

时间:2012-09-06 04:33:42

标签: c++ interactive

我正在开发一个C ++项目,需要一个命令行界面来启动代码库另一个区域的命令。在单个会话中,可以通过此CLI发送任意数量的命令,所有命令均为command-keyword [ param1 [ param2 [ ... [ paramN ] ] ] ]

我正在寻找一个图书馆:

  • 解析给定命令中的关键字和参数。
  • 维护关键字到功能指针的关系,关键字到最小和最大参数数量,错误信息等。
  • 在命令格式正确时调用映射函数,如果命令格式不正确或关键字不存在,则正常失败。
  • 非常轻量级的依赖项(如果我可以提供帮助,我不想导入整个boost)。

我确信这是一个非常解决的问题(也许我只是因为Google和SO搜索而失败),但我似乎无法找到符合我需求的库。

有没有人为此目的使用某个图书馆好运?

tl; dr - 我正在寻找一个类似shell的接口,我可以将它集成到我自己的C ++项目中来管理交互式命令解析。那里有什么好的,轻量级的资源?

1 个答案:

答案 0 :(得分:0)

这可以满足您的需求:它以交换方式读取命令,如交换机或路由器的控制台,它使用树形结构来定义命令&选项。一个问题:它使用套接字而不是标准输入和输出。标准输出。你可以修改它。     https://github.com/dparrish/libcli