A compiler parser in C++