separate

Explicación

Palabra reservada que se utiliza para identificar una subunidad definida fuera (separada) de la unidad matriz a la que pertenece.

Sintaxis

En la parte de declaraciones de la unidad matriz hay que incluir un body_stub para la subunidad y, cuando ésta se defina, debe ir precedida de una cláusula indicando a que unidad pertenece:

separate (parent_unit_name))
proper_body
parent_unit_name ::= name
proper_body ::= subprogram_body | package_body | task_body | protected_body
subprogram_body ::= procedure_body | function_body

Ejemplo

Unidad matriz:

procedure Ejemplo_Separate is
   procedure Intercambiar (A, B : in out Integer) is separate;
   X, Z : Integer;
begin
   Subunidad (X, Z);
end Ejemplo_Separate;
Subunidad:
separate (Ejemplo_Separate)
procedure Intercambiar (A, B : in out Integer) is
   Aux : Integer := A;
begin
   A := B;
   B := Aux; end Intercambiar;

Véase