使用Boost :: spirit的命令用法解析器

时间:2014-02-20 14:30:49

标签: c++ parsing boost boost-spirit

考虑此字符串my_comamnd -A aaa {-B | -C} [-D -E]

这定义了一个名为my_command的命令,它接受一个强制参数-A aaa,两个互斥开关{-B | -C}(应该指定其中一个)和两个可选开关{{ 1}}(不应指定任何一个或两者。)

我需要编写将接受使用字符串的解析器,并提供一些将用于创建命令的结构(可能是语法树)。

我对此有一些疑问

  • 什么叫做语法?我正在考虑Extended Backus–Naur Form,但也许它有更具体的名称。什么叫描述命令的格式?

  • 我在考虑使用Boost::spirit库。可能吗?我相信它是Parsing Expression Grammar。所以应该可以使用Boost :: spirit编写解析器。

  • 是否有用C ++编写的解析器可以解析这些字符串?

0 个答案:

没有答案