SUBROUTINE PRINT INTEGER INPTR INTEGER OUTPTR INTEGER INMAX INTEGER MAXTAB INTEGER MAXLIN INTEGER IFMAX INTEGER MAXLEV INTEGER LINENO INTEGER PAGE INTEGER CLINE INTEGER TLIMIT INTEGER LN INTEGER I, J, K INTEGER II, JJ, KK INTEGER LEXVAL INTEGER SLEN INTEGER LEVEL INTEGER LEN INTEGER INCHAN INTEGER OUTCHN INTEGER LPTCHN INTEGER TTICHN INTEGER TTOCHN INTEGER PROCCN INTEGER COMCHN INTEGER TABS (10) LOGICAL SKIPFL LOGICAL POFF LOGICAL FIRST INTEGER ISP INTEGER ICSTK (20) INTEGER IFSP INTEGER IFST (20) INTEGER LPSP INTEGER LPST (100) LOGICAL TSEEN INTEGER CHAR INTEGER CTEMP LOGICAL NEWFIL INTEGER COMPMS (11) INTEGER LSAVE (5) LOGICAL PSAVE (5) INTEGER FFILE INTEGER EOF INTEGER LETTER INTEGER DIGIT INTEGER TAB INTEGER EOL INTEGER BLANK INTEGER QUOTE INTEGER GIZZY INTEGER LPAREN INTEGER RPAREN INTEGER AST INTEGER COMMA INTEGER PERIOD INTEGER SLASH INTEGER CHAR0 INTEGER CHAR1 INTEGER CHAR9 INTEGER SEMI INTEGER EQUAL INTEGER CHARA INTEGER CHARZ INTEGER BBLANK INTEGER UPAROW INTEGER DOOP INTEGER WHILE INTEGER ENDOP INTEGER FOR INTEGER DOLOOP INTEGER BREAK INTEGER NEXT INTEGER IFOP INTEGER ELSE INTEGER ENDIF INTEGER DEFINE INTEGER HEAD INTEGER EJECT INTEGER INCLUD INTEGER OUTFIL INTEGER IBUF (42) INTEGER PBUF (58) INTEGER HBUF (42) INTEGER OUTBUF (42) INTEGER BUF (58) INTEGER NAME (22) LOGICAL QSEEN COMMON /STRN/ INPTR COMMON /STRN/ OUTPTR COMMON /STRN/ INMAX COMMON /STRN/ MAXTAB COMMON /STRN/ MAXLIN COMMON /STRN/ IFMAX COMMON /STRN/ MAXLEV COMMON /STRN/ LINENO COMMON /STRN/ PAGE COMMON /STRN/ CLINE COMMON /STRN/ TLIMIT COMMON /STRN/ LN COMMON /STRN/ I, J, K COMMON /STRN/ II, JJ, KK COMMON /STRN/ LEXVAL COMMON /STRN/ SLEN COMMON /STRN/ LEVEL COMMON /STRN/ LEN COMMON /STRN/ INCHAN COMMON /STRN/ OUTCHN COMMON /STRN/ LPTCHN COMMON /STRN/ TTICHN COMMON /STRN/ TTOCHN COMMON /STRN/ PROCCN COMMON /STRN/ COMCHN COMMON /STRN/ TABS COMMON /STRN/ SKIPFL COMMON /STRN/ POFF COMMON /STRN/ FIRST COMMON /STRN/ ISP COMMON /STRN/ ICSTK COMMON /STRN/ IFSP COMMON /STRN/ IFST COMMON /STRN/ LPSP COMMON /STRN/ LPST COMMON /STRN/ TSEEN COMMON /STRN/ CHAR COMMON /STRN/ CTEMP COMMON /STRN/ NEWFIL COMMON /STRN/ COMPMS COMMON /STRN/ LSAVE COMMON /STRN/ PSAVE COMMON /STRN/ FFILE COMMON /STRN/ EOF COMMON /STRN/ LETTER COMMON /STRN/ DIGIT COMMON /STRN/ TAB COMMON /STRN/ EOL COMMON /STRN/ BLANK COMMON /STRN/ QUOTE COMMON /STRN/ GIZZY COMMON /STRN/ LPAREN COMMON /STRN/ RPAREN COMMON /STRN/ AST COMMON /STRN/ COMMA COMMON /STRN/ PERIOD COMMON /STRN/ SLASH COMMON /STRN/ CHAR0 COMMON /STRN/ CHAR1 COMMON /STRN/ CHAR9 COMMON /STRN/ SEMI COMMON /STRN/ EQUAL COMMON /STRN/ CHARA COMMON /STRN/ CHARZ COMMON /STRN/ BBLANK COMMON /STRN/ UPAROW COMMON /STRN/ DOOP COMMON /STRN/ WHILE COMMON /STRN/ ENDOP COMMON /STRN/ FOR COMMON /STRN/ DOLOOP COMMON /STRN/ BREAK COMMON /STRN/ NEXT COMMON /STRN/ IFOP COMMON /STRN/ ELSE COMMON /STRN/ ENDIF COMMON /STRN/ DEFINE COMMON /STRN/ HEAD COMMON /STRN/ EJECT COMMON /STRN/ INCLUD COMMON /STRN/ OUTFIL COMMON /STRN/ IBUF COMMON /STRN/ PBUF COMMON /STRN/ HBUF COMMON /STRN/ OUTBUF COMMON /STRN/ BUF COMMON /STRN/ NAME COMMON /STRN/ QSEEN LOGICAL TLOGIC INTEGER GCHAR, FORMF DATA FORMF /Z0C0D0D0D/ IF (.NOT. ((.NOT.POFF) .AND. LPTCHN .GE. 0))GO TO 13057 TLOGIC=.NOT.SKIPFL IF (.NOT. (TLOGIC))GO TO 13059 IF (.NOT. (TSEEN))GO TO 13061 CALL SET(BBLANK,PBUF,56) II = 1 JJ = 1 CONTINUE 13063 CONTINUE IF (.NOT.(II .LT. INMAX))GO TO 13064 CHAR = GCHAR (IBUF, II) IF (.NOT. (CHAR .NE. TAB))GO TO 13065 CALL PCHAR (PBUF, JJ, CHAR) JJ = JJ + 1 GO TO 13063 13065 CONTINUE DO 13067 K = 1, MAXTAB IF (.NOT. (JJ .GE. TABS (K)))GO TO 13069 13067 CONTINUE CALL PCHAR (PBUF, JJ, CHAR) JJ = JJ + 1 GO TO 13063 13069 CONTINUE TLIMIT = TABS (K) DO 13071 JJ = JJ, TLIMIT CALL PCHAR (PBUF, JJ, BLANK) 13071 CONTINUE GO TO 13063 13064 CONTINUE 13061 CONTINUE IF (.NOT. (CLINE .GE. MAXLIN))GO TO 13073 IF (.NOT. (FIRST))GO TO 13075 FIRST = .FALSE. CALL SET(BBLANK,HBUF,40) 13075 CONTINUE PAGE = PAGE + 1 CALL SET (BBLANK, BUF, 60) CALL EST ('PAGE ', BUF, 1, 5) CALL ESP (PAGE, BUF, 6, 9) CALL EST (' ', BUF, 10, 13) CALL EST (HBUF, BUF, 14, 64) KK = 1 CALL WRLIN (LPTCHN, FORMF, KK) CALL PCHAR (BUF, 65, EOL) KK = 64 CALL WRLIN (LPTCHN, BUF, KK) CALL SET(BBLANK,BUF,2) KK = 1 CALL WRLIN (LPTCHN, BUF, KK) CLINE = 0 13073 CONTINUE GO TO 13060 13059 CONTINUE SKIPFL = .FALSE. RETURN 13060 CONTINUE IF (.NOT. (LINENO .NE. 0))GO TO 13077 CALL SET (BBLANK, BUF, 5) CALL ESP (LINENO, BUF, 1, 4) IF (.NOT. (TSEEN))GO TO 13079 TSEEN = .FALSE. CALL EST (PBUF, BUF, 9, 120) CALL PCHAR (BUF, 121, EOL) KK = 120 GO TO 13080 13079 CONTINUE CALL EST (IBUF, BUF, 9, 88) CALL PCHAR (BUF, 89, EOL) KK = 88 13080 CONTINUE CALL WRLIN (LPTCHN, BUF, KK) 13077 CONTINUE CLINE = CLINE + 1 13057 CONTINUE RETURN END