feat(lexer): limit to 3 properties