1[#getting_started_40] 2 3 struct plus_exp6; 4 using paren_exp5 = middle_of<lparen_token, plus_exp6, rparen_token>; 5 using primary_exp4 = one_of<int_token, paren_exp5, fail<missing_primary_expression>>; 6 using unary_exp4 = foldr_start_with_parser< minus_token, primary_exp4, boost::mpl::lambda<boost::mpl::negate<boost::mpl::_1>>::type >; 7 using mult_exp7 = foldl_reject_incomplete_start_with_parser< sequence<one_of<times_token, divides_token>, unary_exp4>, unary_exp4, boost::mpl::quote2<binary_op> >; 8 struct plus_exp6 : foldl_reject_incomplete_start_with_parser< sequence<one_of<plus_token, minus_token>, mult_exp7>, mult_exp7, boost::mpl::quote2<binary_op> > {}; 9 using exp_parser23 = build_parser<plus_exp6>; 10 11