34. Названия, объявленные с метками общедоступности (знак '-' или '+'), могут быть доступны и другим ОТДЕЛам (модулям). Причём знак '+' отмечает элементы, доступные и для чтение и для записи, а знак '-' означает доступ только на чтение.
|
|
ОТДЕЛ Отдел1;
ВИД
Вид1-=НАБОР
x+,y-,z:ЦЕЛ (* x,y доступны внешним отделам *)
КОН;
Вид2=ЦЕЛ; (* Вид2 не доступна внешним отделам *)
ПОСТ
пост1-=1;
пост2 =2; (* пост2 не доступна внешним отделам *)
ПЕР
пер1+:Вид1;
x+,y-,z:ЦЕЛ;
...
...
...
...
ЗАДАЧА^ Задача2; (* опережающее определение
или заготовка задачи *)
ЗАДАЧА Задача1;
...
Задача2;
...
КОН Задача1;
ЗАДАЧА Задача2;
...
КОН Задача2;
ЗАДАЧА Задача3-; (* Задача3 доступна внешним отделам *)
...
Задача1;
...
КОН Задача3;
КОН Отдел1.
|
UNIT Unit1;
INTERFACE
TYPE (* доступны другим модулям *)
Type1=RECORD
x,y,z:INTEGER
END;
CONST
const1=1;
VAR
var1:Type1;
x,y:INTEGER;
PROCEDURE Proc3;
IMPLEMENTATION
TYPE (* НЕ доступны другим модулям *)
Type2=INTEGER;
CONST
const2=2;
VAR
var2:Type2;
z:INTEGER;
...
...
PROCEDURE Proc2; FORWARD;
PROCEDURE Proc1;
...
Proc2;
...
END;
PROCEDURE Proc2;
...
END;
PROCEDURE Proc3;
...
Proc1;
...
END;
END.
|