Add basic c++ version of parser