added support for non-nested #ifdef, #ifndef, and #endif