let token_list (lexfun : Lexing.lexbuf -> token) (lexbuf : Lexing.lexbuf) =
let rec list_tokens rtokens =
match (lexfun lexbuf) with
| EOF -> List.rev (EOF::rtokens)
| tk -> list_tokens (tk::rtokens) in
list_tokens []