minor (untested) precedence parser refactoring