update precedence code generator