Display clear error message.
add a test case that input is empty.
remove make_parser.
erase costs for constructing std::string.
function generator is not good solution.