No, the real problem is the both C and C++ are context sensitive. (In C compilers, though not C++ ones, &#x27;the lexer hack&#x27; is the most common solution) That&#x27;s fairly hard to parse, although not as bad as some languages. For preprocessing, it&#x27;s fairly easy to write a C preprocessor, and then look at how your code will look if various options are defined... Actually that would be a really good debugging tool. I should go write that. And then make an emacs mode for it, so that you can type one command at any point, and see how your function&#x2F;file&#x2F;whatever will be transformed by the preprocessor.