C         ****************************************************
C         *                                                  *
C         *  N6EMW --- UNIVERSAL DIAGNOSTIC MESSAGE WRITER.  *
C         *           VIETP AND VSER1/2 MUST BE INITIALIZED  *
C         *           OUTSIDE.  ENTRIES P6EMW AND P6EML.     *
C         *                                                  *
C         ****************************************************
C
      SUBROUTINE  N6EMW
C
      COMPILER (GEN=NOTRA)
          COMPILER(FLD=Q)
      COMPILER (LIB=FILE1)
      INCLUDE  FORENV
      INCLUDE  FORCR
C
      PARAMETER  MAXPRM=4,         @ MAXIMUM INSERT.
     1           MAXTXT=17,        @ MAXIMUM WORDS OF TXT.
     2            NMFPL=3,         @ PRELOADED MF WORDS.
     3           MAXCHR=110,       @ MAX CHARS OF MESG REGION OUTPUT.
     3           ONECHR=64,        @ MULT FACT TO SHIFT 1 CHAR.
     3              NPH=6,         @ NUMBER OF COMPILER PHASES.
     $      PARMLD=2,
     $         NMDFMT=1,     @ WORDS OF MACRO FMT                          MAC
     $      MLD=22
C
      PARAMETER FMTL=1,FMPL=1
      INTEGER MT(FMTL),PC(6),MP(FMPL)
       COMMON /N6FSZZ/ DD5(2), VI02,DD6(24),DIAG,VI00,VSER1,VSER2,VIETP
     $          ,LINE,MAXERR,DUM1(5),MACDG(2),MACTXT(20)
      COMMON  /ERRTZZ/ ERRT(1)
      COMMON  /SYMZ/   SYM(1)
      ARGUMENT OCTAL(V/A2/,C/SLJ/,R/A1/)
C
      DEFINE  WW(I)=FLD(24,6,I)              @ W-FIELD OF STD FMT SPEC.
      DEFINE  SEQF(I)=FLD(0,18,I)       @ ERRT W1 SEQ FLD.
      DEFINE  AF(I)=FLD(18,3,I)         @ ERRT W1 PARM CODE FLD.
      DEFINE  BF(I)=FLD(21,3,I)         @ ERRT W1 SEVERITY CODE FLD.
      DEFINE  PF(I)=FLD(24,3,I)         @ ERRT W1 PHASE NO. FLD.
      DEFINE  ENF(I)=FLD(27,9,I)        @ ERRT W1 MESG NO. FLD.
      DEFINE  SYMP(I)=FLD(18,18,I)      @ ERRT W2 SYM ADDR FLD.
      DEFINE  INDX(I)=I-LOC(SYM)+1      @ CVT SYM ADDR TO INDEX.
      DEFINE  SYMM(I)=SYM(I)            @ INDIRECT SYM REFERENCE.
      DIMENSION ML(MLD),PARML(PARMLD)
      DIMENSION X(2)
      DIMENSION  SEVER(2,7) / '*DIAGNOSTIC*','     *ERROR*',  @ SEVERITY   MAC
     $                        'FATAL ERROR*','   *REMARK* ',  @IDENT
     $                        '*MACRO DIAG*',' *MACRO ERR*',               MAC
     $                        'MACRO FATAL*' /                             MAC
      DIMENSION  BTRAN(8) / 1,2,3,4,0,5,6,7 /  @ SEVERITY FLAGS FOR        MAC
C                           0 1 2 3 4 5 6 7      SEVERITY CODE (B) VALS.
      LOGICAL  NOPARM                        @ ON IF NO PRMS TO BE INSTD
C
C
C         THIS IS PRIMARY ENTRY.  COUNT DOWN VI02, SUPPRESS DUPLICATES.
C
      H2(VI02) = H2(VI02) - 1
      IF (ERRT(VIETP).NE.VSER1.OR.ERRT(VIETP+1).NE.VSER2) GO TO 10
          VIETP = VIETP+2                    @ WAS A DUPLICATE ---
          RETURN                             @   IGNORE.
C
   10 VSER1 = ERRT(VIETP)                    @ SAVE CURRENT
      VSER2 = ERRT(VIETP+1)                  @   FOR DUPLICATE CHK.
      ENTRY = 0                              @ --WHERE WE CAME IN.
      VIETP = VIETP+2                        @ SCOOT TO NEXT ENTRY.
      PHASE = PF(VSER1)                      @ EXTRACT PHASE NO.,       MACRO
   11 SEQ = SEQF(VSER1)                      @   SEQUENCE NO.,          MACRO
   12 PRMTYP = AF(VSER1)                     @   PARAMETER TYPE,
      SCOD1 = BF(VSER1)                      @   SEVERITY CODE,
      MESNO = ENF(VSER1)                     @   MESSAGE NO.
          CRPDIA = CRPD1A
      GO TO 15                               @ GO DECODE SEVERITY.
C                                                                       MACRO
C         ENTER HERE TO EDIT A MACRO-GENERATED DIAGNOSTIC.              MACRO
C         MACDG IS ERRT ITEM SANS PHASE/MSG NO FLDS, MACTXT IS .LE.     MACRO
C         18-WORD AREA WHOSE FIRST WORD IS LENGTH OF REMAINDER IN WORDS.MACRO
C         REMAINDER IS DIAGNOSTIC TXT WITH $'S, ETC.                    MACRO
C                                                                       MACRO
      ENTRY N6MDG
      PHASE = -1                             @ INDICATE SOURCE.         MACRO
      VSER1 = MACDG(1)                                                  MACRO
      VSER2 = MACDG(2)                                                  MACRO
      ENTRY = 0                              @ ABS SYM REFERENCES.      MACRO
      MLP = MIN(MLD,MACTXT(1))                                             MAC
      DO 13 I=1,MLP                                                        MAC
   13     ML(I) = MACTXT(I+1)                                              MAC
      GO TO 11                                                          MACRO
C
C         ENTER HERE FOR PHASE 6 ERRORS.
C
      ENTRY  P6EMW (SEQ6,W1,PARM6)           @ SEQ6 IS STMT SEQ NO,
      PHASE = 6                              @ W1 IS LIKE ERRT W1 BUT
      SEQ = SEQ6                             @ SEQ, PHASE FLDS IGNORED.
      VSER1 = W1                             @ PARM6 IS LIKE ERRT W2 BUT
      VSER2 = PARM6                          @ SYMREFS ARE INDEX NOT ABS.
      ENTRY = 1
      GO TO 12                               @ UNPACK THE MESSAGE SPEC.
C
C         ENTER HERE TO PERFORM PH 6 ERROR LOGGING HOUSEKEEPING.
C
      ENTRY P6EML (W1)                       @ W1 IS SEVERITY CODE.
      SCOD1 = FLD(33,3,W1)                   @ LOCALIZE IT,
          CRPDIA = CRPD1A
      ENTRY = -1                             @   SEE WHAT IT ME ANS.
C
   15 SKODE = BTRAN(SCOD1+1)                 @ CONVERT SEVER CODE TO       MAC
      SCODE = SKODE                          @ LINE FLAG                   MAC
      IF (SKODE.EQ.0) SKODE = 1                                            MAC
      IF (SCODE.GT.4) SCODE = SCODE-4        @  AND                        MAC
      IF (SCODE.NE.0) GO TO 20               @   INTERNAL NOTATION.
          IF (CRFL.EQ.0) RETURN              @ SPECIAL CASE, EXT CD 4.
      SCODE = 4
   20 IF (ENTRY.EQ.0) GO TO (26,25,25,28), SCODE  @ HOUSEKEEP NORMAL ENT
C
      GO TO (26,24,22,28),SCODE              @ HOUSEKEEP PH 6 ERR STATUS
   22     CRFL = 1                           @ INDICATE FATAL.
   24     T1(CRE) = 1                        @ INDICATE ERROR.
   25     IF (CREMOT.NE.0) GO TO 26
          CRLIST = MAX0(CRLIST,1)            @ FORCE SOME LEVEL OF LIST.
          CRPDIA = 0                         @ OVERRIDE N-OPTION.
   26     DIAG = DIAG+1                      @ BUMP MESGS-WRITTEN.
      MAXERR=MAX(SCODE,MAXERR)   @ GET MAX SEVERITY CODE
   28 IF (ENTRY.LT.0) RETURN
      IF (CRPDIA.NE.0) RETURN                @ IF N-OPTOIN, DON'T LIST
      IF (PHASE.EQ.-1) GO TO 221             @ BYPASS REST FOR MACROS.     MAC
C
   30 IF (PRMTYP.EQ.0) GO TO 54              @ CONSTRUCT PARAMTETER.
      GO TO (32,38,46,48,48,48,48),PRMTYP    @ SELECT EDITING.
C
   32 WORD = VSER2                           @ FIELDATA, IMMEDIATE.
   33 PARML(1)=WORD
      DO 100 I=1,5
      IF (S1(PARML(1)).NE.1R .AND.S1(PARML(1)).NE.1R@) GO TO 102
  100 PARML(1)=PARML(1)*ONECHR
  102 WORD=PARML(1)
      DO 104 I=6,1,-1
      NCP=I
      IF (S6(WORD).NE.1R .AND.S6(WORD).NE.1R@) GO TO 56
  104 WORD=WORD/ONECHR
      GO TO 56                               @ GO TURN NOPARM OFF.
C
   38 CALL EMWRT1(VSER2,PARML)
      IF (PARML(1).EQ.1H ) WORD=PARML(2) ; GO TO 33
   44 NCP=12
      GO TO 56
C
   46 IF (ENTRY.EQ.0) GO TO 47               @ IF A PHASE 6 CALL,
          WORD = SYMM(SYMP(VSER2))           @   USE SUBSCR DIRECTLY.
          GO TO 33
   47 WORD = SYMM(INDX(SYMP(VSER2)))         @ YES, IT REALLY WORKS.
      GO TO 33                               @ TREAT AS FD IMMED.
C
   48 PARML(1)=OCTAL(H1(VSER2))
      PARML(2)=OCTAL(H2(VSER2))
      GO TO 44                               @ TREAT AS LONG INTEGER.
C
   54 NOPARM = .TRUE.                        @ UNIVERSAL NOPARM.
      GO TO 60
   56 NOPARM = .FALSE.                       @ UNIVERSAL YESPARM.
C
C         VOILA --- NOW WE MUST MERELY FIND THE MESSAGE TEXT STRING.
C
   60 IF (PHASE.EQ.0.OR.PHASE.GT.NPH) GO TO 70  @ CAN'T EVEN FIND PHASE.
      IF (MESNO.LE.0) GO TO 70               @ INVALID MESG NO RANGE.
      IF (H1(PC(PHASE)).EQ.0) GO TO 70       @ NO MESGS FOR PHASE.
      IF (H2(PC(PHASE)).LT.MESNO) GO TO 70   @ NOT ENOUGH MESGS.
      MPP = H1(PC(PHASE))+MESNO-1
      IF (H1(MP(MPP)).EQ.0) GO TO 70         @ SHUCKS - IT WAS NULL.
      MTBGIN = H1(MP(MPP))                   @ OK, FOLKS. HERE WE ARE.
      MTLNG = H2(MP(MPP))
      GO TO 200                              @ EDIT THE MESSAGE.
C         BAD MESSAGE ----
   70 X(1)=SEVER(1,SKODE) ; X(2)=SEVER(2,SKODE)
      CALL EMWRT3(SEQ,X,PRMTYP,SCOD1,PHASE,MESNO,VSER2)
      IF (PHASE.EQ.6.AND.MESNO.EQ.1) RETURN  @ RET IF MESG TBL HAS BLOWN
      IF (NOPARM) RETURN                     @ IF THERE WAS A PARAMETER,
      PHASE = 6                              @ WRITE A SPECIAL
      MESNO = 1                              @   DIAGNOSTIC SO WE
      DIAG = DIAG+1                          @   CAN SEE THE CONVERTED
      GO TO 60                               @   PARAMETER.
C
C         EDIT MESSAGE TEXT STRING, INSERT PARAMETER(S).
C
  200 MLP = 0                                @ SET LIST AND
      MTEND = MTBGIN + MTLNG - 1             @ LAST MSG TXT INDEX.
      IF (.NOT.NOPARM) GO TO 210
      DO 220 MTP=MTBGIN,MTEND
      MLP=MLP+1
  220 ML(MLP)=MT(MTP)
  221 W=30
      GO TO 521
  210 W=-6
      MLP=1
      DO 500 MTP=MTBGIN,MTEND
      DO 400 I=0,30,6
      IF (FLD(I,6,MT(MTP)).NE.1R$) GO TO 300
      J=0
      DO 215 WI=1,NCP
      IF (WI.EQ.7) PARML(1)=PARML(2) ; J=0
      W=W+6
      IF (W.LT.35) GO TO 215
      W=0
      MLP=MLP+1
  215 FLD(W,6,ML(MLP))=FLD(J,6,PARML(1)) ; J=J+6
      GO TO 400
  300 J=FLD(I,6,MT(MTP))
      IF (FLD(I,6,MT(MTP)).EQ.1R@) J=' '
      W=W+6
      IF (W.LT.35.) GO TO 310
      W=0
      MLP=MLP+1
  310 FLD(W,6,ML(MLP))=J
  400 CONTINUE
  500 CONTINUE
C
  521 CONTINUE                               @ MACRO DIAGS COME HERE       MAC
      PARML(2)=' '
      IF (CREMOT.EQ.0) GO TO 525       @ EDIT LINE NOS IF REMOTE NOLIST.
      IF (CRLIST.NE.0) GO TO 525
      IF (SEQ.EQ.0) GO TO 522
      CALL INTSRC(LINE,PARML(2))   @ 6 DIGIT INTEGER CONVERSION
      GO TO 522
  525 CONTINUE
C
      PARML(2)=OCTAL(SEQ)     @ 6 DIGIT OCTAL TO 12 FD CONVERSION
      FLD(0,6,PARML(2))=' '
  522 X(1)=SEVER(1,SKODE) ; X(2)=SEVER(2,SKODE)
      CALL EMWRT7(PARML(2),X,ML,MLP*6-5+W/6)
C
      RETURN
C
C
        ERMGEN
 1  1 ILLEGAL USE OF [$]
 1  2 THE NAME, $, IS MULTIPLY DEFINED
 1  3 $ APPEARED IN AN EQUIVALENCE STMT BEFORE THIS TYPE STMT
 1  4 FOLLOWING STMT IS INCOMPLETE
 1  5 ENDIF STMT NOT BALANCED
 1  6 $ IS AN IMPROPER DIMENSION LIMIT
 1  7 DIMENSION LIMIT, $, IS OUT OF RANGE
 1  8 $ HAS MORE THAN 7 DIMENSION LIMITS
 1  9 [$] IS AN IMPROPER PUNCTUATION MARK                                1    90
 1 10 EXCEEDED LOGICAL IF NEST LEVEL OF 10
 1 11 AMBIGUOUS DO/IF STRUCTURE
 1 12 $  IS BEING USED WITH MORE SUBSCRIPTS THAN DIMENSIONS
 1 13 CURRENT DO NEST IS EMPTY
 1 14 INDUCTION VARIABLE $, NOT IN CURRENT DO NEST
 1 15 LOGICAL/ARITHMETIC AMBIGUITY
 1 16 MACRO BUFFER CAN NOT BE INITIALIZED AT OUTER LEVEL!!
 1017 SUBROUTINE ARGUMENT, $, IS REDUNDANTLY SPECIFIED
 1018 I/O ERROR ON MACRO / INCLUDE FILE $
 1019 ERROR TABLE EXCEEDED. SOME ERRORS NOT LISTED
 1020 CHARACTER LENGTH EXPRESSION MUST BE IN PARENTHESES
 1 24 THERE IS NO LABEL ON THE FORMAT                                    1   220
 1 26 USE AN INTEGER CONSTANT INSTEAD OF $
 1 27 STMT NOT RECOGNIZED
 1 29 VALUE OF PARAMETER, $, IS TOO LARGE
 1 31 A COMMA IS OMITTED FOLLOWING $
 1 32 A VARIABLE OR INTEGER SHOULD BE USED INSTEAD OF [$]
 1 33 INTEGER, $, IS TOO LARGE
 1 34 $  IS A BAD FORMAT REFERENCE IN THE I/O STMT
 1 35 $  IS BEING USED AS AN INTEGER VARIABLE                            1   330
 1 36 ONLY ONE LOGICAL IF PERMITTED
 1 37 IMPROPER DO LOOP ENDING
 1 38 ILLEGAL STMT FOLLOWS LOGICAL IF
 1 39 $  IS A BAD LABEL                                                  1   370
 1 40 THE DO-INDEX, $, IS ALSO A DO-INDEX OF AN OUTER DO
 1 41 CHARACTER IDENTIFIER MUST HAVE CONSTANT/ALLOCATABLE LENGTH
 1 42 CHARACTER FUNCTION MUST BE PRECEDED BY EXTERNAL D?STATEMENT
 1 43 ARGUMENT LIST OF STMT FUNCTION IS BAD
 1 44 ARRAY, $, HAS MORE THAN ONE DO-INDEX IN A SUBSCRIPT PRODUCT
 1 45 ARRAY, $, HAS AN ILLEGAL SUBSCRIPT FORM
 1 46 $ IS NOT A RECOGNIZED ITEM                                         1   440
 1 47 LABEL, $, IS USED ILLEGALLY
 1 48 USE A SEPARATOR INSTEAD OF [$]
 1 49 FUNCTION, $, HAS NO ARGUMENTS
 1 50 ILLEGAL REFERENCE TO SUBROUTINE, $
 1 51 IN MAIN PROGRAMS  CHARACTER MUST HAVE CONSTANT LENGTHS
 1 52 FUNCTION $ IS REFERENCED ILLEGALLY
 1 53 DO-INDEX, $, IS DEFINED WITHIN LOOP
 1 54 STMT FUNCTION IS DEFINED AFTER AN EXECUTABLE STMT
 1 55 $ APPEARS WITH A SUBSCRIPT BUT WAS NOT DIMENSIONED                 1   530
 1 56 ILLEGAL ARITHMETIC STMT
 1 57 ASCII IGNORED IN FIELDATA ELEMENT
 1 58 [$] IS AN UNNECESSARY PUNCTUATION MARK
 1 59 THE CONSTANT, $, IS USED BADLY
 1 60 STMT HAS TOO MANY RIGHT PARENTHESES
 1 61 STMT HAS TOO MANY LEFT PARENTHESES
 1 62 COMMA OUTSIDE OF FUNCTION PARENTHESES
 1 65 OPERATOR [$] USED ILLEGALLY
 1 66 SUBSCRIPT CONTAINS NON-INTEGER, $
 1 67 $ APPEARED PREVIOUSLY IN COMMON                                    1   650
 1 69 OPERATOR PRECEDING [)] IGNORED
 1 70 IMPROPER SEPARATOR FOLLOWS $
 1 71 PROGRAM IS MISSING ONE OR MORE ENDIFS
 1 72 HOLLERITH FIELD NOT ENDED
 1 73 $, SHOULD NOT BE IN A LIST
 1 74 I/O OR DATA STMT LIST HAS BAD USE OF [(]
 1 75 LIST CONTAINS ILLEGAL ITEM
 1 76 FORM FOR (I=A,B,C) IS BAD
 1 77 $ IS PRECEDED BY A [,] OR [(] IN THE LIST
 1 78 MISSING LEFT PARENTHESIS OR IMPLIED DO NOT IN PARENTHESIS
 1 79 PARENTHESES DO NOT BALANCE
 1 80 IMPLIED LIST-DO HAS NO LIST ELEMENTS
 1 81 DO-INDEX, $, IS DEFINED VIA INPUT
 1 82 STMT IS TOO LONG
 1 83 [.] NOT PRECEDED BY A NUMBER
 1 84 [.] NOT PRECEDED BY E OR F
 1 85 HOLLERITH FIELD TOO LONG
 1 87 $, MUST NOT BE A DATA LITERAL
 1 88 ILLEGAL DATA LITERAL
 1 89 LABEL NOT ALLOWED ON SUBROUTINE OR FUNCTION STMT
 1 90 FOLLOWING LINE IMPROPERLY READ
 1 92 NEXT STMT OUT OF ORDER FOR $
 1 93 $ TABLE HAS BEEN EXCEEDED
 1 94 FORMAT HAS BAD USE OF PARENTHESES
 1 95 A DIGIT IMPROPERLY FOLLOWS AN X OR H FIELD, OR A [/], OR A [)]
 1 96 A [.] OR P IS NOT FOLLOWED BY A DIGIT IN THE FORMAT
 1 97 A COMMA IS MISSING AFTER AN A,E,I,O OR F FIELD
 1 98 FORMAT HAS BAD USE OF P
 1 99 FORM OF NH OR NX IS BAD
 1100 TOO MANY DIGITS IN LABEL $
 1101 '$' BEGINS A NAME THAT IS TOO LONG
 1102 OCTAL NUMBER HAS MORE THAN 24 DIGITS
 1103 [$] APPEARS IN AN OCTAL FIELD
 1104 DECIMAL NO. HAS TOO MANY DIGITS
 1105 MORE THAN ONE SIGN ON OCTAL NO.
 1107 DECIMAL EXPONENT TOO LARGE
 1108 THIS DO EXCEEDS MAXIMUM LEVEL OF NESTING
 1109 UNSUCCESSFUL ATTEMPT TO GET PROC $
 1110 BLOCK DATA STMT MUST BE FIRST STMT
 1111 IMPROPER STMT IN BLOCK DATA PROGRAM
 1112 SIGN OF DO-INCREMENT IS INCOMPATIBLE WITH ITS LIMITS
 1115 EXCEEDED MAX OF $ INCLUDE / MACRO LIBRARY FILES
 1116 MACROS / INCLUDES NESTED TOO DEEPLY
 1117 HEX NUMBER HAS MORE THAN 18 DIGITS
 1118 INSUFFICIENT STORAGE FOR NESTED MACRO STMTS
 1119 ARRAY $ CAN NOT HAVE VARIABLE DIMENSIONS
 1120 $  USED WITH FEWER SUBSCRIPTS THAN DIMENSIONS
 1121 NO LEFT PARENTHESIS AFTER WORD 'FORMAT'
 1122 RETURN STMT IN MAIN PROGRAM REPLACED BY STOP
 1123 ATTEMPT TO NEST SUBSCRIPTS MORE THAN 10 DEEP
 1124 $ IS NOT VALID MACRO ARGUMENT NUMBER
 1125 STMT INVALID; A ZERO-LEVEL INCLUDE IS ACTIVE
 1126 MACRO ATTEMPTED TO READ PAST END OF SOURCE PROGRAM
 1128 [$] FOUND WHERE I OR C EXPECTED; C ASSUMED
 1129 $ IS OUT OF RANGE FOR MACRO BUFFER LENGTH
 1131 SLASH MISSING AT END OF LITERAL LIST
 1132 [ $ ] CAN NOT RECEIVE NUMBER OF ARGUMENTS
 1133  MULTIPLE VARIABLE CALLING SEQUENCE DIRECTIVES
 1137 UNNECESSARY PUNCTUATION
 1139 $ REPEATED AS A DUMMY ARGUMENT
 1140 LENGTH FIELD INVALID - IGNORED
 1141 STMT REDEFINES MACRO BUFFER'S LENGTH
 1142 INSUFFICIENT MEMORY FOR BUFFER LENGTH OF $ CHARACTERS
 1143 ARGUMENT $ NOT A BUFFER
 1144 MACRO BUFFER OVERFLOW
 1145 [$] STARTS UNKNOWN MACRO DIRECTIVE
 1146 MISSING PARENTHESIS IN PICTURE
 1147 BAD CHARACTER IN PICTURE
 1148 MORE THAN ONE DRIFTING CHARACTER
 1149 DRIFTING STRING AFTER DIGIT
 1151 DO HAS NO END, OR BADLY NESTED
 1152 MISSING END CARD
 1155 UPDATE CONTROL CARD SEQUENCE ERROR
 1156 COMMA MISSING BETWEEN LIST ELEMENTS
 1157 STMT CONTAINS IMPLIED MULTIPLICATION
 1158 DUMMY ARGUMENT $ MUST NOT BE IN COMMON
 1159 HELP! I'M CONFUSED IN PH-1 ($)
 1160 WARNING:  WHEN A DIMENSIONED VARIABLE IS SUBSTITUTED, IT MUST BE B
     *Y ONE WITH THE SAME DIMENSIONS
 1161 DIMENSION STMTS MUST OCCUR BEFORE USE OF VARIABLE
 1162 REDUNDANT TYPE STMT FOR $
 1165 ELEMENT, $, NOT AVAILABLE
 1166 TOO MANY LITERALS IN A LIST
 1168 $= IS USED AS UNIT, FORMAT, OR NAMELIST
 1170 INVALID EXPLICIT SUBSCRIPT FOR $ IN NAMELIST
 1171 PUNCTUATION AFTER NAMELIST NAME $; LIST SKIPPED
 1172 NAMELIST NAME $ USED EARLIER AS VARIABLE ETC                       1  1470
 1173 NAMELIST NAME $ DUPLICATED
 1174 NAMELIST NAME $ USED AS A VARIABLE
 1176 NAMELIST $ INVOKED BY INVALID I/O STMT
 1178 [$] IMPROPERLY USED IN IMPLICIT STMT
 1179 MACRO FILE NOT IN ASCENDING ORDER
 1180 TYPE NOT RECOGNIZABLE IN IMPLICIT
 1182 UNRECOGNIZED I/O CONTINGENCY                                       1  1560
 1184 MACRO WRITE UNIT NOT PREVIOUSLY IN MACRO FILE STMT
 1185 $, CANNOT RECEIVE DATA
 1186 INTEGER CONSTANT EXPECTED, BUT NOT FOUND                           1  1590
 1187 INTEGER CONSTANT OR VARIABLE EXPECTED, BUT NOT FOUND               1  1600
 1188 INCLUDE ELEMENT END NOT IN COL. 2-4
 1189 A RECORD FOR A MACRO FILE MAY NOT EXCEED 63 WORDS
 1190 GROUP SUBPROGRAM ARGUMENTS TOGETHER. ALLOCATION NOT AFFECTED
 1191 MACRO WRITE UNIT OUT OF RANGE
 1192 ARGUMENT NO. $ IN SUBSCAN NOT DEFINED
 1193 CONTINUATION IS FIRST NON-COMMENT CARD
 1194 [$] BEGINS AN ITEM WHICH IS TOO LONG IN A DELTA SUBSTITUTION
 1195 NULL ITEM IN DELTA SUBSTITUTION
 1196 ENTRY STMT IN MAIN PROGRAM
 1197 CONSTANT EXPRESSION NOT FOUND WHERE EXPECTED
 1198 LABEL GOVERNING DELETE NOT FOUND
 1199 COMPILER STMT HAS NO SPECIFICATIONS
 1200 BAD SYNTAX IN COMPILER STMT
 1201 UNKNOWN SPECIFICATION IN COMPILER STMT
 1202 DUPLICATE USE OF SPECIFICATION IN COMPILER STMT
 1203 SYNTAX OF ARG. NO. $ BAD - TREATED AS A LABEL
 1204 UNRECOGNIZED CHARACTER IN LABEL FIELD
 1205 NO EQUAL SIGN AFTER PARAMETER $
 1206 AMBIGUITY IN EXPRESSION FOR $
 1207 INVALID ITEM IN EXPRESSION FOR $
 1208 NON-INTEGER ITEM IN EXPRESSION FOR $
 1209 ILLEGAL OPERATOR IN EXPRESSION FOR $
 1210 OVERFLOW IN EXPRESSION FOR $
 1211 DIVISION BY ZERO IN EXPRESSION FOR $
 1212 REDUNDANT PARENTHESES
 1213 INTEGER EXCEEDED 35 BITS   MOST SIGNIFICANT 35 BITS USED
 1214 ONLY FIRST 6 HOLLERITH CHARACTERS ARE SIGNIFICANT
 1215 ILLEGAL WIDTH SPECIFICATION
 1216 DUPLICATE SIGN EDITING FUNCTIONS
 1217 CR OR DB DO NOT TERMINATE PICTURE
 1218 ZERO SUPPRESSION AFTER PICTURE
 1220 COMPILER CARDS MUST PRECEDE FORTRAN STMTS
 1221 , OR ( MISSING IN ARGUMENT STMT
 1222 BAD SUBFIELD IN ARGUMENT STMT
 1223 / MISSING IN ARGUMENT STMT
 1224 , OR ) MISSING IN ARGUMENT STMT
 1225 MACRO PROCESSOR IN ENDLESS LOOP
 1226 UNRECOGNIZABLE ELEMENT IN ARGUMENT STMT
 1227 VARIABLE, $, IS A FUNCTION/SUBROUTINE
 1228 IDENTIFIER $ IN SUBSTITUTION EXPRESSION NOT A PARAMETER
 1229 [$] IS UNKNOWN SUBSTITUTION TYPE
 1230 DUPLICATE I/O CONTINGENCY IGNORED
 1231 BAD SYNTAX IN SCAN STMTS
 1232 ONLY 25 ARGUMENTS ALLOWED FOR A GIVEN MACRO
 1233 NO / WHERE EXPECTED IN SCAN STMT
 1234 MACRO RECURSION LEVEL EXCEEDED
 1235 EOS BEFORE '.' ENDING A SUBSTITUTION DEFINITION
 1236 ARGUMENT NO. FOR SUBSTITUTION OUT OF RANGE OR UNDEFINED
 1237 DIMENSION INFORMATION REQUESTED FOR NON DIMENSIOND VARIABLE
 1238 DIMENSION IMPROPERLY REFERENCED IN SUBSTITUION DEFINITION
 1239 BAD SYNTAX IN GENERATE STMT
 1240 ONLY EIGHT NESTED GENERATE STMTS ALLOWED
 1241 FIRST ARGUMENT OF GENERATE STMT NOT A PARAMETER
 1242 DYNAMIC STORAGE FOR LOCAL LABELS EXCEEDED
 1243 ILLEGAL LABEL ON GENERATED STMT
 1244 IMPROPER PARAMETER EXPRESSION
 1245 ONLY 8 NESTED MACRO'S ALLOWED
 1246 BAD SYNTAX IN MACRO NAME STMT
 1247 PARAMETER $ IS BEING REDEFINED
 1250 SYNTACTIC ERRORS WERE FATAL
 1251 LOCAL IDENTIFIER OUT OF RANGE
 1252 LOCAL IDENTIFIER STORAGE EXCEEDED
 1253 INCREMENTATION HAS BROUGHT MACRO LEVEL TO UNKNOWN VALUE
 1254 STORAGE FOR REUSABLE SYMBOLS EXCEEDED
 1255 LENGTH OF DIAGNOSTIC IS EXCESSIVE
 1256 ERROR IN SEVERITY FIELD
 1257 DATA CARD/S FOLLOWING END CARD IGNORED
 1260 CONTROL WORD: USE OR SAVE ABSENT
 1261 A[,] OR [/] IS MISSING WHERE EXPECTED
 1263 UNRECOGNIZED REGISTER NAME FOUND
 1264 NO ENTRY IDENTIFICATION AFTER [/] OR UNRECOGNIZED REGISTER
 1265 TYPE OF ENTRY INCONSISTENT FROM CALL TO CALL
 1266 ONLY ONE REGISTER STMT ALLOWED
 1267 NO NAME WHERE EXPECTED AFTER ARGUMENT DEFINED
 1268 MONITOR VARIABLE NOT PREVIOUSLY DIMENSIONED
 1269 MONITOR IDENTIFIER IS NOT VARIABLE
 1270 MONITOR IDENTIFIER IS NOT DIMENSIONED
 1271 IMPROPER EXPRESSION FOR MONITOR SIZE
 1272 MONITOR STMT DOES NOT CONTAIN VARIABLE WHERE EXPECTED
 1273 PARAMETER $ CAN NOT BE ON A LOGICAL IF
 1274 IDENTIFIER NOT FOUND WHERE EXPECTED
 1275 [ $ ] PREVIOUSLY TYPED TO PROHIBIT USE IN CHARACTER STATEMENT
 2  1 ARRAY, $, IS TOO LARGE
 2002 HELP! I'M CONFUSED IN PH 2 ($)
 2  3 VARIABLE, $, REFERENCED BUT NOT ASSIGNED A VALUE
 2  5 CONFLICT IN STORAGE FOR $
 2  6 ARRAY, $, EXTENDING COMMON BLOCK BACKWARD - CHECK EQUIVALENCES
 2  7 THERE IS A GO TO $, BUT NO ASSIGN XX TO $
 2  8 THERE IS NO LABEL $                                                2    80
 2  9 LABEL, $, IS DUPLICATED
 2 10 THERE IS A GO TO $  FROM ANOTHER LOOP                              2   100
 2 11 TRANSFER TO $ IS BAD - $ NOT IN INNERMOST DO OF NEST
 2 12 A TRANSFER INTO THIS LOOP BUT THERE IS NO EXIT
 2 13 $, APPEARS IN DIMENSION OR TYPE STMT BUT NOT REFERENCED
 2 15 NAMELIST $ INVOKED BUT NOT DEFINED
 2 16 FUNCTION $ DOES NOT CONTAIN A DEFINITION OF ITS NAME
 2017 PARAMETER DIMENSION LIMITS FOR ARRAY, $, NEGATIVE OR ZERO
 2018  SPACE FOR PROCESSING EQUIVALENCE EXCEEDED
 3  1 LABEL $, BEING USED AS AN ARGUMENT TO A FUNCTION
 3  2 STMT CONTAINS A BAD MIXTURE OF VARIABLE TYPES
 3  3 DIVISION BY ZERO
 3  4 CONSTANT TO LEFT OF EQUALS
 3  5 FUNCTION, $, HAS WRONG NUMBER OF ARGUMENTS
 3  6 HELP! I'M CONFUSED IN PH. 3 ($)
 3  7 DEFINE FUNCTION ARGUMENT ILLEGAL
 3  8 FOLLOWING REDUNDANT STMT WAS ELIMINATED
 3  9 ARITHMETIC PERFORMED ON CONSTANTS PRODUCED OVERFLOW
 3011 THIS EXPRESSION IS TOO LONG, SIMPLIFY IT
 3 13 ARGUMENT COUNT IS OFF ON STMT FUNCTION
 3 14 STORAGE FOR DEFINE PROCEDURE ARGUMENTS EXCEEDED
 3015 DEFINE PROCEDURE ARGUMENT/S NOT USED IN DEFINITIONS
 3 17 SYMBOL TABLE OVERFLOW
 3 18 PROBABLY INCORRECT CODE; $ IS AMBIGUOUS
 3 19 $ IS CURRENTLY A DO INDEX                                          3   180
 3 20 ARGUMENT OF LOC FUNCTION IS PROBABLY NOT WHAT IS DESIRED
 3021 TOO FEW ARGUMENTS IN REFERENCE TO $
 3022 TOO MANY ARGUMENTS IN REFERENCE TO $
 3023 INTERNAL TABLE OVERFLOW - PH 3
 3025 PH 3 - CONTINGENCY = $
 3028 RELATIVE STORAGE ASSIGNMENT FOR $ GREATER THAN 65K
 3 29 MISSING ENDIF TO BALANCE IF*
 4001 HELP! I'M CONFUSED IN PH. 4 ($)
 5  1 FOLLOWING EXPRESSION TOO COMPLICATED
 5  2 HELP! I'M CONFUSED IN PH. 5 ($)
 5  3 NEGATIVE JUMP CAN NEVER BE REACHED WHEN ARGUMENT IS A BIT STRING
 5004 TOO MANY DUMMY ARGUMENTS (>98)
 5  5 IMPROPER EXPRESSION IN FLD
 5006 CONTROL CAN NOT REACH NEXT STMT
 5  7 IF STMT DOES NOT TRANSFER
 5  8 SYMBOL TABLE OVERFLOW - PH. 5
 5  9 LABEL, $, IS USED BOTH AS A FORMAT AND OBJECT OF A TRANSFER
 5 10 REFERENCE TO UNDEFINED EXPRESSION OR TEMP
 5 11 CONTROL CONTINUES INTO NEXT PROGRAM
 5 12 TOO MANY ENTRY STMTS
 5013 BAD USE OF [A] REGISTER $
 5014 BAD USE OF [X] REGISTER $
 5015 BAD USE OF [R] REGISTER $
 5017 TOO MANY MONITOR VARIABLES, REST IGNORED
 5 18 ILLEGAL EXPRESSION IN INPUT LIST
 5020 LXI DESIRED ON NON-INDEX REGISTER
 5021 EXPONENTIATION INVOLVING COMPLEX/DOUBLE PRECISION NOT ALLOWED
 5022  PROLOG TABLE OVERFLOW...EXCESSIVE REFERENCES TO DUMMY ARGUMENTS
 5023  RELATIONAL OPERAND(S) INCOMPATIBLE WITH CHARACTER
 6  1 PARAMETER IN THE ABOVE BAD DIAGNOSTIC WAS $
 6  2 DO YOU REALLY WANT TO INITIALIZE DATA IN AN INCLUDE?
 6  3 VARIABLE/S IN ABOVE STMT LOADED WITH CONSTANT/S OF UNEQUAL LENGTH
 6  4 NOT ENOUGH DATA IN ABOVE STMT
 6  5 TOO MUCH DATA IN ABOVE STMT
 6  6 FINAL SUBSCRIPT OF $ OCCURRED IN ABOVE DATA STMT
 6  7 ABOVE STMT REQUESTS CONVERSION FORBIDDEN BY DATA=CONV
 6  8 DO INCREMENT FOR $ IS ZERO OR INCOMPATIBLE WITH ITS LIMITS
 6  9 ABOVE DATA STMT EXCEEDED $ TABLE
 6 10 FILE 60 INTERNAL ERROR - N6DSP/$
 6011 OUTPUT FILE NOT A PROGRAM FILE
 6012 I/O ERROR PREVENTED OUTPUT OF CODE
 6013 LOCATION COUNTERS DISAGREE
 6014 I/O ERROR PREVENTED OUTPUT OF UPDATED SOURCE
 6015 WARNING - VARIABLE AND DATA TYPES DON'T MATCH IN ABOVE DATA STMT
 6016 FORMAT REFERENCED ABOVE NOT DEFINED
 6017 ASSIGNMENT MEANINGLESS - THERE IS NO REFERENCE TO THE LABEL
 6018 FAC REJECT $, CROSS REFERENCE FILE
 6019 VALIDITY OF ITEM CHALLENGED
 6020 $ IS A SUBPROGRAM ARGUMENT
 6021  DUPLICATE CHARACTERSA IN DATA STATEMENT PROCESSING AT STC/RS $
 6022  RELATIVE OFFSET TO LOAD DATA EXCEEDS 16 BITS
