C define(VAX) C location of system-wide "SYMBOLS." file C maximum field for integer strings C must be highest lu for standard files C C C C SRD command line generator C ========================== C C Author: William Wood C C Address: Computer Center C Institute For Cancer Research C 7701 Burholme Ave. C Philadelphia, Pa. 19111 C (215) 728 2760 C C Version: 1.1 C C Date: Dec 28, 1981 C C C C ******************************************************* C * * C * THIS SOFTWARE WAS DEVELOPED WITH SUPPORT * C * FROM THE NATIONAL INSTITUTES OF HEALTH: * C * NIH CA06927 * C * NIH CA22780 * C * * C * DIRECT INQUIRIES TO: * C * COMPUTER CENTER * C * THE INSTITUTE FOR CANCER RESEARCH * C * 7701 BURHOLME AVENUE * C * PHILADELPHIA, PENNSYLVANIA 19111 * C * * C * NO WARRANTY OR REPRESENTATION, EXPRESS OR * C * IMPLIED, IS MADE WITH RESPECT TO THE * C * CORRECTNESS, COMPLETENESS, OR USEFULNESS * C * OF THIS SOFTWARE, NOR THAT USE OF THIS * C * SOFTWARE MIGHT NOT INFRINGE PRIVATELY * C * OWNED RIGHTS. * C * * C * NO LIABILITY IS ASSUMED WITH RESPECT TO * C * THE USE OF, OR FOR DAMAGES RESULTING FROM * C * THE USE OF THIS SOFTWARE * C * * C ******************************************************* C * * C * THIS SOFTWARE WAS DESIGNED FOR USE ON A * C * PDP-11/70 OPERATING UNDER IAS V3.0 USING * C * THE FORTRAN-IV PLUS COMPILER. * C * * C ******************************************************* C BYTE FILE(134), OUTBUF(134), OUTTXT(134), FILENV(134), ANS(2) BYTE NODE(1), DEV(6), UIC(10), NAME(10), EXT(5) INTEGER EQUAL, BKSCAN, CONCAT, NF, I, J, FOUT, IS, IER, K BYTE CUPPER LOGICAL GETFIL, PROMPT DATA NODE(1), DEV(1), UIC(1), NAME(1), EXT(1)/5*0/ FOUT = 5 open(unit=fout, name='TI:', carriagecontrol='LIST') C no such file CALL ERRSET(29, .TRUE., .FALSE., .TRUE., .FALSE., 15) C open failure CALL ERRSET(30, .TRUE., .FALSE., .TRUE., .FALSE., 15) C file name specification CALL ERRSET(43, .TRUE., .FALSE., .FALSE., .FALSE., 15) 2000 CONTINUE CLOSE(UNIT = 2) FOUT = 5 CALL GCMD(5, 'SRDCMD> ', OUTTXT, NC, 134, IS) IF (.NOT.(NC .LE. 0)) GOTO 2030 GOTO 2020 2030 CONTINUE ANS(1) = 0 PROMPT = .FALSE. 2050 CONTINUE CALL PARSE(OUTTXT, FILE) IF (.NOT.(EQUAL(FILE, '/PR') .EQ. 1)) GOTO 2080 PROMPT = .TRUE. GOTO 2090 2080 CONTINUE IF (.NOT.(EQUAL(FILE, '/GO') .EQ. 1)) GOTO 2100 PROMPT = .TRUE. ANS(1) = 'G' GOTO 2090 2100 CONTINUE GOTO 2070 2090 CONTINUE 2060 GOTO 2050 2070 CONTINUE NF = 0 2120 IF (.NOT.(GETFIL(FILE, ANS, NF, PROMPT))) GOTO 2130 NODE(1) = 0 DEV(1) = 0 UIC(1) = 0 NAME(1) = 0 EXT(1) = 0 CALL DEFNAM(FILE, NODE, DEV, UIC, NAME, EXT, .TRUE.) CALL SCOPY(FILE, 1, FILENV, 1) FILENV(BKSCAN(FILENV, ';', 1)) = 0 J = 1 I = 1 2140 IF (.NOT.(OUTTXT(I) .NE. 0 .AND. J .LT. 134)) GOTO 2160 IF (.NOT.(OUTTXT(I) .EQ. '>')) GOTO 2170 K = I I = I + 1 IF (.NOT.(OUTTXT(I) .EQ. '>')) GOTO 2190 I = I + 1 IF (.NOT.(OUTTXT(I) .EQ. 0)) GOTO 2210 GOTO 10 2210 CONTINUE CALL DEFNAM(OUTTXT(I), 0, 'SY:', 0, 0, '.CMD', .FALSE.) OPEN(UNIT = 2, NAME = OUTTXT(I), TYPE = 'unknown', ACCES *S = 'append', CARRIAGECONTROL = 'list', ERR = 10) GOTO 2200 2190 CONTINUE IF (.NOT.(OUTTXT(I) .EQ. 0)) GOTO 2230 GOTO 10 2230 CONTINUE CALL DEFNAM(OUTTXT(I), 0, 'SY:', 0, 0, '.CMD', .FALSE.) OPEN(UNIT = 2, NAME = OUTTXT(I), TYPE = 'new', CARRIAGEC *ONTROL = 'list', ERR = 10) 2200 CONTINUE FOUT = 2 OUTTXT(K) = 0 GOTO 2160 2170 CONTINUE IF (.NOT.(OUTTXT(I) .NE. '''')) GOTO 2250 OUTBUF(J) = OUTTXT(I) J = J + 1 GOTO 2180 2250 CONTINUE I = I + 1 OUTBUF(J) = 0 IF (.NOT.(OUTTXT(I) .EQ. 0)) GOTO 2270 GOTO 2160 2270 CONTINUE IF (.NOT.(OUTTXT(I) .EQ. '&')) GOTO 2290 J = CONCAT(OUTBUF, FILENV, 134) + 1 GOTO 2280 2290 CONTINUE IF (.NOT.(CUPPER(OUTTXT(I)) .EQ. 'D')) GOTO 2310 J = CONCAT(OUTBUF, DEV, 134) + 1 GOTO 2280 2310 CONTINUE IF (.NOT.(CUPPER(OUTTXT(I)) .EQ. 'U')) GOTO 2330 J = CONCAT(OUTBUF, UIC, 134) + 1 GOTO 2280 2330 CONTINUE IF (.NOT.(CUPPER(OUTTXT(I)) .EQ. 'N')) GOTO 2350 J = CONCAT(OUTBUF, NAME, 134) + 1 GOTO 2280 2350 CONTINUE IF (.NOT.(CUPPER(OUTTXT(I)) .EQ. 'E')) GOTO 2370 J = CONCAT(OUTBUF, EXT, 134) + 1 GOTO 2280 2370 CONTINUE IF (.NOT.(CUPPER(OUTTXT(I)) .EQ. 'V')) GOTO 2390 J = CONCAT(OUTBUF, FILE(BKSCAN(FILE, ';', 1)), 134) + 1 GOTO 2280 2390 CONTINUE OUTBUF(J) = OUTTXT(I) J = J + 1 2280 CONTINUE 2180 CONTINUE 2150 I = I + 1 GOTO 2140 2160 CONTINUE CALL PUT(FOUT, OUTBUF, J - 1, IER) GOTO 2120 2130 CONTINUE GOTO 2010 10 CONTINUE CALL ERR(OUTTXT, I, 'Can''t open file.') 2010 IF (.NOT.(IS .LT. 0)) GOTO 2000 2020 CONTINUE C command was from MCR END