$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-users] Boost spirit "%="
From: Space Ship Traveller (space.ship.traveller_at_[hidden])
Date: 2009-06-25 06:00:34
Hi,
I'm looking at (say):
template <typename Iterator>
struct employee_parser : qi::grammar<Iterator, employee(),  
ascii::space_type>
{
     employee_parser() : employee_parser::base_type(start)
     {
         using qi::int_;
         using qi::lit;
         using qi::double_;
         using qi::lexeme;
         using ascii::char_;
         quoted_string %= lexeme['"' >> +(char_ - '"') >> '"'];
         start %=
             lit("employee")
             >> '{'
             >>  int_ >> ','
             >>  quoted_string >> ','
             >>  quoted_string >> ','
             >>  double_
             >>  '}'
             ;
     }
     qi::rule<Iterator, std::string(), ascii::space_type> quoted_string;
     qi::rule<Iterator, employee(), ascii::space_type> start;
};
I can't find any information as to what "%=" does. I know that from  
previous examples
        int_ % ","
parses a list of ints separated by commas, but there is no information  
as to what %= does. If I took a guess it seems to imply that:
        r = r % ","
                - is equivalent to -
        r %= ","
Can someone point me to some documentation?
Kind regards,
Samuel