Home

Alloy

Basic

演算子

優先度の高いものから並べた場合
~, ^, *単項演算子
.ドット結合
[]ボックス結合
<:, :>制限演算子
->直積
&集合積
++オーバーライド
#濃度演算子
+,-集合和と集合差
no, some, lone, one, set式の限量と多重度
!, not比較の否定演算子
in, =, <, >, =, =<, =>比較演算子

ドット結合がボックス結合より高い優先度順位を持っているため、a.b[c] は (a.b)[c] と構文解析される。

以下は論理演算子。結合優先順位が高いものから並べた場合

!, not否定演算子
&&, and連言
=>, implies, else含意
<=>, iff両含意
||, or選言
let, no some, lone, one, someletと限量子
含意を除くすべての二項演算子は左結合である。含意だけは右に結合する。
p => q => r は、p => ( q => r ) として構文解釈される。a.b.cは(a.b).cと解釈される。
含意において、else説は最も近いthen節へと関連づけられる。
p => q => r else s
は、
p => ( q => r else s)
と解釈される。