let rec token buf = match%sedlex buf with | white_space -> token buf | "a" -> token buf | "b" -> 2 | eof -> 0 | _ -> failwith "Unknown token" let () = let lexbuf = Sedlexing.Utf8.from_string "ab" in print_newline (print_int (token lexbuf))