/////////////////////////////////////////////////////////////////////////////// // Main program /////////////////////////////////////////////////////////////////////////////// int main(int argc, char **argv) { std::string rules; int i = 0; std::string str; while (std::getline(std::cin, str)) { if (str.empty() || str[0] == 'q' || str[0] == 'Q') break; str += '\n'; bool r = false; boost::spirit::utree result; BOOST_TEST(r = test_rhs(str, result)); if (r && result.which() != boost::spirit::utree_type::nil_type) { BOOST_TEST(r = test_rule(str)); if (r) { rules += "rule" + boost::lexical_cast<std::string>(++i) + " = " + str + "\n"; } } } // now test grammar rule BOOST_TEST(test_grammar(rules)); return boost::report_errors(); }
int main( int argc, char **argv, char **env ) { plan(12); test_grammar(); test_hemp_grammar(); test_hemp_grammar_hemp(); return done(); }