::
と.
Modula-2のスコープ演算子
(.
)
とGDBのスコープ演算子
(::
)
との間には2、
3の微妙な相違点があります。
この2つは似た構文を持っています。
module . id scope :: id
ここで、 scopeはモジュール名またはプロシージャ名、 moduleはモジュール名、 idはユーザ・プログラムの中で宣言された任意の (異なるモジュール以外の) 識別子です。
::
演算子を使用すると、
GDBはscopeによって指定されたスコープにおいて識別子idを探します。
指定されたスコープにおいてそれを見つけることができないと、
GDBはscopeによって指定されたスコープを包含するすべてのスコープを探します。
.
演算子を使用すると、
GDBはカレントなスコープにおいて、
modueによって指定された定義モジュールから取り込まれた、
idによって指定される識別子を探します。
この演算子では、
識別子idが定義モジュールmoduleから取り込まれていない場合やmoduleにおいてidが識別子でない場合は、
エラーになります。