gpt4 book ai didi

c++ - 提神气 : How to report parser warnings?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:57:13 24 4
gpt4 key购买 nike

如何报告解析器警告?类似于报告错误,但解析器不能停止。仅记录警告消息和引起警告的子表达式。

示例输入:

 select * from table where row>='' && row<>'hello'

预期输出:

 Warning: expression is always true: row>=''
Warning: && is deprecated, use AND: row>='' && row<>'hello'
Warning: <> is deprecated, use !=: row<>'hello'

最佳答案

如果你想继续解析你可以像以前一样注册一个错误处理程序,除了你必须指定 accept 作为处理程序策略:

rule<Iterator> r = ... > !eps;
on_error<accept>(r, handler);

附加的 > !eps 在任何情况下都会强制错误并像往常一样调用 handler ,但它会在“错误”之后接受匹配,就像继续一样什么都没发生。

关于c++ - 提神气 : How to report parser warnings?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6135762/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com