HP Pascal/iX Programmer's Guide (31502-90023)

7- 9
$STANDARD_LEVEL 'HP_MODCAL'$
PROGRAM prog;
TYPE
proctype1 = PROCEDURE (a,b : integer);
functype1 = FUNCTION (c : integer) : char;
proctype2 = PROCEDURE;
functype2 = FUNCTION : integer;
VAR
s : char;
PROCEDURE p (procparm1 : proctype1;
funcparm1 : functype1);
VAR
ch : char;
BEGIN
call(procparm1,1,2);
ch := fcall(funcparm1,3);
END;
FUNCTION f (procparm2 : proctype2;
funcparm2 : functype2);
VAR
i : integer;
BEGIN
call(procparm2);
i := fcall(funcparm2);
END;
PROCEDURE actual_procparm1 (x,y : integer);
BEGIN
.
.
.
END;
FUNCTION actual_funcparm1 (z : integer) : char;
BEGIN
.
.
.
END;
(
Example is continued on next page
.)
PROCEDURE actual_procparm2;
BEGIN
.
.
.
END;
FUNCTION actual_funcparm2 : integer;
BEGIN
.
.
.
END;
BEGIN {prog}
p(addr(actual_procparm1), addr(actual_funcparm1));
s := f(addr(actual_procparm2), addr(actual_funcparm2));
END. {prog}