HP Pascal/iX Programmer's Guide (31502-90023)
9- 19
COBOL II program:
IDENTIFICATION DIVISION.
PROGRAM-ID. COBOL-TO-PASCAL.
AUTHOR. BP.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 ASTRING PIC X(16) VALUE "A COBOL STRING!".
77 ANUM PIC 9(04) USAGE COMP.
77 ANUM2 PIC 9(04) USAGE COMP.
77 RESULT PIC -ZZZZ.
PROCEDURE DIVISION.
FIRST-PARA.
MOVE 9999 TO ANUM.
DISPLAY ASTRING.
CALL "PASPROG" USING ASTRING, \ANUM\, ANUM2.
MOVE ANUM2 TO RESULT.
DISPLAY ASTRING, RESULT.
STOP RUN.
Pascal procedure:
$SUBPROGRAM$
PROGRAM pas_proc;
TYPE
charstr = PACKED ARRAY [1..16] OF char;
PROCEDURE pasprog(VAR astr : charstr;
num : short_int;
VAR num2 : short_int);
BEGIN
astr := 'A PASCAL STRING!';
num2 := num;
END;
BEGIN
END.
Example 3
The following FORTRAN 66/V program calls the external Pascal procedure
pas:
INTEGER INT1, INT2, ISUM
CHARACTER CSTR*20
CSTR = "Add these 2 numbers"
INT1 = 25
INT2 = 15
DISPLAY CSTR, INT1, INT2
CALL PAS(CSTR,\INT1\,\INT2\,ISUM)
DISPLAY CSTR, ISUM
STOP
END
Pascal procedure:
$SUBPROGRAM$
PROGRAM example(input,output);
TYPE
arr = PACKED ARRAY [1..20] OF char;
small_int = -32768..32767;
PROCEDURE pas $CHECK_ACTUAL_PARM 0; CHECK_FORMAL_PARM 0$
(VAR carr : arr;
sint : small_int;
sint2 : small_int;