FORTRAN COMPILATION DIAGNOSTICS Errors detected in the source program are indicated by a numeric code inserted before or after the statement in the list output. The format is as follows: E-eeee: ssss + nnnn eeee The error diagnostic code shown below. ssss The statement label of the statement in which the error was detected. In unlabeled, 0000 is typed. nnnn Ordinal number of the erroneous statement following the last labeled statement. (Comment statements are not in- cluded in this count.) Error Code Description 0001 Statement label error: a) The label is in positions other than 1-5. b) A character in the label is not numeric. c) The label is not in the range 1-9999. d) The label is doubly defined. e) The label indicated is used in a GO TO, DO, or IF state- ment or in an I/O operation to name a FORMAT state- ment, but it does not appear in the label field for any statement in the program (printed after END). 0002 Unrecognized statement: a) The statement being processed is not recognized as a valid statement. b) A specifications statement follows an executable state- ment. c) The specification statements are not in the following order: DIMENSION COMMON EQUIVALENCE d) A statement function precedes a specifications statement or follows an executable statement. 0003 Parenthesis error: There are an unequal number of left and right parentheses in a statement. 0004 Illegal character or format: a) A statement contains a character other than A through Z, 0 through 9, or space = + - / ( ) , . $ " . b) A statement does not have the proper format. c) A control statement is missing, misspelled, or does not have the proper format. A-1 Error Code Description 0005 Adjacent operators: An arithmetic expression contains ad- jacent arithmetic operators 0006 Illegalsubscript: A variable name is used both as a simple variable and a subscripted variable. 0007 Doubly defined variable: a) A variable name appears more than once in a COMMON statement. b) A variable name appears more than once in a DIMENSION statement. c) A variable name appears more than once as a dummy argument in a statement function. d) A program, subroutine, or function name appears as a dummy parameter or in a specifications statement. e) A subroutine or program name appears as a variable within the program. 0008 Too many parameters: The dummy parameters for a sub- routine or function exceed 63. 0009 Invalid arithmetic expression: a) Missimg operator. b) Illegal replacement. 0010 Mixed mode expression: Integer constants or variables ap- pear in an arithmetic expression with real constants or var- iables. 0011 Invalid subscript: a) Subscript is not an integer constant, integer variable, or legal subscript expression. b) There are more than two subscripts (i.e., more than two dimensions). c) Two subscripts appear for a variable which has been de- fined with one dimension only. 0012 Invalid constant: a) An integer constant is not in the range of 2**15 to 2**15-1. b) A real constant is not in the approximate range of 10**38 to 10**-38. c) A constant contains an illegal character. 0013 Invalid EQUIVALENCE statement: a) Two or more of the variables appearing in an EQUTVA- LENCE statement are also defined in the COMMON block. b) The variables contained in an EQUIVALENCE cause the origin of COMMON to be altered. c) Contradictory equivalence; or equivalence between two or more arrays conflicts with a previously established equivalence. A-2 Error Code Description 0014 Table overflow: Too many variables and statement labels appear in the program. 0015 Invalid DO loop: a) The terminal statement of a DO loop does not appear in the program or appears prior to the DO statement. b) The terminal statement of a nested DO loop is not within the range of the outer DO loop. c) DO loops are nested more than 10 deep. d) Last statement in a loop is a GO TO, arithmetic IF, RE- TURN, STOP, PAUSE, or DO. e) An indexing parameter is not an unsigned integer constant or simple integer variable or is specified as zero. 0016 Statement function name is doubly defined. 0017 A tape write error has occurred while producing interme- diate code output during Pass 1. A-3