Refactoring 'CharLexer' and 'CharToken'