rem: definition(calculator const& )
add: definition(calculator const& self)
context:         definition(calculator const& /*self*/)        {            expression                =   term                    >> *(   ('+' >> term)[&do_add]                        |   ('-' >> term)[&do_subt]                        )                ;            term                =   factor                    >> *(   ('*' >> factor)[&do_mult]                        |   ('/' >> factor)[&do_div]                        )                ;            factor                =   lexeme_d[(+digit_p)[&do_int]]                |   '(' >> expression >> ')'                |   ('-' >> factor)[&do_neg]                |   ('+' >> factor)                ;            BOOST_SPIRIT_DEBUG_NODE(expression);            BOOST_SPIRIT_DEBUG_NODE(term);            BOOST_SPIRIT_DEBUG_NODE(factor);        }