let char s =
if (String.length s) = 1
then s.[0]
else
if (String.length s) = 0
then failwith "invalid char token"
else
(let (__strm : _ Stream.t) = Stream.of_string s
in
match Stream.peek __strm with
| Some '\\' ->
(Stream.junk __strm;
(try backslash __strm
with | Stream.Failure -> raise (Stream.Error "")))
| _ -> failwith "invalid char token")