parser operator precedence