work off of java operator precedences; disallow mixed associativities when precedences are equal