Finish basic parser rewrite; uses args to limit construction to
particular classes. Still very buggy, but basic structure complete as
shown by tests.