fixed all the ambiguity and the shift/reduce conflict.