gpt4 book ai didi

c++ - 为XML注释标签增强Spirit Qi规则

转载 作者:行者123 更新时间:2023-12-02 10:12:46 24 4
gpt4 key购买 nike

XML注释标签的EBNF规则是:

Comment ::= '<!--' ((Char - '-') | ('-' (Char - '-')))* '-->'
如何获得Boost Spirit Qi法则呢?
using boost::spirit::qi::ascii::char_;
using boost::spirit::qi::lit;
comment = lit("<!--") >> *((~char_('-') >> char_) | (char_('-') >> ~char_('-'))) >> lit("-->");
这是我的最佳尝试,但不正确...

最佳答案

我想直接说一下:

comment = "<!--" > *(qi::char_ - "--") > "-->";
记住要使规则成为词素(禁用/忽略船长)。 (请参阅 Boost spirit skipper issues)
#include <boost/spirit/include/qi.hpp>
namespace qi = boost::spirit::qi;
using It = std::string::const_iterator;

int main() {
qi::rule<It> comment; // lexeme
comment = "<!--" > *(qi::char_ - "--") > "-->";
}

关于c++ - 为XML注释标签增强Spirit Qi规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62944621/

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