Ok, thank you for the link.

2010/11/30 Hartmut Kaiser <hartmut.kaiser@gmail.com>
> Sorry, but I meant that it has to compute the final result.
> What would you recommend to do that ?

Why don't you look for yourself here: $BOOST_ROOT/libs/spirit/example/qi/calc3.cpp (or any of the more complex calculator examples)?

Regards Hartmut
---------------
http://boost-spirit.com

>
> 2010/11/30 Eloi Du Bois <eloi.du.bois@gmail.com> Wow ! Excellent :)
>
> I thought it would be more verbose than that.
>
> Thank you very much,
> Eloi Du Bois.
> 2010/11/30 Hartmut Kaiser <hartmut.kaiser@gmail.com>
> > > > Is there a simple math expression parser in boost ?
>
> > > > I only need to parse those kind of expression: "1+2/3".
> > > I believe Spirit is exactly what you're looking for. It has almost a
> > > dozen different calculator examples to choose from as a starting
> > > point for your needs.
> > >
> > > > I have been thinking on boost::spirit, but it is quite hard for
> > > > what I need.
> > > Why?
> >
> > I very enjoy playing with spirit, but I was looking for a 5-line code
> > that only boost have the secret...
> Well, not exactly five lines, but here is a simple calculator grammar
> written in Spirit:
>
>    namespace qi = boost::spirit::qi;
>
>    template <typename Iterator>
>    struct calculator : qi::grammar<Iterator, qi::space_type>
>    {
>        calculator() : calculator::base_type(expression)
>        {
>            expression = term >> *( ('+' >> term) | ('-' >> term) ) ;
>            term = factor >> *( ('*' >> factor) | ('/' >> factor) ) ;
>            factor = qi::uint_ | '(' >> expression >> ')' |
>                             ('-' >> factor) | ('+' >> factor) ;
>        }
>        qi::rule<Iterator, qi::space_type> expression, term, factor;
>    };
>
> And here is how to use it:
>
>    std::string input("1+2/3");
>    calculator<std::string::const_iterator> calc;
>    if (phrase_parse(input.begin(), input.end(), calc, qi::space))
>        std::cout << "successfully parsed: " << input << std::endl;
>
> Regards Hartmut
> ---------------
> http://boost-spirit.com
>
>
>
> _______________________________________________
> Boost-users mailing list
> Boost-users@lists.boost.org
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>


_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users