プログラミング言語の演算子の優先順位
|
説明
|
|
•
|
プログラミング言語の演算子の優先順位は以下の通りで、拘束力の強い順に上から並んでいます。
|
|| (左に結合的)
:- (左に結合的)
:: (非結合的)
% (非結合的)
&-operators (左に結合的)
! (左に結合的)
^, @@ (非結合的)
., *, &*, /, @, intersect (左に結合的)
+, -, union, minus (左に結合的)
mod (非結合的)
subset (非結合的)
.. (非結合的)
<, <=, >, >=, =, <>、in (非結合的)
$ (非結合的)
not (右に結合的)
and (左に結合的)
or (左に結合的)
xor (左に結合的)
implies (非結合的)
-> (右に結合的)
, (左に結合的)
assuming (非結合的)
:= (非結合的)
•
|
上で ^ と @@ が非結合的とされていることに注意しましょう。つまり、a^b^c という表現は Maple においては正しくありません(括弧が必要)。
|
•
|
論理演算子を含む式の評価は、単に論理演算子の結合規則や優先度に従うのではなく、式の意味を考慮して行われます。つまり、演算子 and, or, xor, implies の左オペランドは常に最初に評価され、式全体の真偽値が左オペランドの値だけで確定できるときには、右オペランドの評価は行われません。
|
•
|
モジュール・メンバー選択子 :- の簡単化と評価には特殊な規則があります。それは直ちに自動的にそれが表しているモジュールのメンバーである局所変数の実体に置き換えられてしまいます。演算子 :- を含む式を複合したデータ構造として操作することは不可能です。演算子 :- の左に現れる式は、モジュールと評価されるものでなければなりません(そうでなければ、エラーになります)。さらに、:- の右に現れる記号はそのモジュールのエクスポートされたメンバーの変数名でなければなりません。
|
|
|
Download Help Document
Was this information helpful?