pub fn tchar<I, E>(input: I) -> IResult<I, char, E>where I: Input, <I as Input>::Item: AsChar, E: ParseError<I>,
TCHAR = "!" / "#" / "$" / "%" / "&" / "'" / "*" / "+" / "-" / "." / "^" / "_" / "`" / "|" / "~" / DIGIT / ALPHA