A lexical analyzer