00100 C*********************************************************************** 00200 C 00300 C DECREV.FOR VERSION 1 00400 C 00500 C 00600 C THIS PROGRAM CREATES A 'RUNOFF' FILE WHICH CONTAINS THE REVIEW 00700 C OF DECUS DECSYSTEM-10 LIBRARY PROGRAMS. 00800 C 00900 C THE PROGRAM IS ENTIRELY TABLE-DRIVEN IN THE QUESTION 01000 C SECTION, AND THE TABLES ARE SET UP IN THE BLOCK DATA SUBROUTINE 01100 C AND PASSED TO THE MAIN ROUTINE THROUGH THE COMMON BLOCK /QUES/. 01200 C CHECK THAT SECTION TO ADD QUESTIONS OR CATEGORIES OF QUESTIONS. 01300 C 01400 C RESTRICTIONS IN THIS PROGRAM: 01500 C PROGRAM TITLE <= 10 CHAR LONG [PROGTI] 01600 C NAME OF REVIEWER <= 30 CHAR LONG [RNAM] 01700 C TITLE OF REVIEWER <= 40 CHAR LONG [RTIT] 01800 C COMPANY OR INSTITUTION NAME <= 40 CHAR LONG [COMP] 01900 C DEPARTMENT NAME <= 40 CHAR LONG [DEPT] 02000 C CITY+STATE+ZIP <= 40 CHAR LONG [CSZ] 02100 C COUNTRY NAME <= 40 CHAR LONG [CNTRY] 02200 C 02300 C TO CHANGE ANY OF THESE RESTRICTIONS, CHANGE THE LENGTH 02400 C OF THE ARRAY NAME GIVEN IN THE [ ] FOLLOWING THE RESTRICTION 02500 C 02600 C TO CHANGE THE MAXIMUM LENGTH OF ANY LINE USED TO 02700 C REPLY TO QUESTIONS, CHANGE THE DIMENSION OF THE 02800 C ARRAY 'LINE' AND CHANGE THE FORMAT STATEMENTS 106 AND 108. 02900 C 03000 C 03100 C WRITTEN BY H. D. TODD, WESLEYAN UNIVERSITY, MAY, 1975. 03200 C 03300 C*********************************************************************** 03400 INTEGER DECSYS,REV,QUSCAT,QUSPTR 03500 DOUBLE PRECISION PROGTI,VERSCD,RNAM(3),RTIT(5),COMP(4), 03600 1 DEPT(4),CSZ(4),ADATE,CNTRY(4) 03700 DIMENSION LINE(16) 03800 COMMON/QUES/NUMCAT,MAXQUS(4),LQSTRT(30),LQEND(30),HLCAT(12,4), 03900 1QUEST(12,50) 04000 C 04100 C VERSION NUMBER 04200 C 04300 DATA REV/1/, REVVER/'1'/ 04400 C*********************************************************************** 04500 C 04600 C SECTION 1 04700 C REQUEST BIOGRAPHICAL DATA FROM THE REVIEWER FOR THE REVIEW 04800 C FILE. REVIEW FILEIS ON UNIT 'REV'. 04900 C 05000 C*********************************************************************** 05100 OPEN(UNIT=5,DEVICE='TTY') 05200 WRITE (5,1) 05300 1 FORMAT (//,' DECUS DECSYSTEM-10 LIBRARY PROGRAM REVIEW',//, 05400 1 ' WHAT IS THE NUMBER OF THE PROGRAM YOU ARE REVIEWING? ',$) 05500 C 05600 C ALLOW THE USER TO TYPE IN THE PROGRAM NUMBER AS EITHER 05700 C 'NNN' OR '10-NNN', WHERE NNN IS THE PROGRAM NUMBER. 05800 C 05900 READ (5,2) DECSYS,NPROG 06000 2 FORMAT (2I) 06100 IF (NPROG.EQ.0) NPROG = DECSYS 06200 IF (NPROG.EQ.DECSYS) DECSYS = 10 06300 NPROG = IABS(NPROG) 06400 C 06500 C CREATE FILE 'DECXXX.RNO', WHERE 'XXX' 06600 C IS THE DECUS CATALOG NUMBER. 06700 C 06800 CALL OPNOUT(REV,NPROG) 06900 WRITE (5,3) 07000 3 FORMAT (/,' WHAT IS THE PROGRAM TITLE? '$) 07100 READ (5,4) PROGTI 07200 4 FORMAT (5A10) 07300 WRITE (5,5) 07400 5 FORMAT(/,' WHAT IS THE VERSION NUMBER OF THE PROGRAM - 07500 1 OR SOURCE FILE',/,' CREATION DATE AS DD-MON-YY (LATEST 07600 2 DATE IF THERE ARE SEVERAL SOURCE FILES)? ') 07700 READ (5,4) VERSCD 07800 WRITE (5,6) 07900 6 FORMAT (/,' WHAT IS YOUR NAME? ',$) 08000 READ (5,4) RNAM 08100 WRITE (5,7) 08200 7 FORMAT (/,' WHAT IS YOUR TITLE? (OPTIONAL) ',$) 08300 READ(5,4) RTIT 08400 WRITE (5,8) 08500 8 FORMAT (/,' WHAT IS YOUR ADDRESS OR DEPARTMENT WITHIN YOUR 08600 1 COMPANY OR INSTITUTION? ') 08700 READ (5,4) DEPT 08800 WRITE (5,9) 08900 9 FORMAT (/,' WITH WHAT COMPANY OR INSTITUTION ARE YOU 09000 1 ASSOCIATED? ') 09100 READ(5,4) COMP 09200 WRITE (5,10) 09300 10 FORMAT (/,' CITY, STATE ZIPCODE ') 09400 READ(5,4) CSZ 09500 WRITE (5,11) 09600 11 FORMAT (/,' COUNTRY? ',$) 09700 READ (5,4) CNTRY 09800 CALL DATE(ADATE) 09900 WRITE (REV,19) REVVER 10000 C 10100 C DUMP REVIEWER BIOGRAPHICAL 10200 C 10300 19 FORMAT ('.PS 58,65;.FLAG CAP;.LC',/, 10400 1 '^^DECREV.FOR VERSION ',A5,'\\',/, 10500 2 '.S 2;.TITLE CHARACTER.') 13700 C 13800 C THIS IS THE QUESTION-AND-ANSWER MAIN LOOP 13900 C 14000 C NQUEST = # OF THE QUESTION BEING PROCESSED 14100 C NUMCAT = # OF CATEGORIES OF QUESTIONS 14200 C QUSCAT = CURRENT CATEGORY # 14300 C MAXQUS(QUSCAT) = # OF QUESTIONS IN CURRENT CATEGORY 14400 C QUSPTR = # OF CURRENT QUESTION WITHIN ITS CATEGORY 14500 C LQSTRT(NQUEST) = INDEX FOR FIRST LINE OF CURRENT QUESTION 14600 C LQEND(NQUEST) = INDEX FOR LAST LINE OF CURRENT QUESTION 14700 C 14800 NQUEST = 0 14900 DO 100 QUSCAT = 1,NUMCAT 15000 WRITE (REV,107) (HLCAT(J,QUSCAT),J=1,12) 15100 107 FORMAT ('.LM 0;.S 2; ^^^&',12A5,'\\\&',/,'.S 1;.UC;.LS') 15200 DO 110 QUSPTR = 1, MAXQUS(QUSCAT) 15300 NQUEST = NQUEST + 1 15400 WRITE (5,101) NQUEST,((QUEST(I,J),I=1,12), 15500 1 J=LQSTRT(NQUEST),LQEND(NQUEST)) 15600 101 FORMAT (//,1X,I2,'.',(1X,12A5)) 15700 WRITE(5,102) 15800 102 FORMAT (/) 15900 WRITE(REV,103) ((QUEST(I,J),I=1,12),J=LQSTRT(NQUEST), 16000 1 LQEND(NQUEST)) 16100 103 FORMAT ('.LM 10;.LE',/,(12A5)) 16200 WRITE (REV,104) 16300 104 FORMAT ('.S 1',/,'