Yacc / Bison, minimiza la cantidad al agrupar operaciones matemáticas

Estoy mirando la fuente de calc aquíhttp://epaperpress.com/lexandyacc/

Veo estas lineas en calc.y

| expr '+' expr         { $ = opr('+', 2, $1, $3); }
| expr '-' expr         { $ = opr('-', 2, $1, $3); }
| expr '*' expr         { $ = opr('*', 2, $1, $3); }
| expr '/' expr         { $ = opr('/', 2, $1, $3); }
| expr '<' expr         { $ = opr('<', 2, $1, $3); }
| expr '>' expr         { $ = opr('>', 2, $1, $3); }

¿Hay alguna forma de agruparlos? así que puedo escribir algo como el siguiente en su lugar?

| expr mathOp expr         { $ = opr(mathOp, 2, $1, $3); }
| expr cmpOp  expr         { $ = opr(cmpOp, 2, $1, $3); }

NOTA: Estoy usando bisonte.

Respuestas a la pregunta(2)

Su respuesta a la pregunta