|
|
1.1 ! root 1: SUBROUTINE ERROR2( I, JJ, K, NN, SPBEF, SPAFT ) ! 2: C ! 3: C PRINTS ERROR MESSAGES AND SYMBOLIC NAME ! 4: C I IS PACKED HOLLERITH STRING ! 5: C JJ IS NUMBER OF CHARACTERS TO BE PRINTED ( N = JJ) ! 6: C K CONTAINS INTEGER OR HOLLERITH INFO TO FOLLOW MESSAGE ! 7: C NN CONTROLS TYPE OF LINE TO BE PRINTED ! 8: C ! 9: C NN = 0 MEANS PRINT MESSAGE ! 10: C ! 11: C NN < 0 MEANS IF JJ=0 NO MESSAGE, ELSE PRINT MESSAGE ! 12: C ON NEXT LINE IF NN = -1 PRINT PGM UNIT AND/OR STMT NO ! 13: C (CONTROLLED BY CONTENTS OF K). ! 14: C ON NEXT LINE IF NN = -2 PRINT PARAMETER NUMBER IN K ! 15: C NN = -3 USED FOR SPACING CONTROL IN LONG MESSAGES ! 16: C ! 17: C NN > 0 MEANS PRINT MESSAGE FOLLOWED BY IDENTIFIER IN K ! 18: C SPBEF, SPAFT CONTROL LINE SPACING BEFORE AND AFTER MESSAGE ! 19: C IF = 1, BLANK LINE EMMITTED ! 20: C ! 21: INTEGER I(1), J(80), OUTUT, PDSA, DSA, M(6), K(6), W ! 22: INTEGER SPBEF, SPAFT ! 23: LOGICAL OPT, P1ERR, P2, QBR ! 24: COMMON /CTABL/ LDSA, PDSA, DSA(5000) ! 25: COMMON /PARAMS/ INUT, OUTUT, NOCHAR, I1, I2, I3, I4 ! 26: COMMON /FACTS/ NAME, NOST, ITYP, IASF ! 27: COMMON /OPTNS/ OPT(5), P1ERR ! 28: COMMON /PASS/ P2, QBR ! 29: DATA W /1HW/, KK /1H-/ ! 30: C ! 31: C ERROR IN P.U. DURING PROCESSING OF A HEADING STMT, SPECIFI STMT, ! 32: C EQUIV STMT, OR DATA STMT CAUSES PASS 2 TO BE SUPPRESSED FOR THAT ! 33: C P.U. ! 34: C ! 35: IF (QBR) GOTO 45 ! 36: IF(SPBEF.EQ.1) WRITE(OUTUT, 99998) ! 37: N = JJ ! 38: IF (N.GT.72) N = 72 ! 39: J(2) = KK ! 40: IF (N.GE.1) CALL S5UNPK(I, J, N) ! 41: IF (ITYP.LT.14 .AND. J(2).NE.W) P1ERR = .TRUE. ! 42: IF (NN) 50, 10, 30 ! 43: C ! 44: C NN=0 ! 45: C ! 46: 10 CONTINUE ! 47: WRITE (OUTUT,99997) (J(L),L=1,N) ! 48: IF(P2 .OR. OPT(4)) GOTO 40 ! 49: CALL S5UNPK(DSA(NAME+4), J(1), 6) ! 50: WRITE (OUTUT,99999) NOST, (J(L),L=1,6) ! 51: 99999 FORMAT (16H *** AT STMT NO , I6, 13H IN PGM UNIT , 6A1) ! 52: 99998 FORMAT(1H ) ! 53: GO TO 40 ! 54: C ! 55: C NN>0 ! 56: C ! 57: 30 CONTINUE ! 58: IF (N.GT.68) N = 68 ! 59: CALL S5UNPK(K, J(73), 6) ! 60: WRITE (OUTUT,99997) (J(L),L=1,N), KK, KK, (J(L),L=73,78) ! 61: 99997 FORMAT (4H ***, 76A1) ! 62: 40 IF(SPAFT.EQ.1) WRITE(OUTUT, 99998) ! 63: 45 RETURN ! 64: C ! 65: C NN<0 ! 66: C ! 67: 50 CONTINUE ! 68: IF (N.GE.1) WRITE (OUTUT,99997) (J(L),L=1,N) ! 69: IF( -2.EQ.NN ) GOTO 70 ! 70: IF( -3.EQ.NN ) GOTO 40 ! 71: CALL S5UNPK(DSA(NAME+4), M(1), 6) ! 72: C WRITE OUT STMT NO AND/OR PGM UNIT ! 73: IF (K(1).EQ.0) GO TO 60 ! 74: WRITE (OUTUT,99996) K(1), (M(L),L=1,6) ! 75: 99996 FORMAT (16H *** AT STMT NO , I6, 1X, 13H IN PGM UNIT , 6A1) ! 76: GO TO 40 ! 77: 60 WRITE (OUTUT,99995) (M(L),L=1,6) ! 78: 99995 FORMAT (17H *** IN PGM UNIT , 6A1) ! 79: GO TO 40 ! 80: C WRITE OUT PARAMETER NO FOR PARAMETERLIST ERRORS ! 81: 70 WRITE(OUTUT,99994) K(1) ! 82: 99994 FORMAT(22H *** PARAMETER NUMBER ,I6) ! 83: GOTO 40 ! 84: END
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.