parsing C++ The Wrong Way (tm)