ExpressionParsing::ast::expression Node1 ExpressionParsing:: ast::expression + first Node2 std::list< ExpressionParsing ::ast::operation > Node2->Node1 +rest Node3 ExpressionParsing:: ast::operation + operand_ Node3->Node2 +elements Node4 std::string Node4->Node3 +operator_ Node5 std::basic_string< char > Node5->Node4