右結合 【right-associative】 右結合性

概要

右結合(right-associative)とは、中置記法の中に優先順位が同じ演算子が複数ある時、左側から計算するもの。何らかの演算子☆があるとき、「x☆y☆z」は「x☆(y☆z)」に等しくなる。

数学でもプログラミングでも、「a+b」のように演算子被演算子の間に書く中置記法では、様々な演算子を組み合わせたを評価する際に「掛け算は足し算より先に計算する」といった優先順位が決まっている。順位を逆にして先に計算したい箇所は ( ) で括る必要がある。

式中に2つ以上の演算子が連続していて優先順位が同じである場合に、右側から左に向かって順に結合していくルールを右結合という。代入演算子を採用しているプログラミング言語ではこれが右結合となっていることが多く、「a=b=c=d」を「a=(b=(c=d)」のように評価し、aとbとcにdの代入される。

一方、左側から右に向かって結合していくルールは「左結合」(left-associative)と呼ばれる。多くの言語では加減乗除など大半の演算子左結合であり、「a-b-c-d」は「((a-b)-c)-d」と等しくなる。比較演算子の「<」や「>」のようにどちらでもないものは「非結合」(non-associative)という。

冪乗ab)の演算子が定められている言語では、これを左結合とするものと右結合とするものに分かれる。例えば、Visual Basic冪乗演算子「^」は左結合なので「a^b^c」が「(a^b)^c」と解釈されるが、RubyJavaScript冪乗演算子「**」は右結合であるため「a**b**c」は「a**(b**c)」と解釈される。

(2024.6.28更新)
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる