refactoring the expression's analyzer