次: 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
<
と同一の優先順位を持ちます。
OR
AND
、&
@
+
、-
*
/
*
と同一の優先順位を持ちます。
DIV
、MOD
*
と同一の優先順位を持ちます。
-
INTEGER
、
REAL
型のデータに対して定義されています。
^
NOT
^
と同一の優先順位を持ちます。
.
RECORD
フィールドの区切り記号です。
RECORD
データに対して定義されます。
^
と同一の優先順位を持ちます。
[]
ARRAY
型のデータに対して定義されています。
^
と同一の優先順位を持ちます。
()
PROCEDURE
オブジェクトに対して定義されています。
^
と同一の優先順位を持ちます。
::
、.
注意: 集合、 および集合に対する操作は、 まだサポートされていません。 このため、 GDBはIN
演算子、 あるいは、 集合に対して+
、-
、*
、/
、=
、<>
、#
、<=
、>=
のいずれかの演算子が使用された場合、 これをエラーとして扱います。