first approximation of code to parse c/c++ without being confused by string literals, comments, and #ifdefs