diff --git a/liblll/Parser.cpp b/liblll/Parser.cpp index de0a5428a..98583f332 100644 --- a/liblll/Parser.cpp +++ b/liblll/Parser.cpp @@ -87,9 +87,16 @@ void eth::parseTreeLLL(string const& _s, sp::utree& o_out) qi::rule sload = qi::lit("@@") > element; qi::rule mstore = '[' > element > ']' > -qi::lit(":") > element; qi::rule sstore = qi::lit("[[") > element > qi::lit("]]") > -qi::lit(":") > element; - qi::rule extra = sload[qi::_val = qi::_1, bind(&sp::utree::tag, qi::_val, 2)] | mload[qi::_val = qi::_1, bind(&sp::utree::tag, qi::_val, 1)] | sstore[qi::_val = qi::_1, bind(&sp::utree::tag, qi::_val, 4)] | mstore[qi::_val = qi::_1, bind(&sp::utree::tag, qi::_val, 3)] | seq[qi::_val = qi::_1, bind(&sp::utree::tag, qi::_val, 5)]; qi::rule list = '(' > *element > ')'; + + // todo: fix compound compile errors in this line for Visual Studio 2013 +#ifndef _MSC_VER + qi::rule extra = sload[qi::_val = qi::_1, bind(&sp::utree::tag, qi::_val, 2)] | mload[qi::_val = qi::_1, bind(&sp::utree::tag, qi::_val, 1)] | sstore[qi::_val = qi::_1, bind(&sp::utree::tag, qi::_val, 4)] | mstore[qi::_val = qi::_1, bind(&sp::utree::tag, qi::_val, 3)] | seq[qi::_val = qi::_1, bind(&sp::utree::tag, qi::_val, 5)]; element = atom | list | extra; +#else + element = atom | list/* | extra*/; +#endif + string s; s.reserve(_s.size()); diff --git a/neth/main.cpp b/neth/main.cpp index 5a099ebf2..58e3e9508 100644 --- a/neth/main.cpp +++ b/neth/main.cpp @@ -1022,7 +1022,7 @@ vector form_dialog(vector _sv, vector _lv, vector field(maxfields); int ch; int starty = 6; @@ -1061,7 +1061,7 @@ vector form_dialog(vector _sv, vector _lv, vector