update namespace; node -> node_type
use aliases for shared_ptr types
add skeleton of parser using boost::spirit::qi
use an exception on syntax error