Remove unneeded temporary object instantiation.
Bug fix. qi::parse mutates the iterator of first argument
Fix compile error
Avoid to use std::string and std::istream.