提振.重叠动作/重复使用终端令牌
Boost.Spirit Overlapping actions / reusing terminal tokens
使用Boost。Spirit,是否有可能将一个终端令牌传递给多个操作,如果可以,该语法是什么?
例如,假设我有两条规则:规则1消费"A B"并有一个关联动作"void f(
给定输入流"A1 B1 C1",我希望调用f(A1,B1)和g(B1,C1)。
编辑:一些更多的研究表明,使用And-Predicate可能会允许这一点。
使用局部变量
qi::rule<Iterator, qi::locals<B> > r =
(a >> b)[lf(_1, _2), _a = _2] >> c[lg(_a, _1)];
我在这里假设lf()和lg()是惰性函数(即底层f()和g()的包装器)。有关当地人的更多信息,请参阅此处。缺点是你复制了b的属性
相关文章:
- 如何在C++中使用X509证书模在令牌中查找私钥
- holeMenuProgram.cpp:38:1 错误:'}'令牌之前的预期主表达式
- C++:"("令牌"之前有预期的非限定 id 指向类中成员函数的指针
- Arduino 用于语句错误。令牌之前的预期')' ';'。如何解决这个问题?
- 错误:令牌 { '{' 之前应存在非限定 ID
- 允许哪些令牌作为 #include 的参数?
- "错误 C0000:语法错误,令牌"<EOF>"处出现意外$end,并且不确定
- 它在 { 令牌之前给了我预期的标识符
- (错误:令牌之前'<<'预期的主表达式)
- 为什么 ## aka 令牌粘贴运算符不适用于 C 和 C++ 中的注释?
- 错误:"->"令牌之前的预期初始值设定项
- LINUX 操作系统上的错误:令牌之前预期的构造函数、析构函数或类型转换'('?
- 丢失读入的每一行输入中的最后一个令牌
- 如何使用 libCurl 将访问令牌发送到服务器 API
- C++令牌定义成员
- 宏定义中的预处理器令牌两边有两个双引号
- 错误:C++中']'令牌之前的预期主表达式
- 错误:令牌之前的预期主表达式'&&'
- 令牌之前']'预期的主表达式?
- 提振.重叠动作/重复使用终端令牌