http://svn.boost.org/svn/boost/trunk/libs/spirit/example/qi/calc2_ast2.cpp