Boost.Qi rule with skipper does not match '.' character
问题 So I have the following qi skipper: template<typename Iterator> struct verilog_skipper : public qi::grammar<Iterator> { verilog_skipper() : verilog_skipper::base_type(skip) { namespace phx = boost::phoenix; skip = qi::ascii::space | qi::eol | line_comment; line_comment = (qi::lit("//") >> *(qi::char_ - qi::eol) >> *(qi::eol)); } qi::rule<Iterator> skip; qi::rule<Iterator> line_comment; }; and the following qi grammar: template <typename Iterator, typename Skipper = verilog_skipper<Iterator>