make use of conditions and macro (un)definitions in preprocessing lexer