TDOP parser in C++