If you perform full recursive descent parsing - to the level of unary operators, as you 'back out' you do not lose left or right associative properties.

If you are working with natural language, forget it. No descent parser will ever work correctly, because the rules change on the fly as a function of antecedence and hermaneutic analysis.

What the heck are you doing? Writing another compiler?