pTAL Reference Manual (H06.03+)

Procedures, Subprocedures, and Procedure
Pointers
HP pTAL Reference Manual523746-005
14-9
VARIABLE, EXTENSIBLE and RETURNSCC
Procedures as Actual Parameters
VARIABLE, EXTENSIBLE and RETURNSCC Procedures as
Actual Parameters
You can pass a procedure or procedure pointer that includes an EXTENSIBLE,
VARIABLE, or RETURNSCC attribute as a parameter to a procedure whose formal
parameter is a PROC, but you cannot reference the PROC formal parameter identifier
in a CALL statement. Instead, you must assign the address from the formal parameter
to a procedure pointer and then specify the procedure pointer in a CALL statement.
Example 14-2. EXTENSIBLE Procedures as Actual Parameters
PROC p1 (i, j) EXTENSIBLE;
INT i, j;
EXTERNAL;
PROC p2( p );
PROC p;
BEGIN
PROCPTR pp(a, b) EXTENSIBLE; INT a, b; END PROCPTR;
INT i, j;
...
pp := pi;
CALL pp(i, j);
END;
PROC p3;
BEGIN
CALL p2(p1);
END;