我正在尝试构建具有增强精神的 AST,并且在使用 C++11 lambda 表达式作为语义操作时,我一直在努力解决如何构建合成参数。
说我有一个规则:
qi::rule<char*,ascii::space_type,SomeStruct()> rule = some_parser[[](some_type val){/*code to build SomeStruct from val*/}];
我的 lambda 如何返回合成参数 (SomeStruct)?按返回值?因为 qi::_val 在这种情况下不可用,对吧?(这对我来说有点晦涩难懂,如果这个问题表述得不好,请见谅)
在此先感谢您提供正确方向的任何指针!