SUBROUTINE GETFL (ERX, EOF) LOGICAL ERX, EOF LOGICAL EOFFLG INTEGER CMLINE (40), CMX INTEGER RBX INTEGER GCHAR INTEGER ECODE INTEGER CMCHAN INTEGER RBCHAN INTEGER OBCHAN INTEGER MPCHAN INTEGER DBCHAN INTEGER TTYIN INTEGER TTYOUT COMMON /IODEFN/ ECODE COMMON /IODEFN/ CMCHAN COMMON /IODEFN/ RBCHAN COMMON /IODEFN/ OBCHAN COMMON /IODEFN/ MPCHAN COMMON /IODEFN/ DBCHAN COMMON /IODEFN/ TTYIN COMMON /IODEFN/ TTYOUT INTEGER CMFILE (16) INTEGER RBFILE (16) INTEGER OBFILE (16) INTEGER MPFILE (16) INTEGER DBFILE (16) INTEGER TIFILE (3) INTEGER ICLP03 COMMON /FILES / CMFILE COMMON /FILES / RBFILE COMMON /FILES / OBFILE COMMON /FILES / MPFILE COMMON /FILES / DBFILE COMMON /FILES / TIFILE COMMON /FILES / ICLP03 LOGICAL MPFLAG LOGICAL OVMODE LOGICAL LBMODE LOGICAL LOADRB LOGICAL SFLAG INTEGER VERS INTEGER LOADAD INTEGER ZLOC, ZSTR, ZMAX, ZLIMIT INTEGER CLOC, CSTR, CMAX, CLIMIT INTEGER NLOC, NSTR, NMAX, NLIMIT INTEGER DLOC, DSTR, DMAX, DLIMIT INTEGER OLOC, OMAX, OSET INTEGER START INTEGER MODNLX INTEGER CKSUM INTEGER KEY INTEGER ICLP05 COMMON /LDATAX/ MPFLAG COMMON /LDATAX/ OVMODE COMMON /LDATAX/ LBMODE COMMON /LDATAX/ LOADRB COMMON /LDATAX/ SFLAG COMMON /LDATAX/ VERS COMMON /LDATAX/ LOADAD COMMON /LDATAX/ ZLOC, ZSTR, ZMAX, ZLIMIT COMMON /LDATAX/ CLOC, CSTR, CMAX, CLIMIT COMMON /LDATAX/ NLOC, NSTR, NMAX, NLIMIT COMMON /LDATAX/ DLOC, DSTR, DMAX, DLIMIT COMMON /LDATAX/ OLOC, OMAX, OSET COMMON /LDATAX/ START COMMON /LDATAX/ MODNLX COMMON /LDATAX/ CKSUM COMMON /LDATAX/ KEY COMMON /LDATAX/ ICLP05 INTEGER CHAR INTEGER CHMASK INTEGER CR, LF INTEGER CRLF INTEGER BLANK, PERIOD INTEGER BLANKS, DASHES, COLONS, SLASHS INTEGER ACH, BCH, CCH, DCH, ECH, FCH INTEGER GCH, HCH, ICH, JCH, KCH, LCH INTEGER MCH, NCH, OCH, PCH, QCH, RCH INTEGER SCH, TCH, UCH, VCH, WCH, XCH INTEGER YCH, ZCH INTEGER LBRACE, RBRACE INTEGER LBRACK, RBRACK INTEGER ICLP04 COMMON /CHARAC/ CHAR COMMON /CHARAC/ CHMASK COMMON /CHARAC/ CR, LF COMMON /CHARAC/ CRLF COMMON /CHARAC/ BLANK, PERIOD COMMON /CHARAC/ BLANKS, DASHES, COLONS, SLASHS COMMON /CHARAC/ ACH, BCH, CCH, DCH, ECH, FCH COMMON /CHARAC/ GCH, HCH, ICH, JCH, KCH, LCH COMMON /CHARAC/ MCH, NCH, OCH, PCH, QCH, RCH COMMON /CHARAC/ SCH, TCH, UCH, VCH, WCH, XCH COMMON /CHARAC/ YCH, ZCH COMMON /CHARAC/ LBRACE, RBRACE COMMON /CHARAC/ LBRACK, RBRACK COMMON /CHARAC/ ICLP04 INTEGER I DATA EOFFLG /.FALSE./ C WRITE (DBCHAN, 1) C 1FORMAT (' ENTER GETFL') RBX = 1 IF (.NOT. (EOFFLG))GO TO 13030 EOFFLG = .FALSE. GOTO 9999 13030 CONTINUE CALL RDLIN (CMCHAN, CMLINE, 80, ECODE) IF (ECODE .NE. 1) GO TO 9999 CMX = 1 CALL SET (BLANKS, RBFILE, 14) CONTINUE 13032 CONTINUE CHAR = GCHAR (CMLINE, CMX) CMX = CMX + 1 C WRITE (DBCHAN, 2) CHAR C 2FORMAT (' IN GETFL AFTER RDSEQ; CHAR=', I5) IF (IAND(CHAR,CHMASK).EQ.0) CHAR = ISHFT (CHAR,-8) CHAR = IAND (CHAR, CHMASK) IF (.NOT. ((CHAR.EQ.0).OR.(CHAR.EQ.CR).OR.(CHAR.EQ.LF)))GO TO 1303 14 CHAR = BLANK 13034 CONTINUE C WRITE (DBCHAN, 3) CHAR C 3FORMAT (' IN GETFL AFTER TRANSLATION; CHAR=', I5) IF (.NOT. ((RBX.NE.1).AND.(CHAR.EQ.BLANK)))GO TO 13036 GO TO 13033 13036 CONTINUE IF (.NOT. ((CHAR.NE.BLANK).AND.(CHAR.NE.CR).AND.(CHAR.NE.LF)))GO T 1O 13038 IF (.NOT. ((CHAR.EQ.RBRACK).OR.(CHAR.EQ.LBRACK)))GO TO 13040 IF (.NOT. (CHAR.EQ.LBRACK))GO TO 13042 IF (OVMODE) CALL ERROR (14) OVMODE = .TRUE. GO TO 13043 13042 CONTINUE IF (.NOT.OVMODE) CALL ERROR (14) OVMODE = .FALSE. 13043 CONTINUE IF (.NOT. (RBX.NE.1))GO TO 13044 GO TO 13033 13044 CONTINUE GO TO 13041 13040 CONTINUE IF (.NOT. (RBX.LT.28))GO TO 13046 CALL PCHAR (RBFILE, RBX, CHAR) RBX = RBX + 1 13046 CONTINUE 13041 CONTINUE 13038 CONTINUE GO TO 13032 13033 CONTINUE 9997 CONTINUE C WRITE (DBCHAN, 4) RBFILE C 4FORMAT (' ', 10A2) C WRITE (DBCHAN, 5) C 5FORMAT (' EXIT GETFL') ERX = .FALSE. EOF = .FALSE. RETURN 9999 CONTINUE IF (.NOT. (RBX.NE.1))GO TO 13048 EOFFLG = .TRUE. GOTO 9997 13048 CONTINUE C WRITE (DBCHAN, 4) RBFILE C WRITE (DBCHAN, 7) C 7FORMAT (' EXIT GETFL AT 9999') ERX = .FALSE. EOF = .TRUE. RETURN END