pub fn extract_tokens(input: String) -> Vec<Token>
Extracts all tokens from the input string using the lexer
Panics if two non-whitespace tokens are found without a valid separator between them.