home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.ee.pdx.edu
/
2014.02.ftp.ee.pdx.edu.tar
/
ftp.ee.pdx.edu
/
pub
/
users
/
Harry
/
compilers
/
p11
/
tst
/
param3.pcat
< prev
next >
Wrap
Text File
|
2006-03-05
|
1KB
|
40 lines
(* This program tests passing parameters. *)
program is
procedure foo1 ( x1,y1,z1: integer) is
procedure foo2 ( x2,y2,z2: integer) is
begin
write (" Entering foo2 ( x2=", x2, ", y2=", y2, ", z2=", z2, " )");
write (" Adding 1000 to locals...");
x2 := 1000 + x2;
y2 := 1000 + y2;
z2 := 1000 + z2;
write (" Locals: x2=", x2, ", y2=", y2, ", z2=", z2);
write (" Non-locals: x1=", x1, ", y1=", y1, ", z1=", z1);
write (" Adding 1000 to non-locals...");
x1 := 1000 + x1;
y1 := 1000 + y1;
z1 := 1000 + z1;
write (" Non-locals: x1=", x1, ", y1=", y1, ", z1=", z1);
write (" Leaving foo2");
return;
end;
begin
write (" Entering foo1 ( x1=", x1, ", y1=", y1, ", z1=", z1, " )");
write (" Calling foo2 (201,202,203)");
foo2 (201,202,203);
write (" Locals within foo1: x1=", x1, ", y1=", y1, ", z1=", z1);
write (" Calling foo2 (301,302,303)");
foo2 (301,302,303);
write (" Locals within foo1: x1=", x1, ", y1=", y1, ", z1=", z1);
write (" Leaving foo1");
return;
end;
begin
write ("Within main...");
write ("Calling foo1 (101,102,103)");
foo1 (101,102,103);
write ("Leaving main");
end;