*DECK     FTNMSG
          IDENT  FTNMSG 
          TITLE              FTNMSG$ - ISSUE ERROR MESSAGES TO OUTPUT FI
,LE 
*CALL     SSTCALL 
  
          NOREF  ANSI,ASA,FC,FE,I 
          NOREF  LEN
          NOREF  ZZZZZZZZ 
  
          B1=1
          SPACE  3
*** 
*         FTNMSG$ - FTN 1.3 OVERLAY. ISSUES ERROR MESSAGES TO THE OUTPUT
*         FILE AND EXITS TO LOAD PASS 2.
* 
          SPACE  3
 B=FTMSG  RPVDEF             DEFINE ROUTINE FWA FOR REPRIEVE UTILITY
  
          USE    /TABLES/ 
 O.ERTAB  BSS    1                 FWA OF THE ERROR TABLE 
          USE    *
  
 PROGRAM  EQU    56B         SUBPROGRAM TYPE, =0 IF BLOCKDATA 
  
          EJECT 
**        ERMSG - GENERATE ERROR MESSAGE TEXT AND INDEX TABLES. 
* 
* 
*         ERMSG     NAME,SEV,(TEXT) 
* 
*         ENTRY  *NAME* = ANY UNIQUE ADDRESS SYMBOL EXCEPT *ZZZZZZZZ*.
*                   DOES NOT APPEAR IN ERROR LISTING.  BEST USED TO 
*                   GIVE CLUE TO INVOKING ROUTINE, E.G., ARITH25 OR 
*                   GOTO7.
*                *SEV*  = SEVERITY CODE.  NOT USED BY *ERMSG* MACRO,
*                   BUT REQUIRED FOR EXTERNAL PROGRAM THAT GENERATES
*                   ERROR MESSAGE LIST FOR PHOTO-REPRODUCTION IN FTN
*                   REFERENCE MANUAL.  (ACTUAL SEVERITY, AS LISTED IN 
*                   ERROR OUTPUT, IS DETERMINED BY THE *ERPRO* CALLER.) 
*                   ACCEPTABLE VALUES ARE --
*                            FC   - FATAL TO COMPILATON.
*                            FE   - FATAL TO EXECUTION. 
*                            I    - INFORMATIVE.
*                            ANSI - ANSI VIOLATION. 
*                *TEXT* = ERROR MESSAGE TO BE LISTED.  SHOULD END WITH A
*                   PERIOD. (*ERMSG* WILL SUPPLY IF OMITTED.)  MUST NOT 
*                   EXCEED 106 CHARACTERS, INCLUDING TERMINAL PERIOD. 
*                   MUST NOT CONTAIN $.  MUST BE ENCLOSED IN PARENS.
  
          QUAL   SEVC 
          ECHO   1,B=(FE,I,ASA,ANSI,FC) 
 B        =      1
          QUAL
  
  
  
 ERMSG    MACRO  NAME,SEV,TEXT
ERNUMBER DECMIC "ERNUMBER"+1
  USE MSG 
*                            VALIDATE SEVERITY CODE.
  IF -DEF,/SEVC/SEV,1 
  ERR ILLEGAL SEVERITY CODE - SEV.  "SEQUENCE"
* 
TXT MICRO 1,,$TEXT$ 
*                            APPEND TERMINATING PERIOD IF MISSING.
LEN MICCNT TXT
PER MICRO LEN,1,$"TXT"$ 
  IFC NE,$"PER"$.$,4
TXT MICRO 1,,$"TXT".$ 
LEN SET LEN+1 
*                            DEFINE TEXT IF PERIOD MISSING. 
NAME DIS ,$"TXT"$ 
  SKIP 1
*                            DEFINE TEXT IF PERIOD PRESENT. 
NAME DIS ,$TEXT$
*                            CHECK ERROR MESSAGE LENGTH.
  IFGT LEN,106,2
ERLEN DECMIC LEN-106
  ERR ERROR MESSAGE IS "ERLEN" CHARAC TOO LONG.  "SEQUENCE" 
* 
ZZZZZZZZ SET *-NAME 
  USE ERTAB 
  VFD 24/0,18/ZZZZZZZZ,18/NAME
          LIST   L           MESSAGE NR. "ERNUMBER" 
  USE * 
 ERMSG    ENDM
  
  
  
 ERNUMBER MICRO  1,, 0
  
 AVAIL    MICRO 
  
 UNUSED   MACRO                    FOR UNUSED ERROR ORDINALS
ERNUMBER DECMIC "ERNUMBER"+1
  USE ERTAB 
  VFD 42/0,1/1,17/"ERNUMBER"
          LIST   L           "ERNUMBER" IS UNUSED 
  USE * 
AVAIL MICRO 1,,$"AVAIL" "ERNUMBER"$ 
 UNUSED   ENDM
  
 RESERVE  MACRO                    ERROR ORDINALS RESERVED FOR FUTURE EX
ERNUMBER DECMIC "ERNUMBER"+1
  USE ERTAB 
  VFD 42/0,1/1,17/"ERNUMBER"
          LIST   L           "ERNUMBER" IS RESERVED 
  USE * 
 RESERVE  ENDM
          SPACE  3
          USE    ERTAB
 ERTAB    BSS    0                 BASE OF THE POINTER TABLE
          USE    MSG
  
 SEV      DATA   10H    FE
          DATA   10H    FC
          DATA   10H   ANSI 
          DATA   10H    I 
  
 INDEX    BSSZ   1                 ERROR TABLE INDEX
  
 ERBUF    BSSZ   14                ERROR MESSAGE BUFFER 
  
 O.ERHEAD DIS    ,*0 CARD NR. SEVERITY  DETAILS    DIAGNOSIS OF PROBLEM*
 L.ERHEAD =      *-O.ERHEAD 
  
          USE    0
          EJECT 
*         LOOP THROUGH THE ERROR TABLE AND PRINT OUT DIAGNOSTICS
  
*         IF (BREAK=23) WAS SELECTED, ENTRY TO OVERLAY(2,3) WILL BE TO
*         *FTN23-1* TO CALL THE COMPILE-TIME INTERACTIVE DEBUG PACKAGE. 
  
 FTN23    BREAK 
  
          ENTRY  FTN23
 FTN23    BSS    0                 ** LOADER ENTRY POINT ** 
          SA1    =XCP.LSTF
          SB1    1
          NZ     X1,MSG1           IF SOURCE LISTING ON (*L* .NZ.)
          SA1    =1H- 
          BX7    X1 
          NO
          SA7    =XTL.JECT         SET TITLE TO TRIPLE SPACE, NOT EJECT 
 MSG1     SX6    L.ERHEAD 
          SA6    =XL.STITL
          MOVE   X6,O.ERHEAD,=XO.STITL
          NUPAGE
          LISTL  (=2C  ),1         SKIP LINE AFTER SUBHEADING 
  
*         MAIN LOOP.
  
 MSG2     SA1    INDEX
          SA2    =XN.ERROR         (X2) = ERROR COUNT 
          IX3    X1-X2
          PL     X3,MSG5           IF ALL ERRORS LISTED 
          SX6    X1+B1
          LX1    1                 *2 
          SA4    O.ERTAB+X1        FIRST WORD 
          MX0    2
          SA6    A1                UPDATE INDEX 
          BX0    X0*X4
          MX7    10 
          LX0    2                 X0 = SEVERITY
          LX7    60-2 
          BX5    X7*X4
          MX2    12 
          BX4    -X2*X4            EXTRACT MESSAGE FIELD
          AX5    48                X5 = ERROR ORDINAL 
          SA1    A4+B1             (X1) = LINE NUMBER 
  
*         BLANK FILL *DETAILS* COLUMN ENTRY.
  
          SA2    =40404040404040404040B 
          LX4    12          (X4) = LEFT JUSTIFY DETAIL 
          SX6    B1 
          IX7    X4-X6       BORROW RIPPLES LEFT TO 1ST NON-ZERO BYTE 
          BX3    -X4*X7      EXTRACT BORROWS
          BX6    X2*X3       EXTRACT BORROW BYTES 
          BX7    X6          DEVELOP BLANKS (55B-S) FOR FILL
          LX6    -2 
          IX3    X7+X6
          BX7    X3 
          LX3    -3 
          IX6    X7+X3
          BX4    X4+X6       BLANK FILL THE DETAIL
  
*         WRITE ERROR MESSAGE TO OUTPUT FILE. 
  
          SA2    SEV+X0      (X2) = SEVERITY CODE (DISPLAY CODE)
          BX6    X1 
          LX7    X2 
          SA1    ERTAB-1+X5        18/L.TEXT,18/FWA 
          SA6    ERBUF
          SA7    A6+B1
          BX6    X4          (X6) = DETAILS COLUMN ENTRY
          SX2    X1                (X2) = CANNED TEXT FWA 
          AX1    18                (X1) = CANNED TEXT LENGTH
          SA0    X1+3              (A0) = LISTING LINE LENGTH 
          SA6    A7+B1
          MOVE   X1,X2,A6+B1       CANNED TEXT TO LISTING BUFFER
          LISTL  ERBUF,A0          LIST ERROR MESSAGE 
          EQ     MSG2 
  
*         HERE AFTER ALL ERRORS ARE LISTED. 
  
 MSG5     SA1    =XR=FLAG 
          SA2    =XQFLAG
          SA3    =XN.FERR 
          SA4    =XP2NOGO 
          SA5    =XDFLAG
          SX6    2R0
          SX7    B1+
          LX6    48 
          SA6    =XO.STITL
          SA7    =XL.STITL
  
 #OVL     IFEQ   .OVL,0 
  
          NZ     X1,MSG7     IF REFMAP REQUESTED
          NZ     X3,MSG7     IF FATAL ERRORS OCCURRED 
          ZR     X2,MSG7     IF NOT IN Q MODE 
          EQ     =XFTNEND 
  
  
 MSG7     LOVER  OVL22       LOAD AND EXECUTE PASS2 
  
 #OVL     ELSE
          NZ     X3,MSG7     IF FATAL ERRORS
          NZ     X2,MSG8     IF Q MODE
  
 MSG6     SA5    PROGRAM
          ZR     X5,MSG8     IF PROGRAM = 0  */ BLOCK DATA SUBPROGRAM 
  
          LOVER  OVL22       LOAD AND EXECUTE PASS 2
  
 MSG7     ZR     X5,MSG8     IF NOT IN DEBUG
          ZR     X4,MSG6     IF EXECUTING 
  
 MSG8     LOVER  OVL25       LOAD AND EXECUTE PASS3 
  
 #OVL     ENDIF 
          TITLE              TABLE OF ERROR MESSAGES
*         DOPROC MESSAGES 
  
          ERMSG  DO1,FE,(LOOPS ARE NESTED MORE THAN 50 DEEP)
  
          ERMSG  DO2,FE,(MISSING, BAD, OR OUT OF RANGE LABEL ON DO STATE
,MENT.) 
  
          ERMSG  DO3,FE,(THE TERMINAL STATEMENT OF THIS DO PRECEDES IT) 
  
          ERMSG  DO4,FE,(THE CONTROL VARIABLE OF A DO OR DO IMPLIED LOOP
, MUST BE A SIMPLE INTEGER VARIABLE)
  
          ERMSG  DO5,FE,(THE SYNTAX OF DO PARAMETERS MUST BE I=M1,M2,M3 
,OR I=M1,M2)
  
          ERMSG  DO6,FE,(A CONSTANT DO PARAMETER MUST BE GREATER THAN OR
, EQUAL TO 1 AND LESS THAN OR EQUAL TO 131070.) 
  
          ERMSG  DO7,FE,(A DO PARAMETER MUST BE A POSITIVE INTEGER CONST
,ANT OR AN INTEGER VARIABLE.) 
  
          ERMSG  DO8,FE,(DUPLICATE STATEMENT LABEL) 
  
          ERMSG  DO9,FE,(A PREVIOUS STATEMENT MAKES AN ILLEGAL TRANSFER 
,TO THIS LABEL) 
  
          ERMSG  DO10,FE,(THIS STATEMENT MAKES AN ILLEGAL TRANSFER INTO 
,A PREVIOUS DO LOOP)
  
          ERMSG  DO11,FE,(A DO LOOP MAY NOT TERMINATE ON THIS TYPE OF ST
,ATEMENT) 
  
          ERMSG  DO12,FE,(DO LOOPS TERMINATING ON THIS LABEL ARE IMPROPE
,RLY NESTED)
  
          ERMSG  DO13,I,(THIS STATEMENT REDEFINES A CURRENT LOOP CONTROL
, VARIABLE OR PARAMETER)
  
          ERMSG  DO14,FE,(ENTRY STATEMENTS MAY NOT OCCUR WITHIN THE RANG
,E OF A DO STATEMENT) 
  
          ERMSG  DO15,FE,(DEBUG EXECUTION OPTION SUPPRESSED DUE TO NATUR
,E OF ABOVE FATAL ERRORS) 
  
          ERMSG  DO16,FE,(LOOP BEGINNING AT THIS CARD NO IS ENTERED FROM
, OUTSIDE ITS RANGE AND HAS NO EXITS) 
  
          ERMSG  DO17,FE,(UNDEFINED STATEMENT LABEL(S), SEE LIST BELOW.)
  
          ERMSG  DO18,FE,(PRESENT USE OF THIS LABEL CONFLICTS WITH PREVI
,OUS USES)
  
          ERMSG  DO19,I,(MORE STORAGE REQUIRED BY DO STATEMENT PROCESSOR
, FOR OPTIMIZATION) 
  
          ERMSG  DO20,I,(THE UPPER LIMIT AND CONTROL VARIABLES OF THIS D
,O ARE THE SAME, PRODUCING A NON-TERMINATING LOOP.) 
  
          ERMSG  DO21,FC,(THIS SUBPROGRAM HAS TOO MANY DO LOOPS)
  
          ERMSG  DO22,I,(LOWER LIMIT .GE. UPPER LIMIT, ONE TRIP LOOP) 
  
*         PROGRAM CARD PROCESSOR
  
          ERMSG  HCSE,FE,(HEADER CARD SYNTAX ERROR) 
  
          ERMSG  PROG2,FE,(FILENAME IS GREATER THAN 6 CHARACTERS) 
  
          ERMSG  PROG3,FE,(FILENAME PREVIOUSLY DEFINED) 
  
          ERMSG  UNITNO,FE,(UNIT NUMBER OR PARITY INDICATOR MUST BE AN I
,NTEGER CONSTANT OR VARIABLE) 
  
          ERMSG  PROG5,FE,(EQUATED FILENAME NOT PREVIOUSLY DEFINED) 
  
*         SCANNER 
  
          ERMSG  SCAN1,FC,(TABLES OVERLAP, INCREASE FL) 
  
          ERMSG  SCAN2,FE,(UNRECOGNIZED STATEMENT)
  
          ERMSG  S3,FE,(ILLEGAL LABEL FIELD.) 
  
          ERMSG  SCAN4,FE,(STATEMENT TOO LONG)
  
          ERMSG  SCAN5,FE,(SYMBOLIC NAME HAS TOO MANY CHARACTERS.)
  
          ERMSG  SCAN6,FE,(UNMATCHED PARENTHESIS) 
  
          ERMSG  SCAN7,ASA,(7 CHARACTER SYMBOLIC NAME IS NON-ANSI)
  
          ERMSG  SCAN8,I,(NO END CARD, END LINE ASSUMED)
  
          ERMSG  P1TM,FC,(TABLE OVERFLOW, INCREASE FL)
          ERMSG  SCNR10,FE,(ILLEGAL CHARACTER.  THE REMAINDER OF THIS ST
,ATEMENT WILL NOT BE COMPILED.) 
          ERMSG  SCNR11,ANSI,(THE FORMAT OF THIS END LINE DOES NOT CONFO
,RM TO ANSI SPECIFICATIONS.)
  
*         PROGRAM CARD PROCESSOR
  
          ERMSG  SUB1,FE,(RETURNS LIST ERROR) 
  
          ERMSG  SUB2,FE,(DOUBLY DEFINED FORMAL PARAMETER)
  
          ERMSG  BDA,FE,(THIS STATEMENT TYPE IS ILLEGAL IN BLOCK DATA SU
,BPROGRAM)
  
*         DECLARATIVE PROCESSORS
  
          UNUSED
  
          ERMSG  DIM2,FE,(ARRAY HAS MORE THAN THREE SUBSCRIPTS) 
  
          ERMSG  DIM3,FE,(ARRAY WITH ILLEGAL SUBSCRIPTS)
  
          ERMSG  DIM4,I,(PREVIOUSLY DIMENSIONED ARRAY. FIRST DIMENSIONS 
,WILL BE RETAINED)
  
          ERMSG  DIM5,FE,(A VARIABLE DIMENSION OR THE ARRAY NAME WITH A 
,VARIABLE DIMENSION IS NOT A FORMAL PARAMETER)
  
          ERMSG  IMP1,I,(CHARACTER BOUNDS REVERSED IN IMPLICIT STATEMENT
,.) 
  
          ERMSG  CUN,FE,(RETURNS OR EXTERNAL NAMES MAY NOT APPEAR IN DEC
,LARATIVE STATEMENTS) 
  
          ERMSG  TYPE1,I,(A TYPE WAS DECLARED PREVIOUSLY FOR THIS VARIAB
,LE OR FUNCTION.  THIS DECLARATION IGNORED.)
  
*         ASFPRO
  
          ERMSG  DDP,FE,(DUMMY PARAMETER IN ASF DEFINITION OCCURED TWICE
,)
  
          ERMSG  ASFTMP,FE,(ASF HAS MORE DUMMY PARAMETERS THAN ALLOWED) 
  
          ERMSG  ASFPLE,FE,(SYNTAX ERROR IN DUMMY ARGUMENT LIST OF STATE
,MENT FUNCTION.)
  
          ERMSG  ASFMO,FC,(MEMORY OVERFLOW DURING ASF EXPANSION)
  
          ERMSG  LSTPRO,FC,(SYMBOL TABLE OVERFLOW)
  
*         DECLARATIVE PROCESSORS
  
          ERMSG  PROG7,FE,(HEADER CARD NOT FIRST STATEMENT) 
  
          ERMSG  DPCOM,FE,(ILLEGAL SYNTAX IN COMMON DECLARATION.) 
  
          ERMSG  COM3,FE,(COMMON VARIABLE IS FORMAL PARAMETER OR PREVIOU
,SLY DECLARED IN COMMON OR ILLEGAL NAME.) 
  
          ERMSG  COM4,FE,(ILLEGAL BLOCK NAME) 
  
          ERMSG  EXT1,FE,(ILLEGAL SEPARATOR IN EXTERNAL STATEMENT)
*         DEBUG OPTION PROCESSOR
  
          ERMSG  DBG1,I,(MAY NOT USED IN A DEBUG STATEMENT) 
  
          ERMSG  DBG2,I,(PRESENT USE IN CONTEXT OF THIS NAME DOES NOT MA
,TCH PREVIOUS OCCURRENCES IN DEBUG STMTS) 
  
          ERMSG  IMP2,ASA,(IMPLICIT STATEMENT IS NON-ANSI.) 
  
*         ASFPRO
  
          ERMSG  UNBAL,FE,(A REFERENCE TO THIS ARITHMETIC STATEMENT FUNC
,TION HAS UNBALANCED PARENTHESIS WITHIN THE PARAMETER LIST) 
  
          ERMSG  UNMATCH,FE,(UNMATCHED PARAMETER COUNT IN A REFERENCE TO
, THIS STATEMENT FUNCTION)
  
*         CONVERT 
  
          ERMSG  IMP3,FE,(ILLEGAL CHARACTER FOUND IN IMPLICIT STATEMENT.
,)
  
          ERMSG  DECFX,FE,(A CONSTANT CANNOT BE CONVERTED.  CHECK CONSTA
,NT FOR PROPER CONSTRUCT.)
  
*         RETURN STMT PROCESSOR 
  
          ERMSG  RTNMAIN,FE,(RETURN STATEMENT APPEARS IN MAIN PROGRAM)
  
          ERMSG  RTNFUNC,FE,(NON-STANDARD RETURN STATEMENT MAY NOT APPEA
,R IN A FUNCTION SUBPROGRAM)
  
          ERMSG  NSPARM,FE,(PARAMETER ON NON-STANDARD RETURN STATEMENT I
,S NOT A RETURNS FORMAL PARAMETER)
  
          ERMSG  AR51,FE,(A CONSTANT ARITHMETIC OPERATION WILL GIVE AN I
,NDEFINITE OR OUT-OF-RANGE RESULT.) 
  
          ERMSG  IMP4,FE,(ILLEGAL TYPE SPECIFIED IN IMPLICIT STATEMENT.)
  
          ERMSG  NSASA,ASA,(THE NON-STANDARD RETURN STATEMENT IS NON-ANS
,I) 
  
          ERMSG  LISTIO,FE,(SYNTAX ERROR IN INPUT/OUTPUT STATEMENT.)
  
          ERMSG  FMTER,FE,(FORMAT REFERENCE ILLEGAL.) 
  
          ERMSG  LISTIOC,I,(ARRAY REFERENCE OUTSIDE DIMENSION BOUNDS) 
  
          ERMSG  AR52,FE,(ECS/LCM REFERENCE MUST BE A STAND-ALONE ARGUME
,NT TO AN EXTERNAL ROUTINE) 
  
          ERMSG  E.LC,FE,(ONLY LIST DIRECTED OUTPUT STATEMENTS MAY END W
,ITH A COMMA) 
  
*         ENTRY 
  
          ERMSG  ENTRY1,FE,(ENTRY POINT NAMES MUST BE UNIQUE - THIS  ONE
, HAS BEEN PREVIOUSLY USED IN THIS SUBPROGRAM)
  
          ERMSG  ENTRY2,FE,(IMPROPER FORM OF ENTRY STATEMENT. ONLY ALLOW
,ABLE FORM IS [  ENTRY NAME  ]) 
  
          ERMSG  DO23,FE,(REFERENCED LABEL IS MORE THAN FIVE CHARACTERS)
  
          ERMSG  ENTRY3,FE,(ENTRY STATEMENT MAY NOT APPEAR IN A PROGRAM)
  
*         NAMELIST
  
          ERMSG  NML1,FE,(NAMELIST STATEMENT SYNTAX ERROR)
  
          ERMSG  NML2,FE,(GROUP NAME PREVIOUSLY REFERENCED IN ANOTHER CO
,NTEXT) 
  
          ERMSG  NML3,FE,(GROUP NAME NOT SURROUNDED BY SLASHS)
  
          ERMSG  NML4,FE,(APPEARED WHERE A VARIABLE WAS EXPECTED.)
  
          ERMSG  NML5,FE,(ILLEGAL NAMELIST VARIABLE.) 
  
          ERMSG  NML6,FE,(F.P. WITH VARIABLE DIMENSIONS NOT ALLOWED IN A
, NAMELIST STATEMENT) 
  
          ERMSG  ENTRY4,FE,(ENTRY STATEMENT MAY NOT BE LABELED) 
  
          ERMSG  IMP5,FE,(ILLEGAL SYNTAX IN IMPLICIT STATEMENT) 
  
*         DP CLOSE AND EQUIV
  
          UNUSED
  
          ERMSG  EQVC,FE,(BAD SUBSCRIPT IN EQUIV STMT)
  
          ERMSG  E92,FE,(ONLY ONE SYMBOLIC NAME IN EQUIVALENCE GROUP) 
  
          ERMSG  E93,FE,(SYNTAX ERROR IN EQUIVALENCE STATEMENT) 
  
          ERMSG  IFP,FE,(FORMAL PARAMETERS MAY NOT APPEAR IN COMMON OR E
,QUIV STMTS)
  
          ERMSG  E95,I,(INVOLVED IN REDUNDANT EQUIVALENCING)
  
          ERMSG  E96,FE,(NUMBER OF SUBSCRIPTS IS INCOMPATIBLE WITH THE N
,UMBER OF DIMENSIONS DURING EQUIVALENCING.) 
  
          ERMSG  EQVICE,FE,(ILLEGAL EXTENSION OF COMMON BLOCK ORIGIN) 
  
          ERMSG  EQVCE,FE,(INVOLVED IN CONTRADICTORY EQUIVALENCING) 
  
          ERMSG  CUNE,FE,(ARRAY OR COMMON VARIABLE MAY NOT BE DECLARED E
,XTERNAL) 
  
          ERMSG  ASA1,ASA,(THIS FORM OF AN I/O STATEMENT DOES NOT CONFOR
,M TO ANSI SPECIFICATIONS)
  
*         GOTO
  
          ERMSG  GOTO1,FE,(GO TO STATEMENT - SYNTAX ERROR)
  
          ERMSG  GOTO2,FE,(MISSING OR SYNTAX ERROR IN LIST OF TRANSFER L
,ABELS) 
  
          ERMSG  GOTO3,ASA,(GO TO STATEMENT CONTAINS NON-ANSI USAGES) 
  
          ERMSG  SCNR12,FE,(DEFECTIVE HOLLERITH CONSTANT.  CHECK FOR CHA
,RACTER COUNT ERROR, MISSING " DELIMITER OR LOST CONTIN CARD.)
          ERMSG  DO24,FE,(A DO LOOP MAY NOT TERMINATE ON A FORMAT STATEM
,ENT) 
          ERMSG  E.PL,I,(SINGLE WORD CONSTANT MATCHED WITH DOUBLE OR COM
,PLEX VARIABLE. PRECISION LOST.)
  
          ERMSG  CHAR,FE,(NUMBER OF CHARACTERS IN AN ENCODE/DECODE STATE
,MENT MUST BE AN INTEGER CONSTANT OR VARIABLE)
  
          ERMSG  PRSUB,FE,(MORE THAN 49 FILES ON PROGRAM CARD OR 63 PARA
,METERS ON A SUBROUTINE OR FUNCTION CARD) 
  
          ERMSG  DECPH2,FE,(DECLARATIVE STATEMENT OUT OF SEQUENCE)
  
          ERMSG  ETABOV,FC,(ERROR TABLE OVERFLOW) 
  
          ERMSG  ASSING,FE,(THIS ASSIGN STATEMENT HAS IMPROPER FORMAT, O
,NLY ALLOWABLE IS [ASSIGN  LABEL  TO  VARIABLE ]) 
          EJECT 
*         DATA
  
          ERMSG  E.V>C,I,(DATA VARIABLE LIST EXCEEDS ITEM LIST, EXCESS V
,ARIABLES NOT INITIALIZED)
  
          ERMSG  E.C>V,I,(DATA ITEM LIST EXCEEDS VARIABLE LIST, EXCESS C
,ONSTANTS IGNORED)
  
          ERMSG  E.DNA,ASA,(NON-ANSI FORM OF DATA STATEMENT)
  
          ERMSG  E.DSE,FE,(SYNTAX ERROR IN DATA STATEMENT)
  
          ERMSG  E.DIL,FE,(SYNTAX ERROR IN DATA ITEM LIST)
  
          ERMSG  E.DIL1,FE,(+ OR - SIGN MUST BE FOLLOWED BY A CONSTANT) 
  
          ERMSG  E.DIL2,FE,(DATA ITEM LISTS MAY ONLY BE NESTED 1 DEEP)
  
          ERMSG  E.DIL3,FE,(CONSTANT DATA ITEM MUST BE FOLLOWED BY A , /
, OR RIGHT PAREN) 
  
          ERMSG  E.DCE1,FE,(DO LIMIT OR REP FACTOR MUST BE AN INTEGER OR
, OCTAL CONSTANT BETWEEN 1 AND 131K)
  
          ERMSG  E.DVL1,FE,(FOLLOWED BY AN ILLEGAL ITEM.) 
  
          ERMSG  E.DVL2,FE,(SYNTAX ERROR IN IMPLIED DO NEST)
  
          ERMSG  E.DVL3,FE,(DATA VARIABLE LIST SYNTAX ERROR)
  
          ERMSG  E.DVL4,FE,(DUPLICATE LOOP INDEX OR DOESNT MATCH ANY SUB
,SCRIPT VARIABLE) 
  
          ERMSG  E.DVL5,FE,(VARIABLE SUBSCRIPTS MAY NOT APPEAR WITHOUT D
,O LOOPS) 
  
          ERMSG  E.DVL6,FE,(VALUE OF ARRAY SUBSCRIPT IS .LT. 1 OR .GT. D
,IMENSIONALITY IN IMPLIED DO NEST)
  
          ERMSG  E.DVL7,FE,(NON DIMENSIONED NAME APPEARS FOLLOWED BY LEF
,T PAREN) 
  
          ERMSG  E.DVL8,FE,(SYNTAX ERROR IN SUBSCRIPT LIST,MUST BE OF FO
,RM  CON1*IVAR+CON2)
  
          ERMSG  E.DVL9,FE,(CONSTANT SUBSCRIPT VALUE EXCEEDS ARRAY DIMEN
,SIONS) 
  
          ERMSG  DO130,FE,(ZERO STATEMENT LABELS ARE ILLEGAL) 
  
          ERMSG  E.TRC,I,(CONSTANT LENGTH .GT. VARIABLE LENGTH, CONSTANT
, TRUNCATED)
  
          ERMSG  E.DVN1,FE,(MAY NOT BE FUNCTION, EXTERNAL, F.P. OR IN BL
,ANK COMMON)
  
          ERMSG  E.DVN2,FE,(THIS NAME MAY NOT BE USED IN A DATA STMT) 
          TITLE              MESSAGES FROM ARITH, CALL, IF AND ASFPRO 
*         ARITH 
  
          ERMSG  AR00,ASA,(MULTIPLE REPLACEMENT STATEMENT IS NON-ANSI.) 
  
          ERMSG  AR01,FE,(ILLEGAL USE OF THE EQUAL SIGN.) 
  
          ERMSG  AR02,FE,(SIMPLE VARIABLE OR CONSTANT FOLLOWED BY LEFT P
,ARENTHESIS.) 
  
          ERMSG  AR03,FE,(NO MATCHING RIGHT PARENTHESIS.) 
  
          ERMSG  AR04,FE,(NO MATCHING LEFT PARENTHESIS.)
  
          ERMSG  AR05,FE,(THE OPERATOR INDICATED (-,+,*,/, OR **) MUST B
,E FOLLOWED BY A CONSTANT, NAME, OR LEFT PARENTHESIS.)
  
          ERMSG  AR06,FE,(A NAME MAY NOT BE FOLLOWED BY A CONSTANT.)
  
          ERMSG  AR07,FE,(MORE THAN 63 ARGUMENTS IN ARGUMENT LIST.) 
  
          ERMSG  AR08,FE,(A CONSTANT MAY NOT BE FOLLOWED BY AN EQUAL SIG
,N, NAME, OR ANOTHER CONSTANT.) 
  
          ERMSG  AR09,FE,(TABLE OVERFLOW (MXOSE) - SIMPLIFY EXPRESSION O
,R SEE ANALYST.)
  
          ERMSG  AR10,FE,(LOGICAL OPERAND USED WITH NON-LOGICAL OPERATOR
,S.)
  
          ERMSG  AR11,FE,(NO MATCHING RIGHT PARENTHESIS IN SUBSCRIPT.)
  
          ERMSG  AR12,FE,(BASIC EXTERNAL OR INTRINSIC FUNCTION CALLED WI
,TH WRONG TYPE ARGUMENT)
  
          ERMSG  AR13,I,(ARRAY NAME OPERAND NOT SUBSCRIPTED, FIRST ELEME
,NT WILL BE USED) 
  
          ERMSG  AR14,FE,(INTRINSIC FUNCTION REFERENCE MAY NOT USE A FUN
,CTION NAME AS AN ARGUMENT) 
  
          ERMSG  AR15,FE,(ARGUMENT NOT FOLLOWED BY COMMA OR RIGHT PARENT
,HESIS.)
  
          ERMSG  AR16,FE,(A FUNCTION REFERENCE REQUIRES AN ARGUMENT LIST
,.) 
  
          ERMSG  AR60,FE,(INTEGER CONSTANT FOR MULTIPLICATION OR DIVISIO
,N EXCEEDS 2**48-1.)
  
          ERMSG  AR18,FE,(TABLE OVERFLOW (MXFRSTB) - SIMPLIFY EXPRESSION
, OR SEE ANALYST.)
  
          ERMSG  AR19,FE,(THIS OPERATOR (.NOT. OR A RELATIONAL) MUST BE 
,FOLLOWED BY A CONSTANT, NAME, LEFT PAREN, + OR -.) 
  
          ERMSG  EQPO4,ANSI,(REDEFINITION OF PARAMETER USED AS DIMENSION
, INDICATOR IS NON-ANSI.) 
  
          ERMSG  AR21,FE,(BASIC OR INTRINSIC FUNCTION WITH AN INCORRECT 
,ARGUMENT COUNT)
  
          ERMSG  AR22,FE,(TABLE OVERFLOW (ARLSZ) - SIMPLIFY EXPRESSION O
,R SEE ANALYST.)
  
          ERMSG  AR23,ASA,(ARRAY NAME REFERENCED WITH FEWER SUBSCRIPTS T
,HAN DIMENSIONALITY OF ARRAY.)
  
          ERMSG  AR24,FE,(ILLEGAL LIST ITEM ENCOUNTERED IN AN I/O LIST S
,EQUENCE.)
  
          ERMSG  AR25,FE,(RIGHT PARENTHESIS FOLLOWED BY A NAME, CONSTANT
,, OR LEFT PARENTHESIS.)
  
          ERMSG  AR26,FE,(MORE THAN ONE RELATIONAL OPERATOR IN A RELATIO
,NAL EXPRESSION.) 
  
          ERMSG  AR27,FE,(INCORRECT SYNTAX FOLLOWING INDICATED ELEMENT.)
  
          ERMSG  AR28,FE,(AN ARRAY REFERENCE HAS TOO MANY SUBSCRIPTS.)
  
          ERMSG  AR29,FE,(NO MATCHING RIGHT PARENTHESIS IN ARGUMENT LIST
,.) 
  
          ERMSG  AR30,FE,(ILLEGAL FORM INVOLVING THE USE OF A COMMA.) 
  
          ERMSG  AR31,FE,(LOGICAL AND NON-LOGICAL OPERANDS MAY NOT BE MI
,XED) 
  
          ERMSG  AR32,FE,(DIVISION BY CONSTANT ZERO.) 
  
          ERMSG  AR33,FE,(A COMPLEX BASE MAY ONLY BE RAISED TO AN INTEGE
,R POWER) 
  
          ERMSG  AR34,FE,(USE OF THIS PROGRAM OR SUBROUTINE NAME IN AN E
,XPRESSION.)
  
          ERMSG  AR35,FE,(SUBROUTINE NAME REFERRED TO BY CALL IS USED EL
,SEWHERE AS A NON-SUBROUTINE NAME.) 
  
          ERMSG  AR36,I,(ARGUMENT COUNT INCONSISTENT WITH PRIOR USAGE.) 
  
          ERMSG  CA00,FE,(ILLEGAL SYNTAX IN CALL STATEMENT.)
  
          ERMSG  CA01,FE,(ILLEGAL RETURNS PARAMETER.) 
  
          ERMSG  IF00,FE,(ILLEGAL LABELS IN IF STATEMENT.)
  
          ERMSG  IF01,FE,(LOGICAL EXPRESSION IN 3-BRANCH IF STATEMENT.) 
  
          ERMSG  IF02,FE,(THE STATEMENT IN A LOGICAL IF MAY BE ANY EXECU
,TABLE STATEMENT OTHER THAN A DO OR ANOTHER LOGICAL IF) 
  
          ERMSG  IF03,FE,(THE EXPRESSION IN A LOGICAL IF IS NOT TYPE LOG
,ICAL)
          TITLE              NON USAS USEAGES 
          ERMSG  DPROG2,FE,(RECORD LENGTH IS GREATER THAN 131,071.) 
  
          ERMSG  GOTO88,I,(THERE IS NO PATH TO THIS STATEMENT)
  
          ERMSG  ASSIGN2,FE,(VARIABLE IN ASSIGN OR ASSIGNED GO TO IS ILL
,EGAL)
  
          ERMSG  NAML,ASA,(NAMELIST STATEMENT IS NON-ANSI)
  
          ERMSG  ENTRYDV,ASA,(ENTRY STATEMENT IS NON-ANSI)
  
          ERMSG  CA02,ASA,(RETURNS PARAMETERS IN CALL STATEMENT.) 
  
          ERMSG  AR38,ASA,(HOLLERITH CONSTANT APPEARS OTHER THAN IN AN A
,RGUMENT LIST OF A CALL STATEMENT OR IN A DATA STATEMENT.)
  
          ERMSG  AR39,I,(A HOLLERITH CONSTANT IS AN OPERAND OF AN ARITHM
,ETIC OPERATOR.)
  
          ERMSG  AR40,ASA,(SUBSCRIPT DOES NOT CONFORM TO ANSI STANDARD.)
  
          ERMSG  AR41,ASA,(MASKING EXPRESSION IS NON-ANSI.) 
  
          ERMSG  AR42,ASA,(THE TYPE COMBINATION OF THE OPERANDS OF AN EX
,PONENT OPERATOR IS NON-ANSI.)
  
          ERMSG  AR43,ASA,(A RELATIONAL HAS A COMPLEX OPERAND.) 
  
          ERMSG  AR44,ASA,(THE TYPE COMBINATION OF THE OPERANDS OF A REL
,ATIONAL OR ARITHMETIC OPERATOR (OTHER THAN **) IS NON-ANSI.) 
  
          ERMSG  AR45,ASA,(THE TYPE COMBINATION OF THE OPERANDS OF AN EQ
,UAL-SIGN OPERATOR IS NON-ANSI.)
  
          ERMSG  AR46,ASA,(TWO-BRANCH IF STATEMENT IS NON-ANSI.)
  
          ERMSG  AR47,ASA,(THE EXPRESSION IN AN IF STATEMENT IS TYPE COM
,PLEX.) 
  
          TITLE 
          ERMSG  IF05,I,(THIS STATEMENT BRANCHES TO ITSELF.)
  
          ERMSG  IFERR4,I,(THIS IF DEGENERATES INTO A SIMPLE TRANSFER TO
, THE LABEL INDICATED.) 
  
          ERMSG  AR48,FE,(TOO MANY SUBSCRIPTS IN ARRAY REFERENCE.)
  
          ERMSG  S,ASA,(LOGICAL OPERATOR OR CONSTANT USAGE IS NON-ANSI) 
  
          ERMSG  SS,ASA,(OCTAL CONSTANT OR R,L FORMS OF HOLLERITH CONSTA
,NT IS NON-ANSI)
  
          ERMSG  AR37,FE,(LEFT SIDE OF REPLACEMENT STATEMENT IS ILLEGAL.
,)
  
          ERMSG  VACPAR,FE,(A REFERENCE TO THIS ASF HAS A PARAMETER MISS
,ING) 
  
          ERMSG  BSI,I,(I/O BUFFER LENGTH SPECIFICATION IS NOT MEANINGFU
,L--VALUE IGNORED.) 
  
          ERMSG  DPCL2,FE,(A PREVIOUSLY MENTIONED ADJUSTABLE SUBSCRIPT I
,S NOT TYPE INTEGER.) 
  
          ERMSG  DPCL3,FE,(ALL LEVEL 2 OR 3 ITEMS MUST BE FORMAL PARAMET
,ERS OR IN COMMON.) 
  
  
          ERMSG  AR49,FE,(THE TYPE OF THIS IDENTIFIER IS NOT LEGAL FOR A
,NY EXPRESSION) 
  
          ERMSG  AR50,FE,(A CONSTANT OPERAND OF A REAL OPERATION IS OUT 
,OF RANGE OR INDEFINITE.) 
          ERMSG  NANC,ASA,(USE OF A NUMBER AS LABELED COMMON BLOCK NAME 
,IS NON-ANSI.)
  
          ERMSG  NOMORE,I,(*** DUE TO THE MANY ERRORS NOTED, ONLY THOSE 
,WHICH ARE FATAL WILL BE LISTED HEREAFTER.) 
  
          ERMSG  CMTCD,ANSI,(A COMMENT LINE WITHIN A CONTINUED STATEMENT
, IS NON-ANSI.) 
  
          ERMSG  NABC,ANSI,(NON-ANSI BLANK LINES OCCURRED IN THIS PROGRA
,M UNIT.) 
  
          ERMSG  SCANC,FE,(WAS LAST CHARACTER SEEN AFTER TROUBLE.  REMAI
,NDER OF STATEMENT IGNORED.)
  
          ERMSG  S210,ASA,(DOLLAR SIGN STATEMENT SEPARATOR IS NON-ANSI U
,SAGE)
  
          ERMSG  LIOEXP,ASA,(AN EXPRESSION IN AN OUTPUT STATEMENT I/O LI
,ST IS NON ANSI USAGE)
  
          ERMSG  LIOBIO,FE,(FIRST WORD AND LAST WORD ADDRESSES OF DATA T
,RANSMISSION BLOCK MUST BE IN THE SAME LEVEL) 
  
          ERMSG  PARITY,FE,(THE VALUE OF THE PARITY INDICATOR IN A BUFFE
,R I/O STATEMENT MUST BE 0 OR 1)
  
          ERMSG  E214,ANSI,(ARRAY NAME OPERAND NOT SUBSCRIPTED.  FIRST E
,LEMENT WILL BE USED.)
  
          ERMSG  ARMASK,I,(MASK ARGUMENT MUST BE NONNEGATIVE AND LESS TH
,AN 61.)
  
          ERMSG  ASFSE,FE,(SYNTAX ERROR IN ASF DEFINITION)
  
          ERMSG  IHDR,I,(*PROGRAM START. (INPUT,OUTPUT)* ASSUMED WHEN HE
,ADER STATEMENT IS DEFECTIVE OR OMITTED.) 
  
          ERMSG  SIGD,I,(CONSTANT TOO LONG.  HIGH ORDER DIGITS RETAINED,
, BUT SOME PRECISION LOST.) 
  
          ERMSG  AR53,FE,(.NOT. MAY NOT BE PRECEDED BY NAME, CONSTANT, O
,R RIGHT PARENS.) 
  
          ERMSG  P1,FE,(THE FIELD FOLLOWING STOP OR PAUSE MUST BE 5 OR L
,ESS OCTAL DIGITS OR A QUOTE-DELIMITED STRING)
  
          ERMSG  NATYP,ASA,(NON-ANSI FORM OF TYPE DECLARATION)
  
          ERMSG  SCAN10,FE,(ILLEGAL VARIABLE NAME FIELD IN ASSIGN OR ASS
,IGNED GOTO)
  
          ERMSG  PRIN12,ASA,(THIS FORMAT DECLARATION IS NON-ANSI) 
  
          ERMSG  LCC1,FE,(SYNTAX ERROR IN LOADER DIRECTIVE.)
  
          ERMSG  E224,FC,(NOT ENOUGH ROOM IN WORKING STORAGE TO HOLD ALL
, OVERLAY CONTROL CARD INFORMATION) 
  
          ERMSG  DOUN,I,(THIS STATEMENT MAY REDEFINE A CURRENT LOOP CONT
,ROL VARIABLE OR PARAMETER, OPTIMIZATION INHIBITED.)
  
          ERMSG  FRL,ASA,(END STATEMENT ACTING AS A RETURN IS NON-ANSI) 
  
          ERMSG  NACMT,ASA,(OCCURRENCES OF ASTERISK OR DOLLAR SIGN NON-A
,NSI COMMENT LINES.)
  
          ERMSG  EI,I,(DIMENSIONAL RANGE IS EXTENDED FOR EQUIVALENCING P
,URPOSES) 
  
          ERMSG  C1.,FE,(TOO MANY LABELED COMMON BLOCKS, ONLY 125 BLOCKS
, ARE ALLOWED.) 
  
          ERMSG  PRINTB,FE,(UNIT NUMBER MUST BE BETWEEN 1 AND 99 INCLUSI
,VE.) 
  
          ERMSG  FUNCT,FE,(FUNCTION NAME DOES NOT APPEAR AS A VARIABLE I
,N THIS SUBPROGRAM) 
  
          ERMSG  TSUB,FE,(PROGRAM OR SUBROUTINE NAME MAY NOT BE REFERENC
,ED IN A DECLARATIVE STATEMENT.)
  
          ERMSG  DPROGI,I,(FILE LENGTH REQUESTED EXCEEDS 360000B -- 3600
,00B SUBSTITUTED.)
          TITLE              ERROR MESSAGES ISSUED BY THE FORMAT PROCESS
,OR 
          ERMSG  I1,I,(SEPARATOR MISSING.  SEPARATOR ASSUMED HERE.) 
  
          ERMSG  I2,I,(NO DIGIT PRECEDED X-FIELD.  1X ASSUMED.) 
  
          ERMSG  I3,I,(X-FIELD PRECEDED BY A ZERO.  NO SPACING OCCURS.) 
  
          ERMSG  I4,I,(PRECEDING FIELD WIDTH IS ZERO.)
  
          ERMSG  I5,I,(PRECEDING FIELD WIDTH SHOULD BE 7 OR MORE.)
  
          ERMSG  I6,I,(FRACTIONAL DIGIT COUNT MISSING FROM CONVERSION DE
,SCRIPTOR.  DEPENDING ON DESCRIPTOR, ONE OR ZERO ASSUMED.)
  
          RESERVE                  I7 
  
          RESERVE                  I8 
  
          ERMSG  I9,I,(FIELD WIDTH IS GREATER THAN 137 CHARACTERS.  IT M
,AY EXCEED THE I/O DEVICE CAPACITY.)
  
          ERMSG  I10,I,(PRECEDING SCALE FACTOR EXCEEDS THE LIMIT OF REPR
,ESENTATION WITHIN THE MACHINE.)
  
          ERMSG  I11,I,(SUPERFLUOUS SCALE FACTOR ENCOUNTERED BEFORE THE 
,CURRENT SCALE FACTOR.) 
  
          ERMSG  I12,I,(TOTAL RECORD LENGTH IS GREATER THAN 137 CHARACTE
,RS.  IT MAY EXCEED THE I/O DEVICE CAPACITY.) 
  
          ERMSG  I13,I,(FIELD WIDTH OF A CONVERSION DESCRIPTOR SHOULD BE
, AS LARGE AS THE MINIMUM SPECIFIED FOR THAT DESCRIPTOR.) 
  
          ERMSG  I14,I,(NUMERIC FIELD FOLLOWING TAB SETTING DESIGNATOR I
,S EQUAL TO ZERO.  COLUMN ONE WILL BE ASSUMED.) 
  
          ERMSG  I15,I,(NUMERIC FIELD OMITTED FROM PRECEDING SCALE FACTO
,R.  ZERO SCALE FACTOR ASSUMED.)
  
          RESERVE  I16
  
          ERMSG  I17,I,(TAB SETTING MAY EXCEED RECORD SIZE, DEPENDING ON
, USE.) 
  
          RESERVE                  I18
          RESERVE                  I19
          RESERVE                  I20
  
          ERMSG  U1,ANSI,(PLUS SIGN IS A NON-ANSI CHARACTER.) 
  
          ERMSG  U2,ANSI,(PRECEDING FIELD DESCRIPTOR IS NON-ANSI.)
  
          ERMSG  U3,ANSI,(FLOATING POINT DESCRIPTOR EXPECTED AFTER SCALE
, FACTOR DESIGNATOR.) 
  
          ERMSG  U4,ANSI,(TAB SETTING DESIGNATOR IS NON-ANSI.)
  
          ERMSG  U5,ANSI,(HOLLERITH STRING DELIMITED BY SYMBOLS IS NON-A
,NSI.)
  
          ERMSG  U6,ANSI,(ONE OF THE FOLLOWING NON-ANSI FORMS HAS BEEN U
,SED -- EW.DDE, EW.DEE, IW.Z, OW.Z.)
  
          ERMSG  U7,ANSI,(BACKING UP WITH X SPECIFICATION IS NON-ANSI.) 
  
          ERMSG  U8,ANSI,(ATTEMPT TO BACK UP BEFORE COLUMN ONE CAUSES PO
,SITIONING TO BE SET AT COLUMN ONE.)
  
          ERMSG  U9,ANSI,(OMISSION OF FIELD SEPARATOR AFTER HOLLERITH ST
,RING IS NON-ANSI.) 
  
          RESERVE                  U10
  
          ERMSG  F1,FE,(PRECEDING CHARACTER ILLEGAL AT THIS POINT IN STR
,ING.  ERROR SCAN FOR THIS FORMAT STOPS HERE.)
  
          ERMSG  F2,FE,(ILLEGAL CHARACTER FOLLOWS PRECEDING FLOATING POI
,NT DESCRIPTOR.  ERROR SCAN FOR THIS FORMAT STOPS HERE.)
  
          ERMSG  F3,FE,(ILLEGAL CHARACTER FOLLOWS PRECEDING A,I,L,O,R OR
, Z DESCRIPTOR.  ERROR SCAN FOR THIS FORMAT STOPS HERE.)
  
          ERMSG  F4,FE,(ILLEGAL CHARACTER FOLLOWS TAB SETTING DESIGNATOR
,.  ERROR SCAN FOR THIS FORMAT STOPS HERE.) 
  
          ERMSG  F5,FE,(ILLEGAL CHARACTER FOLLOWS PRECEDING SIGN CHARACT
,ER.  ERROR SCAN FOR THIS FORMAT STOPS HERE.) 
  
          ERMSG  F6,FE,(PRECEDING CHARACTER ILLEGAL.  SCALE FACTOR EXPEC
,TED.  ERROR SCAN FOR THIS FORMAT STOPS HERE.)
  
          ERMSG  F7,FE,(PRECEDING HOLLERITH COUNT IS EQUAL TO ZERO.  ERR
,OR SCAN FOR THIS FORMAT STOPS HERE.) 
  
          ERMSG  F8,FE,(FORMAT STATEMENT ENDS BEFORE LAST HOLLERITH COUN
,T IS COMPLETE.  ERROR SCAN FOR THIS FORMAT STOPS AT H .) 
  
          ERMSG  F9,FE,(FORMAT STATEMENT ENDS BEFORE END OF HOLLERITH ST
,RING.  ERROR SCAN FOR THIS FORMAT STOPS HERE.) 
  
          ERMSG  F10,FE,(PRECEDING HOLLERITH INDICATOR IS NOT PRECEDED B
,Y A COUNT. SCANNING STOPS HERE.) 
  
          ERMSG  F11,FE,(ZERO LEVEL RIGHT PARENTHESIS MISSING.  SCANNING
, STOPS.) 
  
          ERMSG  F12,FE,(MAXIMUM PARENTHESIS NESTING LEVEL EXCEEDED. ERR
,OR SCAN FOR THIS FORMAT STOPS HERE.) 
  
          ERMSG  F13,FE,(ZERO IS SPECIFIED AS REPEAT COUNT.  SCANNING ST
,OPS.)
  
          ERMSG  F14,FE,(ILLEGAL CHARACTERS AFTER TERMINATING RIGHT PARE
,NTHESIS.)
  
          ERMSG  F15,FE,(WORKING STORAGE EXCEEDED.  FORMAT SCAN HALTED.)
  
          ERMSG  F16,FE,(FIELD WIDTH IS GREATER THAN 131,071.  SCANNING 
,STOPS.)
  
          ERMSG  F17,FE,(TOTAL RECORD LENGTH IS GREATER THAN 131,071.  S
,CANNING STOPS.)
  
          ERMSG  F18,FE,(TAB SETTING IS GREATER THAN 131,071.  SCANNING 
,STOPS.)
  
          RESERVE                  F19
  
          UNUSED
          SPACE  3
*         MISCELLANEOUS 
  
          ERMSG  TNOCOM,I,(COMMA MISSING BEFORE VARIABLE INDICATED.)
  
          ERMSG  BADSEP,FE,(ILLEGAL SEPARATOR ENCOUNTERED.) 
  
          ERMSG  BADSYN,FE,(BAD SYNTAX ENCOUNTERED.)
  
          ERMSG  LENGTH,FE,(COMMON BLOCK LENGTH EXCEEDS 131071 WORDS.)
  
          ERMSG  SCANOFLO,FE,(TABLE OVERFLOW (CONSTORS) - SIMPLIFY STATE
,MENT OR SEE ANALYST.)
  
          ERMSG  LVL1,FE,(INVALID LEVEL NUMBER SPECIFIED) 
  
          ERMSG  LVL2,I,(LEVEL CONFLICTS WITH PREVIOUS DECLARATION. ORIG
,INAL LEVEL RETAINED.)
  
          ERMSG  LVL3,FE,(CONFLICTING LEVEL DECLARATIONS EXIST IN THIS C
,OMMON BLOCK) 
  
          ERMSG  LVL4,I,(NOT ALL ITEMS IN THIS COMMON BLOCK OCCUR IN LEV
,EL STATEMENTS) 
  
          ERMSG  LVL5,FE,(ITEMS IN DIFFERENT LEVELS OF STORAGE MAY NOT B
,E EQUIVALENCED)
  
          ERMSG  DECPO,I,(THIS STATEMENT FORM IS OBSOLETE. USE A LEVEL 3
, STATEMENT.) 
  
          ERMSG  LOCF,FE,(ARG TO LOCF MAY NOT BE AN EXPRESSION) 
  
          ERMSG  ICS,FE,(INVALID USE OF A CHARACTER STRING.)
  
          ERMSG    EQVLEN,FE,(EQUIVALENCED COMMON BLOCK EXCEEDS 131071 W
,ORDS.) 
  
          ERMSG  ASAST,ANSI,(THIS STATEMENT TYPE IS NON-ANSI.)
  
          ERMSG  ACALL,FE,(THIS PROGRAM UNIT CALLS ITSELF.) 
  
          ERMSG  DOCVCE,I,(CONTROL VARIABLE IN COMMON OR EQUIVALENCED, OP 
,PTIMIZATION MAY BE INHIBITED)
  
          ERMSG  ASHIFT,I,(SHIFT ARGUMENT MUST BE GREATER THAN -61 AND L
,ESS THAN 61.)
  
          ERMSG  AR58,FE,(ARITHMETIC STATEMENT FUNCTION REDEFINED.) 
  
          ERMSG  CONVRT,FE,(ABSOLUTE VALUE OF INTEGER CONSTANT GREATER T
,HAN 2**59-1 .) 
  
          ERMSG  E.DO305,ANSI,(OBJECT OF LOGICAL IF IS ILLEGAL DO TERMIN
,ATOR)
  
          ERMSG  DOEXT,I,(NON-INNER LOOP BEGINNING AT THIS CARD IS ENTER
,ED FROM OUTSIDE ITS RANGE.)
  
          ERMSG  FLOWER,ANSI,(CONTROL FLOW INTO END LINE NOT PERMITTED.)
  
          ERMSG  BUFIO1,I,(FWA AND LWA NOT IN SAME ARRAY, EQUIVALENCE CL
,ASS, OR COMMON BLOCK.) 
  
          ERMSG  E.IOND,I,(I/O FILE NOT DEFINED.) 
  
          ERMSG  CDN.E4,FE,(ILLEGAL USE OF A FUNCTION NAME.)
  
          UNUSED
  
          ERMSG  GOTO,I,(AN IF STATEMENT MAY BE MORE EFFICIENT THAN A 2 
,OR 3 BRANCH COMPUTED GO TO STATEMENT.) 
  
          ERMSG  E313,FE,(ILLEGAL SYNTAX AFTER INITIAL KEYWORD OR NAME.)
  
          ERMSG  E314,I,(SPURIOUS CHARACTERS AFTER CONTINUE IGNORED.) 
  
          ERMSG  LCC3,FE,(LOADER DIRECTIVE OUT OF SEQUENCE.  MUST PRECED
,E PROGRAM UNIT HEADER LINE.) 
  
          ERMSG  E316,FE,(ILLEGAL SYNTAX IN IF STATEMENT.)
  
          ERMSG  RETPAR,FE,(NUMBER OF ACTUAL PARAMETERS PLUS RETURNS EXC
,EED 63)
  
          ERMSG  E318,ANSI,(AN EXPRESSION OF THE FORM A**B**C IS NON-ANS
,I, AND IS EVALUATED FROM LEFT TO RIGHT.) 
  
          ERMSG  E319,FE,(A C/ LIST DIRECTIVE MAY NOT BE FOLLOWED BY A C
,ONTINUATION LINE.) 
  
          ERMSG  E.IHI,I,(HOLLERITH CONSTANT .GT. 10 CHARACTERS, EXCESS 
,CHARACTERS INITIALIZED INTO SUCCEEDING WORDS.) 
  
          ERMSG  E.DTC,ANSI,(DATA VARIABLE TYPE DOES NOT MATCH CONSTANT.
,)
  
          ERMSG  CA03,FE,(EXTERNAL NAME IN ARGUMENT LIST MUST APPEAR IN 
,EXTERNAL STATEMENT.) 
  
          ERMSG  DPBDA,ANSI,(NON-ANSI FORM OF BLOCK DATA STATEMENT.)
  
          ERMSG  E324,FE,(UNRECOGNIZED OPERATOR.) 
  
          ERMSG  E325,I,(SPURIOUS CHARACTERS AFTER END IGNORED.)
  
          ERMSG  E.DNC,I,(VARIABLE NOT DECLARED IN LABEL COMMON)
  
          ERMSG  E.PIL,FE,(ILLEGAL SYNTAX IN IMPLIED DO SPECIFICATION)
  
          ERMSG  E328,ANSI,(SAME NAME USED AS FUNCTION AND SUBROUTINE)
  
          UNUSED
  
          UNUSED
  
          UNUSED
  
          UNUSED
  
          UNUSED
  
          UNUSED
  
          UNUSED
  
          UNUSED
  
          UNUSED
  
          UNUSED
  
          UNUSED
  
          UNUSED
  
          UNUSED
  
          UNUSED
  
          UNUSED
  
          UNUSED
  
          UNUSED
  
          UNUSED
  
          UNUSED
  
          UNUSED
  
          UNUSED
  
          UNUSED
  
          UNUSED
  
  
  
  
          LIST   A   ** LIST OF AVAILABLE ERROR NUMBERS **
  LIST L  "AVAIL" 
  
          END    FTN23
