joel wrote:
I just switched from 39 to 40 and my proto code that was working doesn't anymore. I define a grammar that matches any terminal, any nary functions except for address_of and comma like this :
struct grammar : bp::or_< bp::terminal< block<bp::_,bp::_> > , meta::lambda_term< boost::is_arithmetic > , bp::and_< bp::nary_expr< bp::_, bp::vararg< grammar > > , bp::not_< meta::low_level<bp::_> > , bp::not_< meta::stream<bp::_,bp::_> >
{};
Oh and of course the missing ones :
template<class Grammar> struct low_level : boost::proto::or_< boost::proto::address_of<Grammar> , boost::proto::dereference<Grammar> , boost::proto::comma<Grammar,Grammar> > {}; template<class Left, class Right> struct stream : boost::proto::or_< boost::proto::shift_left<Left,Right> , boost::proto::shift_right<Left,Right> > {}; Sorry for the noise -- ___________________________________________ Joel Falcou - Assistant Professor PARALL Team - LRI - Universite Paris Sud XI Tel : (+33)1 69 15 66 35