演算子を分かりやすく内部管理する方法

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) )

と言う風に考えてはどうかと思いつきました。
順番が変わらなくて、演算子の種類を明記できるので分かりやすいのではないかと。