3
我正试图解析的形式predicate -> action
。助推精神:如何解析,直到我们有“ - >”
我的问题是predicate
可以任何有效的数学表达式,所以它实际上可能是一个减号或更大的迹象(但我们要禁止他们在序列因为这是我们想从action
分离predicate
令牌)。
本质上,我想predicate
消耗所有非空格,直到它遇到字符串"->"
。
我该如何解决这个问题?
是修复行我有评论如下,或者我应该更好地定义一个predicate
是什么,在一个有效的表达上,并让解析器落入"->"
正确的方法时predicate
结束,根据该有效的表达?
rule %=
predicate
>> "->"
>> action
;
predicate %= (+~(qi::char_("-"))); // BAD: works only if no minus sign in predicate
action %= (+(qi::char_));
优良 - tyvm – kfmfe04