compiler precedence progress