Make the parser's main loops clear and consistent