未定義だからどう動くか判らないは、仕様上の話だと思っています。 実際はランダムに動いているわけではなく、現状のプログラム処理によって動いている筈です。アプデ等で変わってしまう可能性は充分ありますが、それでも、それまでは現状の動作を続ける筈です。 おおざつぱに、それも演算子にしても+と*しか確認していませんが、構文解析処理でまず演算子と項の部分を分離してスタックに積んで、次の処理でスタツクから取り出しながら項をリテラルになるまで評価して(もしくは、再起呼び出しでまず行きで、演算子と項を分離して、帰りに項をリテラルにしている可能性もありますが)いるのだろうと仮定すると、あながち間違いではないかなと。 細かく検証したら違う動きも見えるかも知れませんが、追求しても仕方ない所だし、この動きに頼る事はないと思うので、とりあえず、現状の動作として結論付けた感じです。