Code style fix.
Make abstract parser more re-usable. Properly document usage. Reorganize methods.