variability-aware lexer/parser

Hi,

Is it possible to make the lexer and parser in clang a variability-aware? For example, if a C/C++ program contains a #ifdef, #else, #endif sequence, can clang generate AST with conditional nodes? How much effort would be needed?

Thanks,
-Riya