boost:spirit::qi and tab as delimeter

boost:spirit::qi and tab as delimeter

本文关键字:as delimeter tab qi spirit boost and      更新时间:2023-10-16

我是boost新手。我用tab ('t')分隔字符串。我如何用boost::spirit解析它?

解析器代码来自boost的示例

boost示例代码与实际的boost示例不一样,它是逗号分隔的,所以大概有您的修改?

ascii::space解析器将为您处理制表符作为分隔符,例如:

start %=
    lit("employee")
    >> '{'
    >>  int_ >>
    >>  quoted_string >>
    >>  quoted_string >>
    >>  double_
    >>  '}'
    ;

应该工作(减去' lit('t') ')。但是,这也将解析其他空格字符(例如space, tab)。

如果您确实需要在术语之间明确地只有单个制表符,那么将其留在lit('t')中并将其包装在lexeme[]中以禁用跳过解析器