Restored parser.cpp