From e74dfb4685ff39a490a628438ee926a680fd86f8 Mon Sep 17 00:00:00 2001 From: Gav Wood Date: Wed, 14 May 2014 17:34:07 +0100 Subject: LLL parser using boost::spirit. --- main.cpp | 40 ---------------------------------------- 1 file changed, 40 deletions(-) (limited to 'main.cpp') diff --git a/main.cpp b/main.cpp index 2ca0ac18..674bb142 100644 --- a/main.cpp +++ b/main.cpp @@ -21,9 +21,6 @@ */ #include -#include -#include -#include int trieTest(); int rlpTest(); @@ -38,48 +35,11 @@ int peerTest(int argc, char** argv); #include using namespace std; using namespace eth; -namespace qi = boost::spirit::qi; -namespace px = boost::phoenix; -namespace sp = boost::spirit; - -template struct whitespace: qi::grammar -{ - qi::rule start; - whitespace(): whitespace::base_type(start) - { - start = *boost::spirit::standard::space;// | (';' >> *(boost::spirit::standard::char_ - qi::eol) >> qi::eol); - } -}; - -ostream& operator<<(ostream& _out, sp::utree const& _this) -{ - switch (_this.which()) - { - case sp::utree_type::list_type: _out << "( "; for (auto const& i: _this) ::operator<<(_out, i) << " "; _out << ")"; break; - case sp::utree_type::int_type: _out << _this.get(); break; - case sp::utree_type::string_type: _out << _this.get(); break; - default: _out << "nil"; - } - return _out; -} BOOST_AUTO_TEST_CASE(basic_tests) { cnote << "Hello"; -/* - auto symbol = qi::lexeme[+(~qi::char_(std::string(" ();\"\x01-\x1f\x7f") + '\0'))]; - auto integer = qi::lexeme[ qi::no_case["#x"] >> qi::hex] | qi::lexeme[ qi::no_case["#o"] >> qi::oct] | qi::lexeme[-qi::no_case["#d"] >> qi::int_]; - qi::rule atom = symbol | integer; - qi::rule list; - qi::rule element = atom | list; - list = '(' > *element > ')'; - string input = "(suicide (caller))"; - sp::utree out; - - qi::parse(input.begin(), input.end(), element, out); - cnote << out; -*/ /* RLPStream s; BlockInfo::genesis().fillStream(s, false); std::cout << RLP(s.out()) << std::endl; -- cgit