emplace_back to save memory
Cleanup
Rework cmake, more compiler flags
Tell the parser to fail on the first error