Basic Lexer and Token