PROGRAM RBLIST INTEGER GCHAR 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 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 INTEGER RBQUES (7) INTEGER LSQUES (4) INTEGER ANSWER (16) INTEGER DFAULT (5) DATA RBQUES /'RB',' F','IL','E ','NA','ME','? '/ DATA LSQUES /'LS',' F','IL','E?'/ DATA DFAULT /'RB','LI','ST','LS','T '/ CONTINUE 13000 CONTINUE CALL SET (BLANKS, ANSWER, 14) CALL SET (BLANKS, RBFILE, 14) CALL WRLIN (TTYOUT, RBQUES, 14) CALL RDLIN (TTYIN, ANSWER, 30, ECODE) IF (ECODE .NE. 1) STOP CHAR = GCHAR (ANSWER, 1) IF (CHAR.EQ.0) CHAR = BLANK IF (.NOT. ((CHAR.EQ.BLANK).OR.(CHAR.EQ.CR)))GO TO 13002 GO TO 13001 13002 CONTINUE CALL MOVE (ANSWER, RBFILE, 14) CALL OPENF (RBCHAN, RBFILE, ECODE) IF (.NOT. (ECODE.NE.1))GO TO 13004 CALL ERROR(3) GO TO 13001 13004 CONTINUE CALL SET (BLANKS, ANSWER, 14) CALL WRLIN (TTYOUT, LSQUES, 8) CALL RDLIN (TTYIN, ANSWER, 30, ECODE) IF (ECODE .NE. 1) STOP CHAR = GCHAR (ANSWER, 1) IF (.NOT. ((CHAR.EQ.BLANK).OR.(CHAR.EQ.CR)))GO TO 13006 CALL MOVE (DFAULT, ANSWER, 5) 13006 CONTINUE CALL MOVE (ANSWER, MPFILE, 14) CALL OPENN (MPCHAN, MPFILE, ECODE) CALL WRLIN (MPCHAN, RBFILE, 30) CALL FMTRB CALL CLOSF (RBCHAN, ECODE) IF (.NOT. (ECODE.NE.1))GO TO 13008 CALL ERROR(3) GO TO 13001 13008 CONTINUE CALL CLOSF (MPCHAN, ECODE) IF (.NOT. (ECODE.NE.1))GO TO 13010 CALL ERROR(3) GO TO 13001 13010 CONTINUE GO TO 13000 13001 CONTINUE STOP END