Exemple #1
0
///////////////////////////////////////////////////////////////////////////////
//  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();
}
Exemple #2
0
int main(
    int argc, char **argv, char **env
) {
    plan(12);

    test_grammar();
    test_hemp_grammar();
    test_hemp_grammar_hemp();

    return done();
}