ISO Pascal reference manual
ISO Pascal reference manual
ISO Pascal reference manual
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Chapter 6<br />
status := GetGlobalString<br />
IF status < 0 THEN<br />
ELSE<br />
(sys_ver, 128, sys_ver_len,<br />
'SYS$Version 11);<br />
WriteLn ('Couldn't get system version...');<br />
BEGIN<br />
Write ('System version: ');<br />
FOR j := 1 TO sys_ver_len DO Write (sys_ver[j]);<br />
END;<br />
WriteLn<br />
2. Calling a Fortran Function from <strong>Pascal</strong> (refer to the Acorn 32000<br />
Fortran 77 Reference Manual).<br />
An integer function FNC with two integer parameters written in Fortran<br />
might be <strong>reference</strong>d from Acorn 32000 (extended) <strong>Pascal</strong> as:<br />
TYPE<br />
IntRef =IInteger;<br />
FNCParams = RECORD p1, p2 : IntRef END;<br />
FNCParamsRef =IFNCParams;<br />
IMPORT FUNCTION FNC (p: FNCParamsRef): IntRef;<br />
and used as:<br />
PROCEDURE LocaIFNC (n1, n2: Integer): Integer;<br />
VAR<br />
rp: IntRef; (NB rp does not point into heap, )<br />
( so no NEW/DISPOSE<br />
param: FNCParamsRef;<br />
BEGIN<br />
NEW (param);<br />
WITH paramiDO BEGIN<br />
NEW (p1); NEW (p2);<br />
p11 := a; p21 := b;<br />
rp := FNC (param);<br />
DISPOSE (p1); DISPOSE (p2)<br />
END;<br />
DISPOSE (param);<br />
42 <strong>Pascal</strong> Issue I