hide the parser state

this shouldn't be public (none of the parser stuff should be), but the
way i was doing before with redefining certain types from parser.h was
causing warnings on clang.