boost:spirit::qi and tab as delimeter
boost:spirit::qi and tab as delimeter
我是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[]
中以禁用跳过解析器
相关文章:
- 为什么我会" void value not ignored as it ought to be"?
- 为什么 std::shared_ptr 被认为是"heavy"和"expensive",但 std::array "same perfprmance as plain (c-style) arrays
- 了解 Linux 虚拟内存:valgrind 的 massif 输出显示了有和没有 --pages-as-heap 的主要差异
- 编译错误:"lvalue required as left operand of assignment" 不确定原因
- 如何理解"Temporary objs are destroyed as the last step in evaluating the full-expression"?谁能用一些简单的例子来说明这
- Atom gpp编译器给出"'C:UsersadminUser' is not recognized as an internal or..."错误
- r-在Rcpp和C++之间转换矢量(使用Rcpp::as或Rcpp:::wrap)是否会创建一个新的矢量并复制元素
- template<class T, int N> void h(T const(&)[N]); as friend function
- 我正在"void value not ignored as it ought to be"我该怎么办?
- "expression cannot be used as a function"回报声明
- OMNeT++ cPacket as std::bitset 以应用 Reed-Solomon 编码
- 函数如何在不这样做的情况下在新线程上运行"as if"?
- C++指针算术"lvalue required as left operand of assignment"错误
- 当调用时,为什么ranges ::累积的init as std :: Move(init)
- 如何在开关语句中使用 cin "as a parameter"
- regex_match as predicate
- 类型转换运算符重载与 as 非成员函数
- 我在 MinGW 和 VS 代码"g++ not recognized as a cmdlet..."时遇到构建错误
- SpinBoxDelegate displayed as a DoubleSpinBoxDelegate
- boost:spirit::qi and tab as delimeter