Yacc / Bison, minimieren Sie die Menge, indem Sie mathematische Operationen gruppieren

Ich schaue hier auf die Calc-Quellehttp://epaperpress.com/lexandyacc/

Ich sehe diese Zeilen in 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); }

Gibt es eine Möglichkeit, sie zu gruppieren? also kann ich stattdessen etwas wie das unten stehende schreiben?

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

HINWEIS: Ich benutze Bison.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage