次: Built-In Func/Proc, 前: Modula-2, 上: Modula-2
演算子は、
特定の型の値に対して定義されなければなりません。
例えば、
+は数値に対して定義され、
構造体に対しては定義されません。
演算子は、
型のグループに対して定義されることがよくあります。
Modula-2においては、
以下の定義が有効です。
INTEGER、
CARDINAL、
およびそのサブ範囲
(subrange)
から成ります。
CHARとそのサブ範囲から成ります。
REALから成ります。
POINTER TO type
のように宣言された任意の型から成ります。
SET、
BITSETから成ります。
BOOLEANから成ります。
以下の演算子がサポートされています。 ここでは、 優先順位の低いものから順に並べています。
,:=:= valueの値は
valueです。
<、><=、>=<と同一の優先順位を持ちます。
=、<>、#<と同一の優先順位を持ちます。
GDBスクリプトの中では、
#がスクリプトのコメント記号でもあるため、
不等価としては<>だけが使用可能です。
IN<と同一の優先順位を持ちます。
ORAND、&@+、-*/*と同一の優先順位を持ちます。
DIV、MOD*と同一の優先順位を持ちます。
-INTEGER、
REAL型のデータに対して定義されています。
^NOT^と同一の優先順位を持ちます。
.RECORDフィールドの区切り記号です。
RECORDデータに対して定義されます。
^と同一の優先順位を持ちます。
[]ARRAY型のデータに対して定義されています。
^と同一の優先順位を持ちます。
()PROCEDUREオブジェクトに対して定義されています。
^と同一の優先順位を持ちます。
::、.注意: 集合、 および集合に対する操作は、 まだサポートされていません。 このため、 GDBはIN演算子、 あるいは、 集合に対して+、-、*、/、=、<>、#、<=、>=のいずれかの演算子が使用された場合、 これをエラーとして扱います。