演算子を分かりやすく内部管理する方法
a = --x + y++
は
"="(a, "+"( "--"(x), "++"(y) )
や
assign(a, add( dec(x), inc(y) )
と考えるのが普通です。
しかし、xoxが2項演算子、xoが前置単項演算子、oxが後置単項演算子、xoyがうんたら再帰の2項演算子として
xoy(a, "=", xox( xo("--", x), "+", ox(y, "++") )
や
xoy(a, assign, xox( xo(dec, x), add, ox(y, inc) )
と言う風に考えてはどうかと思いつきました。
順番が変わらなくて、演算子の種類を明記できるので分かりやすいのではないかと。