8

The Pascal main program,

VarRecmain.p

program VarRecmain;

type

vr = record

case tag: char of

'a': ( ch1, ch2: char );

'b': ( flag: boolean );

'K': ( ALIGN: integer )

end;

var

Rec: vr;

procedure varrec(var d: vr); external fortran;

begin

Rec.tag := 'a'; Rec.ch1 := 'a'; Rec.ch2 := 'b'; varrec(Rec); writeln(Rec.ch2)

end. { VarRecmain }

The commands to compile and execute VarRec.f and VarRecmain.p without –xl

hostname% f77 -c VarRec.f VarRec.f:

varrec:

hostname% pc VarRec.o VarRecmain.p -lpfc -lF77 hostname% a.out

b

Value Parameters

With external fortran on the procedure statement, Pascal passes value parameters as FORTRAN expects them.

The FORTRAN–Pascal Interface

197

Page 221
Image 221
HP SunSoft Pascal 4.0 manual Pascal main program, FORTRAN-Pascal Interface 197