如何在单独的翻译单元中定义队长语法?
应该是什么类型的输出属性?或者我可以简单地将boost::spirit::x3::unused_type
指定为Attribute
模板参数到boost::spirit::x3::rule
模板类以获取跳过者语法吗?我认为skipper语法应该只在内部向前移动输入迭代器而不是空格,换行符,注释等。在性能和内存分配/释放方面更好。如何定义这种语法的上下文类型,我应该提供给BOOST_SPIRIT_INSTANTIATE
宏?
答案 0 :(得分:3)
最后我找到了解决方案。
using skipper_parser = x3::rule< class skipper_class, x3::unused_type const >;
是skipper解析器类型的定义(const
- 返回类型的ness很重要。)
BOOST_SPIRIT_INSTANTIATE(skipper_parser, iterator_type, x3::unused_type)
是船长的parse_rule
模板功能的实例化,有些是在单独的翻译单元中。