yes this is how the ObjC lexer worked, although 90% rewritten i used it for reference. the reason is this enum is "whats next in the stream".. it might return an identifier, a keyword,or any other token.