pub fn lex(input: &str) -> impl Iterator<Item = Token> + '_
Split a string into tokens.
This returns an iterator that yields tokens. This iterator has static lifetime, though tokens refer to the input string.