主要な言語について、演算子の優先順位の設計を比較します。
自作言語の設計等に役立ててください。
算術演算 vs ビット演算
多くの言語では、算術演算がビット演算に優先します。
*, /
+, –
&
|
しかし、GoとSwiftではこれらの階層が混在しています。
*, /, &
+, -, |
半環だと思えば似たようなもの、という発想でしょう。
単項マイナス vs 冪乗
冪乗の演算子 ** をもつ言語では、しばしば単項マイナスとの順序について特別なルールを持ちます。つまり、基数にマイナスがついた場合、それは項全体を反転させると考えます。この…
Source link
Views: 0