C ++中嵌入式友好的命令解析器

时间:2017-03-17 05:49:10

标签: c++ parsing boost mbed

我的用例是生成和解析AT命令

我正在寻找类似于Boost.Spirit或https://github.com/ColinH/PEGTL的东西,但对嵌入式环境(mbed OS)友好,并且不需要像前面提到的那样强大。 mbed OS ATParser以另一种方式摆动,对我的口味来说有点太弱/扫描(对ATParser人来说没有任何不确定性)

Boost.Spirit我无法在这种环境下进行编译,除了有点复杂之外,我还因为类似的原因尝试使用PEGTL而犹豫不决。

3 个答案:

答案 0 :(得分:0)

项目下面的

也许你在寻找:

CMDB:一个命令解释器,支持使用的已定义命令,子系统,宏,帮助和参数解析。

https://developer.mbed.org/users/wvd_vegt/code/CMDB/

答案 1 :(得分:0)

看起来我正在自己动手。如果它不符合stackoverflow规则,我会在这里发布链接。

答案 2 :(得分:0)

不是特定于AT,但这看起来很有希望:embedded-commandline

使用它,看起来像你:

  • 创建一个继承自Outputter的类,该类为您的平台实现putchar()puts()成员函数。 (您将对类的实例的引用传递给DumbLineEditorCommandManager构造函数。)
  • 创建派生自Command的类,并为每个命令实现execute()成员函数。
  • 实例化CommandManager。使用每个派生的CommandManager::addCommand() s。
  • 的实例调用Command
  • 实例化DumbLineEditor,将对CommandManager和派生Outputter的引用传递给其构造函数。