Google
 

Trailing-Edge - PDP-10 Archives - decuslib20-09 - decus/20-34/notabs.try
There are 3 other files named notabs.try in the archive. Click here to see a list.
C     THIS SET OF ROUTINES IS TEST  DATA  FOR  THE  FORTRAN
C     RENUMBERING  PROGRAM.   THE NUMBER 48 IS USED WHERE A
C     NUMBER IS NOT TO BE REPLACED AND THE NUMBER NINETY IS
C     USED  WHERE SYNTAX SHOWS IT TO BE A STATEMENT NUMBER.
C     IF RENUMBERED WITH INITIAL  STATEMENT  NUMBER  1  AND
C     INCREMENT  ALSO  1,  THEN THE STATEMENT NUMBER NINETY
C     WILL BE CONVERTED TO STATEMENT NUMBER 2 AND THE DIGIT
C     NINE SHOULD APPEAR ONLY IN THE STATEMENT NUMBER FIELD
C     IN COLUMNS 1 THROUGHT 5.  IF  ANY  OF  THE  48'S  ARE
C     ERRONEOUSLY  ASSUMED  TO  BE  STATEMENT NUMBERS, THEN
C     THESE WILL BE CONVERTED TO NINES.  SOME OF  THE  TEST
C     CASES  ARE  MEANT  TO  TEST SPACINGS AND WILL REQUIRE
C     EXAMINATION OF THE LISTING OR RENUMBERED OUTPUT.
      SUBROUTINE G O T O
C
C     STANDARD GO TO STATEMENTS
      GO TO 90
      GO TO IVALUE
      GO TO IVALUE,(90,90,90,90,90)
      GO TO (90,90,90,90,90),IVALUE
      GO TO IVALUE(90,90,90,90,90)
      GO TO (90,90,90,90,90)IVALUE
      GOTO90
      GOTOIVALUE
      GOTOIVALUE,(90,90,90,90,90)
      GOTO(90,90,90,90,90),IVALUE
      GOTOIVALUE(90,90,90,90,90)
      GOTO(90,90,90,90,90)IVALUE
C
C     GO TO STATMENTS WITH INDEX AN ARRAY ENTRY
      GO TO (90,90,90,90,90),IVALUE(48,48)
      GO TO (90,90,90,90,90)IVALUE(48,48)
      GOTO(90,90,90,90,90),IVALUE(48,48)
      GOTO(90,90,90,90,90)IVALUE(48,48)
C
C     GO TO STATEMENTS WITH INSERTED BLANKS
      G O T O IVALUE , ( 9 0 , 9 0 , 9 0 , 9 0 , 9 0 )
      G O T O ( 9 0 , 9 0 , 9 0 , 9 0 , 9 0 , 9 0 ) IVALUE
C
C     SIMILAR ARITHMETIC EXPRESSION
      GOTO48=48
      GOTO48=IVALUE
      GOTO48=IVALUE(48,48)
C
C     NUMBERED STATEMENTS
  100 CONTINUE
   90 CONTINUE
   81 CONTINUE
   73 CONTINUE
   66 CONTINUE
   60 CONTINUE
   55 CONTINUE
   51 CONTINUE
   48 CONTINUE
   46 CONTINUE
   45 CONTINUE
      END
      SUBROUTINE DO
C
C     DO LOOP WITH AND WITHOUT EXPRESSIONS AS LIMITS
      DO 90 IVALUE=48,48
      DO 90 IVALUE=48,48,48
      DO 90 IVALUE=IVALUE(48,48),IVALUE(48,48)
      DO 90 IVALUE=IVALUE(48,48),IVALUE(48,48),IVALUE(48,48)
      DO 90 IVALUE=IVALUE(48)+48,IVALUE(48)+48
      DO 90 IVALUE=IVALUE(48)+48,IVALUE(48)+48,IVALUE(48)+48
      DO 90,IVALUE=48,48
      DO 90,IVALUE=48,48,48
      DO 90,IVALUE=IVALUE(48,48),IVALUE(48,48)
      DO 90,IVALUE=IVALUE(48,48),IVALUE(48,48),IVALUE(48,48)
      DO 90,IVALUE=IVALUE(48)+48,IVALUE(48)+48
      DO 90,IVALUE=IVALUE(48)+48,IVALUE(48)+48,IVALUE(48)+48
C
C     DO LOOP WITH INDEX AN ARRAY ELEMENT
      DO 90 IVALUE(48,48)=48,48
      DO 90 IVALUE(48,48)=48,48,48
      DO 90 IVALUE(48,48)=IVALUE(48,48),IVALUE(48,48)
      DO 90 IVALUE(48,48)=IVALUE(48,48),IVALUE(48,48),IVALUE(48,48)
      DO 90 IVALUE(48,48)=IVALUE(48)+48,IVALUE(48)+48
      DO 90 IVALUE(48,48)=IVALUE(48)+48,IVALUE(48)+48,IVALUE(48)+48
      DO 90,IVALUE(48,48)=48,48
      DO 90,IVALUE(48,48)=48,48,48
      DO 90,IVALUE(48,48)=IVALUE(48,48),IVALUE(48,48)
      DO 90,IVALUE(48,48)=IVALUE(48,48),IVALUE(48,48),IVALUE(48,48)
      DO 90,IVALUE(48,48)=IVALUE(48)+48,IVALUE(48)+48
      DO 90,IVALUE(48,48)=IVALUE(48)+48,IVALUE(48)+48,IVALUE(48)+48
C
C     SAME DO LOOPS WITHOUT INTERNAL BLANKS
      DO90IVALUE=48,48
      DO90IVALUE=48,48,48
      DO90IVALUE=IVALUE(48,48),IVALUE(48,48)
      DO90IVALUE=IVALUE(48,48),IVALUE(48,48),IVALUE(48,48)
      DO90IVALUE=IVALUE(48)+48,IVALUE(48)+48
      DO90IVALUE=IVALUE(48)+48,IVALUE(48)+48,IVALUE(48)+48
      DO90IVALUE(48,48)=48,48
      DO90IVALUE(48,48)=48,48,48
      DO90IVALUE(48,48)=IVALUE(48,48),IVALUE(48,48)
      DO90IVALUE(48,48)=IVALUE(48,48),IVALUE(48,48),IVALUE(48,48)
      DO90IVALUE(48,48)=IVALUE(48)+48,IVALUE(48)+48
      DO90IVALUE(48,48)=IVALUE(48)+48,IVALUE(48)+48,IVALUE(48)+48

C
C     SIMILAR ARITHMETIC EXPRESSIONS
      DO48IV=48
      DO48IV=IVALUE(48,48)
      DO48IV=IVALUE(48,48)+48
      DO48IV(48,48)=48
      DO48IV(48,48)=IVALUE(48,48)
      DO48IV(48,48)=IVALUE(48,48)+48
C
C     NUMBERED STATEMENTS
  100 CONTINUE
   90 CONTINUE
   81 CONTINUE
   73 CONTINUE
   66 CONTINUE
   60 CONTINUE
   55 CONTINUE
   51 CONTINUE
   48 CONTINUE
   46 CONTINUE
   45 CONTINUE
      END
      FUNCTION READ (IVALUE)
C
C     READ STATEMENTS WITHOUT VARIABLE LISTS
      READ 90
      READ(48)
      READ(48,90)
      READ(IVALUE,90)
      READ(48,IVALUE)
      READ(IVALUE,IVALUE)
      READ(48,90,END=90)
      READ(IVALUE,90,END=90)
      READ(48,IVALUE,END=90)
      READ(IVALUE,IVALUE,END=90)
      READ(48,90,ERR=90)
      READ(IVALUE,90,ERR=90)
      READ(48,IVALUE,ERR=90)
      READ(IVALUE,IVALUE,ERR=90)
      READ(48,90,END=90,ERR=90)
      READ(IVALUE,90,END=90,ERR=90)
      READ(48,IVALUE,END=90,ERR=90)
      READ(IVALUE,IVALUE,END=90,ERR=90)
      READ INPUT TAPE 48,90
      READ INPUT TAPE IVALUE,90
      READ INPUT TAPE 48,IVALUE
      READ INPUT TAPE IVALUE,IVALUE
C
C     READ STATEMENTS WITH VARIABLE LISTS
      READ 90(IVALUE(IVALUE),IVALUE=48,48)
      READ(48)(IVALUE(IVALUE),IVALUE=48,48)
      READ(48,90)(IVALUE(IVALUE),IVALUE=48,48)
      READ(IVALUE,90)(IVALUE(IVALUE),IVALUE=48,48)
      READ(48,IVALUE)(IVALUE(IVALUE),IVALUE=48,48)
      READ(IVALUE,IVALUE)(IVALUE(IVALUE),IVALUE=48,48)
      READ(48,90,END=90)(IVALUE(IVALUE),IVALUE=48,48)
      READ(IVALUE,90,END=90)(IVALUE(IVALUE),IVALUE=48,48)
      READ(48,IVALUE,END=90)(IVALUE(IVALUE),IVALUE=48,48)
      READ(IVALUE,IVALUE,END=90)(IVALUE(IVALUE),IVALUE=48,48)
      READ(48,90,ERR=90)(IVALUE(IVALUE),IVALUE=48,48)
      READ(IVALUE,90,ERR=90)(IVALUE(IVALUE),IVALUE=48,48)
      READ(48,IVALUE,ERR=90)(IVALUE(IVALUE),IVALUE=48,48)
      READ(IVALUE,IVALUE,ERR=90)(IVALUE(IVALUE),IVALUE=48,48)
      READ(48,90,END=90,ERR=90)(IVALUE(IVALUE),IVALUE=48,48)
      READ(IVALUE,90,END=90,ERR=90)(IVALUE(IVALUE),IVALUE=48,48)
      READ(48,IVALUE,END=90,ERR=90)(IVALUE(IVALUE),IVALUE=48,48)
      READ(IVALUE,IVALUE,END=90,ERR=90)(IVALUE(IVALUE),IVALUE=48,48)
      READ INPUT TAPE 48,90,(IVALUE(IVALUE),IVALUE=48,48)
      READ INPUT TAPE IVALUE,90,(IVALUE(IVALUE),IVALUE=48,48)
      READ INPUT TAPE 48,IVALUE,(IVALUE(IVALUE),IVALUE=48,48)
      READ INPUT TAPE IVALUE,IVALUE,(IVALUE(IVALUE),IVALUE=48,48)
C
C     READ STATEMENTS WITH TAPE OR FORMAT VARIABLES
C     SPECIFIED AS AN ARRAY ELEMENT
      READ(IVALUE(48,48),90)(IVALUE(IVALUE),IVALUE=48,48)
      READ(48,IVALUE(48,48))(IVALUE(IVALUE),IVALUE=48,48)
      READ(IVALUE(48,48),IVALUE(48,48))(IVALUE(IVALUE),IVALUE=48,48)
      READ(IVALUE(48,48),90,END=90,ERR=90)IVALUE(48,48)
      READ(48,IVALUE(48,48),END=90,ERR=90)IVALUE(48,48)
      READ(IVALUE(48,48),IVALUE(48,48),END=90,ERR=90)IVALUE(48,48)
C
C     READ VARIABLE OR ARRAY IN ARITHMETIC EXPRESSION
      READ 48=IVALUE(IVALUE)
      READ(48)=IVALUE(IVALUE)
      READ(48,48)=IVALUE(IVALUE)
      READ(IVALUE,48)=IVALUE(IVALUE)
      READ(48,IVALUE)=IVALUE(IVALUE)
      READ(IVALUE,IVALUE)=IVALUE(IVALUE)
C
C     NUMBERED STATEMENTS
  100 CONTINUE
   90 CONTINUE
   81 CONTINUE
   73 CONTINUE
   66 CONTINUE
   60 CONTINUE
   55 CONTINUE
   51 CONTINUE
   48 CONTINUE
   46 CONTINUE
   45 CONTINUE
      END
      DOUBLE PRECISION FUNCTION WRITE
C
C     WRITE STATEMENTS WITHOUT VARIABLE LISTS
      WRITE 90
      WRITE(48)
      WRITE(48,90)
      WRITE(IVALUE,90)
      WRITE(48,IVALUE)
      WRITE(IVALUE,IVALUE)
      WRITE OUTPUT TAPE 48,90
      WRITE OUTPUT TAPE IVALUE,90
      WRITE OUTPUT TAPE 48,IVALUE
      WRITE OUTPUT TAPE IVALUE,IVALUE
C
C     WRITE STATEMENTS WITH VARIABLE LISTS
      WRITE 90(IVALUE(IVALUE),IVALUE=48,48)
      WRITE(48)(IVALUE(IVALUE),IVALUE=48,48)
      WRITE(48,90)(IVALUE(IVALUE),IVALUE=48,48)
      WRITE(IVALUE,90)(IVALUE(IVALUE),IVALUE=48,48)
      WRITE(48,IVALUE)(IVALUE(IVALUE),IVALUE=48,48)
      WRITE(IVALUE,IVALUE)(IVALUE(IVALUE),IVALUE=48,48)
      WRITE OUTPUT TAPE 48,90,(IVALUE(IVALUE),IVALUE=48,48)
      WRITE OUTPUT TAPE IVALUE,90,(IVALUE(IVALUE),IVALUE=48,48)
      WRITE OUTPUT TAPE 48,IVALUE,(IVALUE(IVALUE),IVALUE=48,48)
      WRITE OUTPUT TAPE IVALUE,IVALUE,(IVALUE(IVALUE),IVALUE=48,48)
C
C     WRITE STATEMENTS WITH TAPE OR FORMAT VARIABLES
C     SPECIFIED AS AN ARRAY ELEMENT
      WRITE(IVALUE(48,48),90)(IVALUE(IVALUE),IVALUE=48,48)
      WRITE(48,IVALUE(48,48))(IVALUE(IVALUE),IVALUE=48,48)
      WRITE(IVALUE(48,48),IVALUE(48,48))(IVALUE(IVALUE),IVALUE=48,48)
C
C     WRITE VARIABLE OR ARRAY IN ARITHMETIC EXPRESSION
      WRITE 48=IVALUE(IVALUE)
      WRITE(48)=IVALUE(IVALUE)
      WRITE(48,48)=IVALUE(IVALUE)
      WRITE(IVALUE,48)=IVALUE(IVALUE)
      WRITE(48,IVALUE)=IVALUE(IVALUE)
      WRITE(IVALUE,IVALUE)=IVALUE(IVALUE)
C
C     NUMBERED STATEMENTS
  100 CONTINUE
   90 CONTINUE
   81 CONTINUE
   73 CONTINUE
   66 CONTINUE
   60 CONTINUE
   55 CONTINUE
   51 CONTINUE
   48 CONTINUE
   46 CONTINUE
   45 CONTINUE
      END
      INTEGER FUNCTION BLANK
C
C     TEST ABILITY OF DICTIONARY PROGRAM TO HANDLE
C     WORDS CONTAINING BLANKS (WHICH SHOULD BE
C     IGNORED IF A STATEMENT NUMBER IS ENCOUNTERED
C     FURTHER ON IN THE STATEMENT
       READ INPUTTAPE48,90
        READ INPUTTAPE48,90
         READ INPUTTAPE48,90
      R EAD INPUTTAPE48,90
      R  EAD INPUTTAPE48,90
      R   EAD INPUTTAPE48,90
      RE AD INPUTTAPE48,90
      RE  AD INPUTTAPE48,90
      RE   AD INPUTTAPE48,90
      REA D INPUTTAPE48,90
      REA  D INPUTTAPE48,90
      REA   D INPUTTAPE48,90
      READ  INPUTTAPE48,90
      READ   INPUTTAPE48,90
      READ    INPUTTAPE48,90
      READ I NPUTTAPE48,90
      READ I  NPUTTAPE48,90
      READ I   NPUTTAPE48,90
      READ IN PUTTAPE48,90
      READ IN  PUTTAPE48,90
      READ IN   PUTTAPE48,90
      READ INP UTTAPE48,90
      READ INP  UTTAPE48,90
      READ INP   UTTAPE48,90
      READ INPU TTAPE48,90
      READ INPU  TTAPE48,90
      READ INPU   TTAPE48,90
      READ INPUT TAPE48,90
      READ INPUT  TAPE48,90
      READ INPUT   TAPE48,90
      READ INPUTT APE48,90
      READ INPUTT  APE48,90
      READ INPUTT   APE48,90
      READ INPUTTA PE48,90
      READ INPUTTA  PE48,90
      READ INPUTTA   PE48,90
      READ INPUTTAP E48,90
      READ INPUTTAP  E48,90
      READ INPUTTAP   E48,90
      READ INPUTTAPE 48,90
      READ INPUTTAPE  48,90
      READ INPUTTAPE   48,90
      READ INPUTTAPE4 8,90
      READ INPUTTAPE4  8,90
      READ INPUTTAPE4   8,90
      READ INPUTTAPE48 ,90
      READ INPUTTAPE48  ,90
      READ INPUTTAPE48   ,90
      READ INPUTTAPE48, 90
      READ INPUTTAPE48,  90
      READ INPUTTAPE48,   90
      READ INPUTTAPE48,9 0
      READ INPUTTAPE48,9  0
      READ INPUTTAPE48,9   0
C
C     TEST ABILITY TO HAVE BLANKS WITHIN STATEMENT NUMBERS
      GO TO  (  9  0  , 9  0  ,  9  0  ),IVALUE
      IF(IVALUE)  9  0  ,  9  0  ,  9  0 
C
C     NUMBERED STATEMENTS STATEMENTS
1 0 0 CONTINUE
9   0 CONTINUE
 8 1  CONTINUE
 7 3  CONTINUE
 6 6  CONTINUE
 6 0  CONTINUE
 5 5  CONTINUE
 5 1  CONTINUE
 4 8  CONTINUE
 4 6  CONTINUE
 4 5  CONTINUE
      END
      BLOCK DATA
C
C     STATEMENTS CONTAINING ALPHAMERIC DATA
      IVALUE='''BCDE'+'ABCD'''
      IVALUE='A''CDE'+'ABC''E'
      IVALUE='AB''DE'+'AB''DE'
      IVALUE='ABC''E'+'A''CDE'
      IVALUE='ABCD'''+'''BCDE'
      IVALUE=5H'BCDE+5HABCD'
      IVALUE=5HA'CDE+5HABC'E
      IVALUE=5HAB'DE+5HAB'DE
      IVALUE=5HABC'E+5HA'CDE
      IVALUE=5HABCD'+5H'BCDE
      IVALUE=15HABCDEFGHIJKLMNO+'ABCD'''
      IVALUE=15HABCDEFGHIJKLMNO+'ABC''E'
      IVALUE=15HABCDEFGHIJKLMNO+'AB''DE'
      IVALUE=15HABCDEFGHIJKLMNO+'A''CDE'
      IVALUE=15HABCDEFGHIJKLMNO+'''BCDE'
      IVALUE='''BCDE'+15HABCDEFGHIJKLMNO
      IVALUE='A''CDE'+15HABCDEFGHIJKLMNO
      IVALUE='AB''DE'+15HABCDEFGHIJKLMNO
      IVALUE='ABC''E'+15HABCDEFGHIJKLMNO
      IVALUE='ABCD'''+15HABCDEFGHIJKLMNO
      END
      LOGICAL FUNCTION IF
C
C     IF STATEMENTS IN STANDARD FORMS
      IF(48-IVALUE(48,48))90,90,90
      IF(48.EQ.IVALUE(48,48))GO TO 90
      IF(48.EQ.IVALUE(48,48))GO TO 48 = 48
      IF(48.EQ.IVALUE(48,48))READ(48,90,END=90,ERR=90)IVALUE(48,48)
      IF(48.EQ.IVALUE(48,48))IVALUE(48,48)=48
      IF(48.EQ.IVALUE(48,48))IF(48.EQ.IVALUE(48,48))GO TO 90
      IF(48.EQ.IVALUE(48,48))IF(48-IVALUE(48,48))90,90,90
C
C     ARITHMETIC EXPRESSIONS DEFINING IF ARRAY ELEMENTS
      IF(48,48)=48
      IF(48,48)=GO TO 48
      IF(48.EQ.IVALUE(48,48))IF(48,48)=48
C
C     NUMBERED STATEMENTS
  100 CONTINUE
   90 CONTINUE
   81 CONTINUE
   73 CONTINUE
   66 CONTINUE
   60 CONTINUE
   55 CONTINUE
   51 CONTINUE
   48 CONTINUE
   46 CONTINUE
   45 CONTINUE
      END
      COMPLEX FUNCTION   T  A  B  S(IVALUE)
C
C     TEST CONTINUATION LINE SENSING OF TABS WHICH HAVE
C     BEEN CONVERTED TO THE APPROPRIATE NUMBER OF BLANKS
        D
        1O
        19
        10
        1I
        1=
        148
        1,
        148
          G
          1O
           1
            1T
             1O
              1
               19
                10
C
C     NUMBERED STATEMENTS
  100 CONTINUE
   90 CONTINUE
   81 CONTINUE
   73 CONTINUE
   66 CONTINUE
   60 CONTINUE
   55 CONTINUE
   51 CONTINUE
   48 CONTINUE
   46 CONTINUE
   45 CONTINUE
      END
C
C     ASSORTED STATEMENT TYPES WHICH REQUIRE RENUMBERING
      ACCEPT 90
      ACCEPT 90,(IVALUE(IVALUE),IVALUE=48,48)
      ACCEPT IVALUE,(IVALUE(IVALUE),IVALUE=48,48)
      ACCEPT IVALUE(48,48),(IVALUE(IVALUE),IVALUE=48,48)
      TYPE 90
      TYPE 90,(IVALUE(IVALUE),IVALUE=48,48)
      TYPE IVALUE,(IVALUE(IVALUE),IVALUE=48,48)
      TYPE IVALUE(48,48),(IVALUE(IVALUE),IVALUE=48,48)
      REREAD 90
      REREAD 90,(IVALUE(IVALUE),IVALUE=48,48)
      REREAD IVALUE,(IVALUE(IVALUE),IVALUE=48,48)
      REREAD IVALUE(48,48),(IVALUE(IVALUE),IVALUE=48,48)
      PRINT 90
      PRINT 90,(IVALUE(IVALUE),IVALUE=48,48)
      PRINT IVALUE,(IVALUE(IVALUE),IVALUE=48,48)
      PRINT IVALUE(48,48),(IVALUE(IVALUE),IVALUE=48,48)
      PUNCH 90
      PUNCH 90,(IVALUE(IVALUE),IVALUE=48,48)
      PUNCH IVALUE,(IVALUE(IVALUE),IVALUE=48,48)
      PUNCH IVALUE(48,48),(IVALUE(IVALUE),IVALUE=48,48)
      DECODE(48,90,IVALUE(48,48))IVALUE(48,48)
      DECODE(IVALUE(48,48),90,IVALUE(48,48))IVALUE(48,48)
      DECODE(48,IVALUE(48,48),IVALUE(48,48))IVALUE(48,48)
      DECODE(48,90,IVALUE(48,48),ERR=90)IVALUE(48,48)
      DECODE(IVALUE(48,48),90,IVALUE(48,48),ERR=90)IVALUE(48,48)
      DECODE(48,IVALUE(48,48),IVALUE(48,48),ERR=90)IVALUE(48,48)
      DECODE(IVALUE(48,48),IVALUE(48,48),IVALUE(48,48))IVALUE(48,48)
      ENCODE(48,90,IVALUE(48,48))IVALUE(48,48)
      ENCODE(IVALUE(48,48),90,IVALUE(48,48))IVALUE(48,48)
      ENCODE(48,IVALUE(48,48),IVALUE(48,48))IVALUE(48,48)
      ENCODE(48,90,IVALUE(48,48),ERR=90)IVALUE(48,48)
      ENCODE(IVALUE(48,48),90,IVALUE(48,48),ERR=90)IVALUE(48,48)
      ENCODE(48,IVALUE(48,48),IVALUE(48,48),ERR=90)IVALUE(48,48)
      ENCODE(IVALUE(48,48),IVALUE(48,48),IVALUE(48,48))IVALUE(48,48)
      ASSIGN 90 TO IVALUE
      ASSIGN 90 TO IVALUE(48,48)
      IF QUOTIENT OVERFLOW 90,90,90
      IF DIVIDE CHECK 90,90,90
      IF ACCUMULATOR OVERFLOW 90,90,90
C
C     STATEMENTS CONTAINING VARIABLE TYPE DESIGNATION IN
C     LEFT COLUMN
B     GO TO 90
D     IF(IVALUE)90,90,90
I     ASSIGN 90 TO IVALUE
C
C     CALL STATEMENT CONTAINING STATEMENT NUMBERS TO WHICH
C     CONTROL IS PASSED UPON RETURNING (INDICATED IN CALL
C     STATEMENT AS AN ARGUMENT CONSISTING OF STATEMENT
C     NUMBER FOLLOWING AN AND SIGN IN IBM 360 NOTATION
C     OR FOLLOWING A DOLLAR SIGN OR FOLLOWING AN
C     ASTERISK IN DEC NOTATION)
      CALL IVALUE(IVALUE,*90,IVALUE(48,48),*90)
      CALL IVALUE( * 90, 48, 48, 48, *90)
      CALL IVALUE( 48, 48, * 90, 48, 48)
      CALL IVALUE(IVALUE,$90,IVALUE(48,48),$90)
      CALL IVALUE( $ 90, 48, 48, 48, $90)
      CALL IVALUE( 48, 48, $ 90, 48, 48)
      CALL IVALUE(IVALUE,&90,IVALUE(48,48),&90)
      CALL IVALUE( & 90, 48, 48, 48, &90)
      CALL IVALUE( 48, 48, & 90, 48, 48)
C
C     NUMBERED STATEMENTS
B 100 CONTINUE
D  90 CONTINUE
I  81 CONTINUE
B  73 CONTINUE
D  66 CONTINUE
I  60 CONTINUE
B  55 CONTINUE
D  51 CONTINUE
I  48 CONTINUE
B  46 CONTINUE
D  45 CONTINUE
      END
      FUNCTION ALPHAMERIC DATA
C
C     SAMPLE STATEMENTS CONTAINING KEY SEPARATOR CHARACTER
C     GROUPINGS (TO TEST PARENTHESIS COUNTING, ETC. IN
C     FORTRAN RENUMBERING PROGRAM).
C
      IF(IVALUE.EQ.1H()GO TO 90
      IF(IVALUE.EQ.1H))GO TO 90
      IF(IVALUE.EQ.15H((((((((((((((()GO TO 90
      IF(IVALUE.EQ.'(((((((((((((((')GO TO 90
      IF ( IVALUE . E Q . ' ( ( ' ' ( ( ' ) GO TO 90
      CALL IVALUE(',*48,',5H,*48,,4H,*48,*90)
      CALL IVALUE(',&48,',5H,&48,,4H,&48,&90)
      CALL IVALUE(',$48,',5H,$48,,4H,$48,$90)
      CALL IVALUE ( ' , * 48, ' ' , * 48 , ' , * 90 )
      CALL IVALUE ( ' , & 48, ' ' , & 48 , ' , & 90 )
      CALL IVALUE ( ' , $ 48, ' ' , $ 48 , ' , $ 90 )
      DO48IV=5H48,48
      DO48IV='48,48'
C
C     TEST ENTRY OF ALPHAMERIC STRINGS CONTAINING TERMINAL
C     BLANKS INTO SYMBOL DICTIONARY
      IVALUE=10HABCDE
      IF(IVALUE.EQ.10HABCDE     )90,90,90
      IF(IVALUE.EQ.  10HABCDE     )90,90,90
      IF(IVALUE.EQ.  10HABCDE       )90,90,90
      IVALUE=5HABC
      IF(IVALUE.EQ.5HABC  )90,90,90
      IF(IVALUE.EQ.5HABC    )90,90,90
      IF(IVALUE.EQ.  5HABC    )90,90,90
      IVALUE='ABC'
      IF(IVALUE.EQ.'ABC')90,90,90
      IF(IVALUE.EQ.'ABC'  )90,90,90
      IF(IVALUE.EQ.  'ABC'  )90,90,90
      IVALUE='ABC''D'
      IF(IVALUE.EQ.'ABC''D')90,90,90
      IF(IVALUE.EQ.'ABC''D'  )90,90,90
      IF(IVALUE.EQ.  'ABC''D'  )90,90,90
      IVALUE='ABC''DEF'
      IF(IVALUE.EQ.'ABC''DEF')90,90,90
      IF(IVALUE.EQ.  'ABC''DEF')90,90,90
      IF(IVALUE.EQ.  'ABC''DEF'  )90,90,90
      IVALUE='ABC''DEF''GHI'
      IF(IVALUE.EQ.'ABC''DEF''GHI')90,90,90
      IF(IVALUE.EQ.  'ABC''DEF''GHI')90,90,90
      IF(IVALUE.EQ.  'ABC''DEF''GHI'  )90,90,90
C
C     NUMBERED STATEMENTS
  100 CONTINUE
   90 CONTINUE
   81 CONTINUE
   73 CONTINUE
   66 CONTINUE
   60 CONTINUE
   55 CONTINUE
   51 CONTINUE
   48 CONTINUE
   46 CONTINUE
   45 CONTINUE
      END
      SUBROUTINE WRAPAROUND
C     ROUTINE TO TEST WRAP AROUND PREVENTION WHEN
C     NUMBER OF CHARACTERS CHANGES IN NUMBERS
C     THE CORRECT RESULTS ARE GIVEN BELOW
C     (NOTE THAT UNLIKE SAMPLE TAB INPUT GIVEN IN SOME
C     OF THESE TEST ROUTINES, THIS SAMPLE OUTPUT USES
C     ALL SEVENTYTWO CHARACTERS AND SO ADDED C IS IN COLUMN
C     1 RATHER THAN IN FRONT OF CONTENTS OF COLUMN 1)
C     SLASH REPLACES DIGIT NINE IN THESE EXAMPLES
C     GO TO(1,1,1,
C    111,11,11,
C    24,4,4),
C    3I
C     GO TO(1,1,1
C    1,11,11,11
C    2,4,4,4),
C    3I
C     GO TO(1,1,1
C    1  ,11,11,11,4
C    2  ,4,4),
C    3I
C     GO TO(1,1,1,
C    1  11,11,11,
C    2   4,4,4),
C    3    I
C     GO TO(1,1,1
C    1  ,11,11,11
C    2   ,4,4,4),
C    3    I
C     GO TO(1,1,1
C    1    ,11,11,11,4
C    2     ,4,4),
C    3    I
C
C     LONG STATEMENTS TO INSURE ADDITION AT PROPER BREAK
C     12345678/012345678/012345678/012345678/012345678/012345678/0123456
C     WRITE(5,1)IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,ABCD
C    1EF,GHIJKL
C     12345678/012345678/012345678/012345678/012345678/012345678/0123456
C     WRITE(5,11)IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,ABCDEF
C    1,GHIJKL,MNOPQR,STUVWX,YZABCD,EFGHIJ,KLMNOP,QRSTUV,WXYZAB,CDEFGH,IJ
C    2KLMN,OPQRST,UVWXYZ
C     12345678/012345678/012345678/012345678/012345678/012345678/0123456
C     WRITE(5,11)IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,ABCDEF
C    1,GHIJKL,MNOPQR,STUVWX,YZABCD,EFGHIJ,KLMNOP,QRSTUV,WXYZAB,CDEFGH,IJ
C    2K LMN,OPQRST,UVWXYZ
C
C     STATEMENTS STRUNG OUT OVER SEVERAL LINES
C     GO TO(10
C    1     ,
C    2     10
C    3     ),
C    4     I
      GO TO(9999,9999,9999,
     19,9,9,
     2999,999,999),
     3I
      GO TO(9999,9999,9999
     1,9,9,9
     2,999,999,999),
     3I
      GO TO(9999,9999,99
     199,9,9,9,9
     299,999,999),
     3I
       GO TO(9999,9999,9999,
     1  9,9,9,
     2   999,999,999),
     3    I
       GO TO(9999,9999,9999
     1  ,9,9,9
     2   ,999,999,999),
     3    I
       GO TO(9999,9999,99
     1  99,9,9,9,9
     2   99,999,999),
     3    I
C
C     LONG STATEMENTS TO INSURE ADDITION AT PROPER BREAK
C     12345678/012345678/012345678/012345678/012345678/012345678/0123456
      WRITE(5,9999)IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,ABCD
     1EF,GHIJKL
C     12345678/012345678/012345678/012345678/012345678/012345678/0123456
      WRITE(5,9)IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,ABCDEF,
     1GHIJKL,MNOPQR,STUVWX,YZABCD,EFGHIJ,KLMNOP,QRSTUV,WXYZAB,CDEFGH,IJ
     2KLMN,OPQRST,UVWXYZ
C     12345678/012345678/012345678/012345678/012345678/012345678/0123456
      WRITE(5,9)IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,ABCDEF,
     1GHIJKL,MNOPQR,STUVWX,YZABCD,EFGHIJ,KLMNOP,QRSTUV,WXYZAB,CDEFGH,IJK
     2 LMN,OPQRST,UVWXYZ
C
C     STATEMENTS STRUNG OUT OVER SEVERAL LINES
      GO TO(9
     A            9
     8     9
     *     9
     D        9
     ,     ,
     .     9     9
     .    
     *   9
     2    9
     A  9  ),
     E     I
C
C     NUMBERED STATEMENTS
 9999 CONTINUE
   99 CONTINUE
    3 CONTINUE
  999 CONTINUE
    4 CONTINUE
    5 CONTINUE
    6 CONTINUE
    7 CONTINUE
    8 CONTINUE
99999 CONTINUE
    9 CONTINUE
      END
      SUBROUTINE
C     ROUTINE TO TEST SEPARATE INDEXING OF UNIT
C     NUMBERS AND RECORD NUMBERS IN RANDOM ACCESS
C     I/O READ, WRITE AND FIND STATEMENTS.  THESE
C     ARE SEPARATED BY NUMBER SIGN OR APOSTROPHE.
C
C     AA AND BB SHOULD BE INDEXED SEPARATELY, CC AND
C     DD TOGETHER IN ALPHAMERIC TEXT STRING
C
C     READ STATEMENTS WITH RANDOM I/O
      READ(10'10,90)READ(10,10)
      READ(10#10,90)READ(10,10)
      READ(AA'BB,90)READ(10,10)
      READ(AA#BB,90)READ(10,10)
      READ(10'10,90,ERR=90,END=90)READ(10,10)
      READ(10#10,90,ERR=90,END=90)READ(10,10)
      READ(AA'BB,90,ERR=90,END=90)READ(10,10)
      READ(AA#BB,90,ERR=90,END=90)READ(10,10)
      READ( 10 ' 10 ,90)READ(10,10)
      READ( 10 # 10 ,90)READ(10,10)
      READ( AA ' BB ,90)READ(10,10)
      READ( AA # BB ,90)READ(10,10)
      READ( 10 ' 10 ,90,ERR=90,END=90)READ(10,10)
      READ( 10 # 10 ,90,ERR=90,END=90)READ(10,10)
      READ( AA ' BB ,90,ERR=90,END=90)READ(10,10)
      READ( AA # BB ,90,ERR=90,END=90)READ(10,10)
      READ(5HCC'DD,90)READ(10,10)
      READ('CC#DD',90)READ(10,10)
      READ(5HCC#DD,90)READ(10,10)
      READ(5HCC'DD,90,END=90,ERR=90)READ(10,10)
      READ('CC#DD',90,END=90,ERR=90)READ(10,10)
      READ(5HCC#DD,90,END=90,ERR=90)READ(10,10)
      READ(AA',90,END=90,ERR=90)READ(10,10)
      READ(#AA,90,END=90,ERR=90)READ(10,10)
      READ(AA#,90,END=90,ERR=90)READ(10,10)
      READ(#,90,END=90,ERR=90)READ(10,10)
C
C     WRITE STATEMENTS WITH RANDOM I/O
      WRITE(10'10,90)WRITE(10,10)
      WRITE(10#10,90)WRITE(10,10)
      WRITE(AA'BB,90)WRITE(10,10)
      WRITE(AA#BB,90)WRITE(10,10)
      WRITE( 10 ' 10 ,90)WRITE(10,10)
      WRITE( 10 # 10 ,90)WRITE(10,10)
      WRITE( AA ' BB ,90)WRITE(10,10)
      WRITE( AA # BB ,90)WRITE(10,10)
      WRITE(5HCC'DD,90)WRITE(10,10)
      WRITE('CC#DD',90)WRITE(10,10)
      WRITE(5HCC#DD,90)WRITE(10,10)
C
C     FIND STATEMENTS
      FIND(10'10)
      FIND(10#10)
      FIND(AA'BB)
      FIND(AA#BB)
      FIND(5HCC'DD)
      FIND(5HCC#DD)
      FIND('CC#DD')
      FIND(AA')
      FIND(#AA)
      FIND(AA#)
      FIND(#)
C
C     NUMBERED STATEMENTS
  100 CONTINUE
   90 CONTINUE
   81 CONTINUE
   73 CONTINUE
   66 CONTINUE
   60 CONTINUE
   55 CONTINUE
   51 CONTINUE
   48 CONTINUE
   46 CONTINUE
   45 CONTINUE
          E    N    D

       IF( A.EQ. '48)GO TO 48')GO TO 90
       IF( A. EQ .11H48)GO TO 48)GO TO 90
      IF ( A. E Q.  1  1  H48)GO TO 48)GO TO 90
      IF(A.EQ. 1 1 H48)GO TO 48)GO TO 90
      IF(A.EQ.011H48)GO TO 48)GO TO 90
      IF(A.EQ. 0 1 1 H48)GO TO 48)GO TO 90
C
C     NUMBERED STATEMENTS
  100 CONTINUE
   90 CONTINUE
   81 CONTINUE
   73 CONTINUE
   66 CONTINUE
   60 CONTINUE
   55 CONTINUE
   51 CONTINUE
   48 CONTINUE
   46 CONTINUE
   45 CONTINUE
      END
      SUBROUTINE O                         N                           E00000000
C             THIS ROUTINE TEST REJECTION OF CARD IDENTIFICATION COLUMNS00000000
C2345678/012345678/012345678/012345678/012345678/012345678/012345678/012345678/0
C0000000011111111112222222222333333333344444444445555555555666666666677777777778
      G                                                                O00000000
     1T                                                                O00000000
     29                                                                000000000
       G                                                               O00000000
      1T                                                               O00000000
      29                                                               000000000
        G                                                              O00000000
       1T                                                              O00000000
       29                                                              000000000
         G                                                             O00000000
        1T                                                             O00000000
        29                                                             000000000
  100 CONTINUE
   90 CONTINUE
   81 CONTINUE
   73 CONTINUE
   66 CONTINUE
   60 CONTINUE
   55 CONTINUE
   51 CONTINUE
   48 CONTINUE
   46 CONTINUE
   45 CONTINUE
      E                               N                                D00000000
        FUNCTION FOR-II
        ACCEPT 90,I 48,(I 48(I),I=1,48)
        ACCEPT TAPE 90,I 48,(I 48(I),I=1,48)
        ASSIGN 90 TO I 48
        DO 90 I=48,48,48
        FREQUENCY 90(48),90,90(48,48),90(48,48,48)
        GO TO 90
        GO TO I 48
        GO TO I 48,(90,90)
        GO TO(90,90),I 48
        IF(48)90,90,90
        IF ACCUMULATOR OVERFLOW 90,90
        IF DIVIDE CHECK 90,90
        IF QUOTIENT OVERFLOW 90,90
        PRINT 90,I 48,(I 48(I),I=1,48)
        PUNCH 90,I 48,(I 48(I),I=1,48)
        PUNCH TAPE 90,I 48,(I 48(I),I=1,48)
        READ 90,I 48,(I 48(I),I=1,48)
        READ INPUT TAPE 48,90,I 48,(I 48(I),I=1,48)
        TYPE 90,I 48,(I 48(I),I=1,48)
        WRITE OUTPUT TAPE 48,90,I 48,(I 48(I),I=1,48)
        READ DRUM 48,48,I 48,(I 48(I),I=1,48)
        READ TAPE 48,I 48,(I 48(I),I=1,48)
        WRITE DRUM 48,48,I 48,(I 48(I),I=1,48)
        WRITE TAPE 48,I 48,(I 48(I),I=1,48)
  100 CONTINUE
   90 CONTINUE
   81 CONTINUE
   73 CONTINUE
   66 CONTINUE
   60 CONTINUE
   55 CONTINUE
   51 CONTINUE
   48 CONTINUE
   46 CONTINUE
   45 CONTINUE
        END
        FUNCTION FOR-IV
        IF(I 48)GO TO 90
        READ(48,90)I 48,(I 48(I),I=1,48)
        READ(48,I 48)I 48,(I 48(I),I=1,48)
        READ(48,I 48,END=90,ERR=90)I 48,(I 48(I),I=1,48)
        READ(48,90,END=90,ERR=90)I 48,(I 48(I),I=1,48)
        WRITE(48,90)I 48,(I 48(I),I=1,48)
        WRITE(48,I 48)I 48,(I 48(I),I=1,48)
        WRITE(48)I 48,(I 48(I),I=1,48)
        READ(48)I 48,(I 48(I),I=1,48)
        READ 90,I 48,(I 48(I),I=1,48)
        READ 90
        READ(48#48,90)I 48,(I 48(I),I=1,48)
        READ(48#48)I 48,(I 48(I),I=1,48)
        WRITE 90,I 48,(I 48(I),I=1,48)
        WRITE 90
        WRITE(48#48,90)I 48,(I 48(I),I=1,48)
        WRITE(48#48,I 48)I 48,(I 48(I),I=1,48)
        READ(48#48,I 48)I 48,(I 48(I),I=1,48)
        REREAD 90,I 48,(I 48(I),I=1,48)
        FIND(48#48)
        ACCEPT 90,I 48,(I 48(I),I=1,48)
        ACCEPT 90
        PRINT 90,I 48,(I 48(I),I=1,48)
        PRINT 90
        PUNCH 90,I 48,(I 48(I),I=1,48)
        PUNCH 90
        TYPE 90,I 48,(I 48(I),I=1,48)
        TYPE 90
        OPEN(UNIT=48,ERR=90,DEVICE=48)
        CLOSE(UNIT=48,ERR=90,DEVICE=48)
        ENCODE(48,90,I 48)I 48,(I 48(I),I=1,48)
        DECODE(48,90,I 48)I 48,(I 48(I),I=1,48)
        ENCODE(48,90,I 48,ERR=90)I 48,(I 48(I),I=1,48)
        DECODE(48,90,I 48,ERR=90)I 48,(I 48(I),I=1,48)
  100 CONTINUE
   90 CONTINUE
   81 CONTINUE
   73 CONTINUE
   66 CONTINUE
   60 CONTINUE
   55 CONTINUE
   51 CONTINUE
   48 CONTINUE
   46 CONTINUE
   45 CONTINUE
        END
      FUNCTION STEPNUMBERING
C     THE ORIGINAL STEPS ARE 1-33, 34-67, 68-101, 102-135 ETC.
C     IF FIRST NUMBER IS 3 AND INCREMENT 5, THEN OUTPUT
C     NUMBERING WOULD BE 3 8 13 18 23 ... 53 58 63 68 73 ETC.
C     IF THE FIRST NUMBER IS 8, THEN THE OUTPUT
C     NUMBERING WOULD BE 8 13 18 23 ... 53 58 63 68 73 ETC.
CRENBRI5B3O34N50
C     FIRST STATEMENT SHOULD BE 3
10    GO TO 5
5     GO TO 250
15    GO TO 210
250   GO TO 350
20    GO TO 299
C     NEXT STATEMENT SHOULD BE 53
203   GO TO 52
C     NEXT STATEMENT SHOULD BE 103
210   CONTINUE
300   CONTINUE
350   CONTINUE
239   CONTINUE
215   CONTINUE
C     NEXT STATEMENT SHOULD BE 153
42    CONTINUE
299   CONTINUE
35    CONTINUE
52    CONTINUE
45    CONTINUE
      END
      SUBROUTINE MIDDLE
C     FIRST STATEMENT SHOULD BE 8
10    GO TO 5
5     GO TO 250
15    GO TO 210
250   GO TO 350
20    GO TO 299
C     NEXT STATEMENT SHOULD BE 53
203   GO TO 52
C     NEXT STATEMENT SHOULD BE 103
210   CONTINUE
300   CONTINUE
350   CONTINUE
239   CONTINUE
215   CONTINUE
C     NEXT STATEMENT SHOULD BE 153
C R E N B R / I : 5 B 8 O 34 N 50
42    CONTINUE
299   CONTINUE
35    CONTINUE
52    CONTINUE
45    CONTINUE
      END
      SUBROUTINE REVERSE
C     FIRST STATEMENT SHOULD BE 173
10    GO TO 5
5     GO TO 250
15    GO TO 203
250   GO TO 300
20    GO TO 350
C     ABOVE STATEMENT SHOULD BE 153 AND BELOW 103
203   GO TO 30
C     ABOVE STATEMENT SHOULD BE 103 AND BELOW 73
210   GO TO 45
300   CONTINUE
310   CONTINUE
350   CONTINUE
215   CONTINUE
C     ABOVE STATEMENT SHOULD BE 53 AND BELOW 23
35    CONTINUE
30    CONTINUE
50    CONTINUE
45    CONTINUE
C R E N B R / I : -5 B 8 O 34 N 50
      END
      FUNCTION MULTPL;ACCEPT 90,I 48,(I 48(I),I=1,48);ACCEPT TAPE 90,I 4
     18,(I 48(I),I=1,48);ASSIGN 90 TO I 48;DO 90 I=48,48,48;FREQUENCY 90
     1(48),90,90(48,48),90(48,48,48);GO TO 90;GO TO I 48;GO TO I 48,(90,
     190);GO TO(90,90),I 48;IF(48)90,90,90;IF ACCUMULATOR OVERFLOW 90,90
     1;IF DIVIDE CHECK 90,90;IF QUOTIENT OVERFLOW 90,90;PRINT 90,I 48,(I
     1 48(I),I=1,48);PUNCH 90,I 48,(I 48(I),I=1,48);PUNCH TAPE 90,I 48,(
     1I 48(I),I=1,48);READ 90,I 48,(I 48(I),I=1,48);READ INPUT TAPE 48,9
     10,I 48,(I 48(I),I=1,48);TYPE 90,I 48,(I 48(I),I=1,48);WRITE OUTPUT
     1 TAPE 48,90,I 48,(I 48(I),I=1,48)
      READ DRUM 48,48,I 48,(I 48(I),I=1,48);READ TAPE 48,I 48,(I 48(I),I
     1=1,48);WRITE DRUM 48,48,I 48,(I 48(I),I=1,48);WRITE TAPE 48,I 48,(
     1I 48(I),I=1,48);IF(I 48)GO TO 90;READ(48,90)I 48,(I 48(I),I=1,48);
     1READ(48,I 48)I 48,(I 48(I),I=1,48);READ(48,I 48,END=90,ERR=90)I 48
     1,(I 48(I),I=1,48);READ(48,90,END=90,ERR=90)I 48,(I 48(I),I=1,48);W
     1RITE(48,90)I 48,(I 48(I),I=1,48);WRITE(48,I 48)I 48,(I 48(I),I=1,4
     18);WRITE(48)I 48,(I 48(I),I=1,48);READ(48)I 48,(I 48(I),I=1,48);RE
     1AD 90,I 48,(I 48(I),I=1,48);READ 90;READ(48#48,90)I 48,(I 48(I),I=
     11,48);READ(48#48)I 48,(I 48(I),I=1,48)
      WRITE 90,I 48,(I 48(I),I=1,48);WRITE 90;WRITE(48#48,90)I 48,(I 48(
     1I),I=1,48);WRITE(48#48,I 48)I 48,(I 48(I),I=1,48);READ(48#48,I 48)
     1I 48,(I 48(I),I=1,48);REREAD 90,I 48,(I 48(I),I=1,48);FIND(48#48);
     1ACCEPT 90,I 48,(I 48(I),I=1,48);ACCEPT 90;PRINT 90,I 48,(I 48(I),I
     1=1,48);PRINT 90;PUNCH 90,I 48,(I 48(I),I=1,48);PUNCH 90;TYPE 90,I 
     148,(I 48(I),I=1,48);TYPE 90;ENCODE(48,90,I 48)I 48,(I 48(I),I=1,48
     1);DECODE(48,90,I 48)I 48,(I 48(I),I=1,48)
  100 CONTINUE
   90 CONTINUE
   81 CONTINUE
   73 CONTINUE
   66 CONTINUE
   60 CONTINUE
   55 CONTINUE
   51 CONTINUE
   48 CONTINUE
   46 CONTINUE
   45 CONTINUE
      END
      FUNCTION COMENT;ACCEPT 90,I 48,(I 48(I),!COMMENT ONE 012345678/012
     1I=1,48);ACCEPT TAPE 90,I 48,(I 48(I),I=1!COMMENT TWO 012345678/012
     1,48);ASSIGN 90 TO I 48;DO 90 I=48,48,48;!COMMENT THREE 2345678/012
     1FREQUENCY 90(48),90,90(48,48),90(48,48,4!COMMENT FOUR 12345678/012
     18);GO TO 90;GO TO I 48;GO TO I 48,(90,90!COMMENT FIVE 12345678/012
     1);GO TO(90,90),I 48;IF(48)90,90,90;IF AC!COMMENT SIX 012345678/012
     1CUMULATOR OVERFLOW 90,90;IF DIVIDE CHECK!COMMENT SEVEN 2345678/012
     1 90,90;IF QUOTIENT OVERFLOW 90,90;PRINT !COMMENT EIGHT 2345678/012
     190,I 48,(I 48(I),I=1,48)!COMMENT NINE 5678/012345678/012345678/012
      PUNCH 90,I 48,(I 48(I),I=1,48);PUNCH TAP!COMMENT ONE 012345678/012
     1E 90,I 48,(I 48(I),I=1,48);READ 90,I 48,!COMMENT TWO 012345678/012
     1(I 48(I),I=1,48);READ INPUT TAPE 48,90,I!COMMENT THREE 2345678/012
     1 48,(I 48(I),I=1,48);TYPE 90,I 48,(I 48(!COMMENT FOUR 12345678/012
     1I),I=1,48);WRITE OUTPUT TAPE 48,90,I 48,!COMMENT FIVE 12345678/012
     1(I 48(I),I=1,48);READ DRUM 48,48,I 48,(I!COMMENT SIX 012345678/012
     1 48(I),I=1,48);READ TAPE 48,I 48,(I 48(I!COMMENT SEVEN 2345678/012
     1),I=1,48);WRITE DRUM 48,48,I 48,(I 48(I)!COMMENT EIGHT 2345678/012
     1,I=1,48)!COMMENT NINE /012345678/012345678/012345678/012345678/012
      WRITE TAPE 48,I 48,(I 48(I),I=1,48);IF(I!COMMENT ONE 012345678/012
     1 48)GO TO 90;READ(48,90)I 48,(I 48(I),I=!COMMENT TWO 012345678/012
     11,48);READ(48,I 48)I 48,(I 48(I),I=1,48)!COMMENT THREE 2345678/012
     1;READ(48,I 48,END=90,ERR=90)I 48,(I 48(I!COMMENT FOUR 12345678/012
     1),I=1,48);READ(48,90,END=90,ERR=90)I 48,!COMMENT FIVE 12345678/012
     1(I 48(I),I=1,48);WRITE(48,90)I 48,(I 48(!COMMENT SIX 012345678/012
     1I),I=1,48);WRITE(48,I 48)I 48,(I 48(I),I!COMMENT SEVEN 2345678/012
     1=1,48);WRITE(48)I 48,(I 48(I),I=1,48);RE!COMMENT EIGHT 2345678/012
     1AD(48)I 48,(I 48(I),I=1,48)!COMMENT NINE 8/012345678/012345678/012
      READ 90,I 48,(I 48(I),I=1,48);READ 90;RE!COMMENT ONE 012345678/012
     1AD(48#48,90)I 48,(I 48(I),I=1,48);READ(4!COMMENT TWO 012345678/012
     18#48)I 48,(I 48(I),I=1,48);WRITE 90,I 48!COMMENT THREE 2345678/012
     1,(I 48(I),I=1,48); WRITE 90;WRITE(48#48,!COMMENT FOUR 12345678/012
     190)I48,(I 48(I),I=1,48);WRITE(48#48,I 48!COMMENT FIVE 12345678/012
     1)I 48,(I 48(I),I=1,48);READ(48#48,I 48)I!COMMENT SIX 012345678/012
     1 48,(I 48(I),I=1,48);REREAD 90,I 48,(I 4!COMMENT SEVEN 2345678/012
     18(I),I=1,48);FIND(48#48);ACCEPT 90,I 48,!COMMENT EIGHT 2345678/012
     1(I 48(I),I=1,48);ACCEPT 90!COMMENT NINE 78/012345678/012345678/012
      PRINT 90,I 48,(I 48(I),I=1,48);PRINT 90;!COMMENT ONE 012345678/012
     1PUNCH 90,I 48,(I 48(I),I=1,48);PUNCH 90;!COMMENT TWO 012345678/012
     1TYPE 90,I 48,(I 48(I),I=1,48);TYPE 90;EN!COMMENT THREE 2345678/012
     1CODE(48,90,I 48)I 48,(I 48(I),I=1,48);DE!COMMENT FOUR 12345678/012
     1CODE(48,90,I 48)I 48,(I 48(I),I=1,48)!COMMENT FIVE 8/012345678/012
  100 CONTINUE
   90 CONTINUE
   81 CONTINUE
   73 CONTINUE
   66 CONTINUE
   60 CONTINUE
   55 CONTINUE
   51 CONTINUE
   48 CONTINUE
   46 CONTINUE
   45 CONTINUE
      END
CRENBR(EXPAND/STATEMENTS WHICH EXPAND)B22I2200
      DO99A=1,2,3;DO99B=1,2,3;DO99C=1,2,3;DO99D=1,2,3;DO!COMMENT99999999
     199E=1,2,3;DO99F=1,2,3;DO99G=1,2,3;DO99H=1,2,3;DO99!MMENT9999999999
     1I=1,2,3;DO99J=1,2,3;DO99K=1,2,3;DO99L=1,2,3;DO99M=!COMMENT99999999
     11,2,3;DO99N=1,2,3;DO99O=1,2,3;DO99P=1,2,3;DO99Q=1,!COMMENT99999999
     12,3;DO99R=1,2,3;DO99S=1,2,3;DO99T=1,2,3;DO99U=1,2,!COMMENT99999999
     13;DO99V=1,2,3;DO99W=1,2,3;DO99X=1,2,3;DO99Y=1,2,3;!COMMENT99999999
     1DO99Z=1,2,3;DO99A=1,2,3;DO99B=1,2,3;DO99C=1,2,3;DO!COMMENT99999999
     199D=1,2,3;DO99E=1,2,3;DO99F=1,2,3;DO99G=1,2,3;DO99!MMENT9999999999
     1H=1,2,3;DO99I=1,2,3;DO99J=1,2,3;DO99K=1,2,3!         COMMENT999999
      DO99AA=1,2,3;DO99BB=1,2,3;DO99CC=1,2,3;DO99DD=1,2,!COMMENT99999999
     13;DO99EE=1,2,3;DO99FF=1,2,3;DO99GG=1,2,3;DO99HH=1,!COMMENT99999999
     12,3;DO99II=1,2,3;DO99JJ=1,2,3;DO99KK=1,2,3;DO99LL=!COMMENT99999999
     11,2,3;DO99MM=1,2,3;DO99NN=1,2,3;DO99OO=1,2,3;DO99P!COMMENT99999999
     1P=1,2,3;DO99QQ=1,2,3;DO99RR=1,2,3;DO99SS=1,2,3;DO9!COMMENT99999999
     19TT=1,2,3;DO99UU=1,2,3;DO99VV=1,2,3;DO99WW=1,2,3;D!  COMMENT999999
     1O99XX=1,2,3;DO99YY=1,2,3;DO99ZZ=1,2,3;DO99AA=1,2,3!COMMENT99999999
     1;DO99BB=1,2,3;DO99CC=1,2,3;DO99DD=1,2,3;DO99EE=1,2!COMMENT99999999
     1,3;DO99FF=1,2,3;DO99GG=1,2,3;DO99HH=1,2,3!           COMMENT999999
      IF(A)99,99,99;IF(B)99,99,99;IF(C)99,99,99;IF(D)99,!999999999999999
     199,99;IF(E)99,99,99;IF(F)99,99,99;IF(G)99,99,99;IF!999999999999999
     1(H)99,99,99;IF(I)99,99,99;IF(J)99,99,99;IF(K)99,99!999999999999999
     1,99;IF(L)99,99,99;IF(M)99,99,99;IF(N)99,99,99;IF(O!999999999999999
     1)99,99,99;IF(P)99,99,99;IF(Q)99,99,99;IF(R)99,99,9!999999999999999
     19;IF(S)99,99,99;IF(T)99,99,99;IF(U)99,99,99;IF(V)9!999999999999999
     19,99,99;IF(W)99,99,99;IF(X)99,99,99;IF(Y)99,99,99;!999999999999999
     1IF(Z)99,99,99;IF(A)99,99,99;IF(B)99,99,99;IF(C)99,!999999999999999
     199,99!       COMMENT9999999999999999999999999999999999999999999999
      IF(AA)99,99,99;IF(BB)99,99,99;IF(CC)99,99,99;IF(DD!999999999999999
     1)99,99,99;IF(EE)99,99,99;IF(FF)99,99,99;IF(GG)99,9!999999999999999
     19,99;IF(HH)99,99,99;IF(II)99,99,99;IF(JJ)99,99,99;!999999999999999
     1IF(KK)99,99,99;IF(LL)99,99,99;IF(MM)99,99,99;IF(NN!999999999999999
     1)99,99,99;IF(OO)99,99,99;IF(PP)99,99,99;IF(QQ)99,9!999999999999999
     19,99;IF(RR)99,99,99;IF(SS)99,99,99;IF(TT)99,99,99;!999999999999999
     1IF(UU)99,99,99;IF(VV)99,99,99;IF(WW)99,99,99;IF(XX!999999999999999
     1)99,99,99;IF(YY)99,99,99;IF(ZZ)99,99,99;IF(AA)99,9!999999999999999
     19,99;IF(BB)99,99,99!OMMENT9999999999999999999999999999999999999999
      GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;G!T99999999999999
     1OTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;GO!T99999999999999
     1TO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOT!T99999999999999
     1O99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO!T99999999999999
     199;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO9!999999999999999
     19;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99!T99999999999999
     1;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;!T99999999999999
     1GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;G!T99999999999999
     1OTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99!MENT99999999999999
      GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99;GO!ENT999999999999
     1TO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO!ENT999999999999
     1 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 9!T99999999999999
     19;GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99;!ENT999999999999
     1GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99;GO!ENT999999999999
     1TO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO!ENT999999999999
     1 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 9!T99999999999999
     19;GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99;!ENT999999999999
     1GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99!OMMENT999999999999
      DO9999A=1,2,3;DO9999B=1,2,3;DO9999C=1,2,3;DO9999D=1,2,3;DO!COMMENT
     19999E=1,2,3;DO9999F=1,2,3;DO9999G=1,2,3;DO9999H=1,2,3;DO9999!MMENT
     2I=1,2,3;DO9999J=1,2,3;DO9999K=1,2,3;DO9999L=1,2,3;DO9999M=!COMMENT
     31,2,3;DO9999N=1,2,3;DO9999O=1,2,3;DO9999P=1,2,3;DO9999Q=1,!COMMENT
     42,3;DO9999R=1,2,3;DO9999S=1,2,3;DO9999T=1,2,3;DO9999U=1,2,!COMMENT
     53;DO9999V=1,2,3;DO9999W=1,2,3;DO9999X=1,2,3;DO9999Y=1,2,3;!COMMENT
     6DO9999Z=1,2,3;DO9999A=1,2,3;DO9999B=1,2,3;DO9999C=1,2,3;DO!COMMENT
     79999D=1,2,3;DO9999E=1,2,3;DO9999F=1,2,3;DO9999G=1,2,3;DO9999!MMENT
     8H=1,2,3;DO9999I=1,2,3;DO9999J=1,2,3;DO9999K=1,2,3!         COMMENT
      DO9999AA=1,2,3;DO9999BB=1,2,3;DO9999CC=1,2,3;DO9999DD=1,2,!COMMENT
     13;DO9999EE=1,2,3;DO9999FF=1,2,3;DO9999GG=1,2,3;DO9999HH=1,!COMMENT
     22,3;DO9999II=1,2,3;DO9999JJ=1,2,3;DO9999KK=1,2,3;DO9999LL=!COMMENT
     31,2,3;DO9999MM=1,2,3;DO9999NN=1,2,3;DO9999OO=1,2,3;DO9999P!COMMENT
     4P=1,2,3;DO9999QQ=1,2,3;DO9999RR=1,2,3;DO9999SS=1,2,3;DO9999
     5 TT=1,2,3;DO9999UU=1,2,3;DO9999VV=1,2,3;DO9999WW=1,2,3;D!  COMMENT
     6O9999XX=1,2,3;DO9999YY=1,2,3;DO9999ZZ=1,2,3;DO9999AA=1,2,3!COMMENT
     7;DO9999BB=1,2,3;DO9999CC=1,2,3;DO9999DD=1,2,3;DO9999EE=1,2!COMMENT
     8,3;DO9999FF=1,2,3;DO9999GG=1,2,3;DO9999HH=1,2,3!           COMMENT
      IF(A)9999,9999,9999;IF(B)9999,9999,9999;IF(C)9999,9999,9999;IF(D)9
     1999,9999,9999;IF(E)9999,9999,9999;IF(F)9999,9999,9999;IF(G)9999,99
     299,9999;IF(H)9999,9999,9999;IF(I)9999,9999,9999;IF(J)9999,9999,999
     39;IF(K)9999,9999,9999;IF(L)9999,9999,9999;IF(M)9999,9999,9999;IF(N
     4)9999,9999,9999;IF(O)9999,9999,9999;IF(P)9999,9999,9999;IF(Q)9999,
     59999,9999;IF(R)9999,9999,9999;IF(S)9999,9999,9999;IF(T)9999,9999,9
     6999;IF(U)9999,9999,9999;IF(V)9999,9999,9999;IF(W)9999,9999,9999;IF
     7(X)9999,9999,9999;IF(Y)9999,9999,9999;IF(Z)9999,9999,9999;IF(A)999
     89,9999,9999;IF(B)9999,9999,9999;IF(C)9999,9999,9999!       COMMENT
      IF(AA)9999,9999,9999;IF(BB)9999,9999,9999;IF(CC)9999,9999,9999;IF(
     1DD)9999,9999,9999;IF(EE)9999,9999,9999;IF(FF)9999,9999,9999;IF(GG)
     29999,9999,9999;IF(HH)9999,9999,9999;IF(II)9999,9999,9999;IF(JJ)999
     39,9999,9999;IF(KK)9999,9999,9999;IF(LL)9999,9999,9999;IF(MM)9999,9
     4999,9999;IF(NN)9999,9999,9999;IF(OO)9999,9999,9999;IF(PP)9999,9999
     5,9999;IF(QQ)9999,9999,9999;IF(RR)9999,9999,9999;IF(SS)9999,9999,99
     699;IF(TT)9999,9999,9999;IF(UU)9999,9999,9999;IF(VV)9999,9999,9999;
     7IF(WW)9999,9999,9999;IF(XX)9999,9999,9999;IF(YY)9999,9999,9999;IF(
     8ZZ)9999,9999,9999;IF(AA)9999,9999,9999;IF(BB)9999,9999,9999!OMMENT
      GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;G!T
     1OTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GO!T
     2TO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOT!T
     3O9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO!T
     49999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO999
     59;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999!T
     6;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;!T
     7GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;G!T
     8OTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999!MENT
      GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GO!ENT
     1TO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO!ENT
     2 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999
     3 ;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;!ENT
     4GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GO!ENT
     5TO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO!ENT
     6 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999
     7 ;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;!ENT
     8GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999!OMMENT
 9999 CONTINUE
   99 CONTINUE
      END
      SUBROUTINE FTRN77
C     RENBR(/DEMONSTRATE FORTRAN 77 STATEMENTS)
C
C     *********************************************
C     *                                           *
C     *  SHORT TEST OF STATEMENTS WHICH USE ERR=  *
C     *                                           *
C     *********************************************
C
C     STATEMENTS IN WHICH UNIT NUMBER IS RIGHT OF WORD
      BACKFILE 48;BACKFILE(ERR=90);BACKFILE(48,ERR=90)
      BACKSPACE 48;BACKSPACE(ERR=90);BACKSPACE(48,ERR=90)
      ENDFILE 48;ENDFILE(ERR=90);ENDFILE(48,ERR=90)
      REWIND 48;REWIND(ERR=90);REWIND(48,ERR=90)
      SKIPFILE 48;SKIPFILE(ERR=90);SKIPFILE(48,ERR=90)
      SKIPRECORD 48;SKIPRECORD(ERR=90);SKIPRECORD(48,ERR=90)
      UNLOAD 48;UNLOAD(ERR=90);UNLOAD(48,ERR=90)
C
C     STATEMENTS IN WHICH FORMAT NUMBER IS RIGHT OF WORD
      ACCEPT 90;ACCEPT 90,48;ACCEPT(ERR=90)48
      PRINT 90;PRINT 90,48;PRINT(ERR=90)48
      PUNCH 90;PUNCH 90,48;PUNCH(ERR=90)48
      REREAD 90;REREAD 90,48;REREAD(ERR=90)48
      TYPE 90;TYPE 90,48;TYPE(ERR=90)48
C
C     STATEMENTS IN WHICH (NUMBER,NUMBER CAN FOLLOW WORD
      READ 90;READ 90,48;READ(ERR=90)48;READ(48,90,ERR=90)
      WRITE 90;WRITE 90,48;WRITE(ERR=90)48;WRITE(48,90,ERR=90)
C
C     STATEMENTS IN WHICH PARENTHESIS MUST FOLLOW WORD
      CLOSE(ERR=90)
      DECODE(48,90,48,ERR=90)48
      ENCODE(48,90,48,ERR=90)48
      FIND(ERR=90)
      INQUIRE(ERR=90)
      OPEN(ERR=90)
C
C     ALL POSSIBLE CLAUSES WHICH USE STATEMENT NUMBER
      READ(FMT=90,ERR=90,END=90,UNIT=48,IOSTAT=48)48
      READ(IOSTAT=48,UNIT=48,END=90,ERR=90,FMT=90)48
C
C     **************************************
C     *                                    *
C     *  TRY VARIATIONS OF EACH STATEMENT  *
C     *                                    *
C     **************************************
C
C     ACCEPT STATEMENTS
      ACCEPT(FMT=90,END=90,ERR=90,IOSTAT=48)
      ACCEPT(FMT=90,END=90,ERR=90,IOSTAT=48)48
      ACCEPT(FMT=*,END=90,ERR=90,IOSTAT=48)
      ACCEPT(FMT=*,END=90,ERR=90,IOSTAT=48)48
      ACCEPT 90
      ACCEPT 90,48
      ACCEPT *
      ACCEPT *,48
C
C     ASSIGN STATEMENT
      ASSIGN 90 TO 48
C
C     BACKFILE STATEMENTS
      BACKFILE 48
      BACKFILE(UNIT=48)
      BACKFILE(ERR=90)
      BACKFILE(UNIT=48,ERR=90)
      BACKFILE(ERR=90,UNIT=48)
      BACKFILE(UNIT=48,ERR=90,IOSTAT=48)
      BACKFILE(ERR=90,UNIT=48,IOSTAT=48)
      BACKFILE(UNIT=48,IOSTAT=48,ERR=90)
      BACKFILE(48,ERR=90)
      BACKFILE(48,IOSTAT=48)
      BACKFILE(48,IOSTAT=48,ERR=90)
      BACKFILE(48,ERR=90,IOSTAT=48)
C
C     BACKSPACE STATEMENTS
      BACKSPACE 48
      BACKSPACE(UNIT=48)
      BACKSPACE(ERR=90)
      BACKSPACE(UNIT=48,ERR=90)
      BACKSPACE(ERR=90,UNIT=48)
      BACKSPACE(UNIT=48,ERR=90,IOSTAT=48)
      BACKSPACE(ERR=90,UNIT=48,IOSTAT=48)
      BACKSPACE(UNIT=48,IOSTAT=48,ERR=90)
      BACKSPACE(48,ERR=90)
      BACKSPACE(48,IOSTAT=48)
      BACKSPACE(48,IOSTAT=48,ERR=90)
      BACKSPACE(48,ERR=90,IOSTAT=48)
C
C     CLOSE STATEMENTS
      CLOSE(UNIT=48,ERR=90)
      CLOSE(ERR=90,UNIT=48)
      CLOSE(48,ERR=90)
C
C     DECODE STATEMENTS
      DECODE(48,90,48)48
      DECODE(48,90,48)48
      DECODE(48,90,48,ERR=90)48
      DECODE(48,90,48,IOSTAT=48)48
      DECODE(48,90,48,ERR=90,IOSTAT=48)48
      DECODE(48,90,48,IOSTAT=48,ERR=90)48
C
C     DO STATEMENTS
      DO 90 I=48,48,48
      DO 90,I=48,48,48
C
C     ENCODE STATEMENTS
      ENCODE(48,90,48)48
      ENCODE(48,90,48)48
      ENCODE(48,90,48,ERR=90)48
      ENCODE(48,90,48,IOSTAT=48)48
      ENCODE(48,90,48,ERR=90,IOSTAT=48)48
      ENCODE(48,90,48,IOSTAT=48,ERR=90)48
C
C     ENDFILE STATEMENTS
      ENDFILE 48
      ENDFILE(UNIT=48,ERR=90,IOSTAT=48)
      ENDFILE(ERR=90,UNIT=48,IOSTAT=48)
      ENDFILE(48,ERR=90)
      ENDFILE(48,IOSTAT=48)
      ENDFILE(48,ERR=90,IOSTAT=48)
      ENDFILE(48,IOSTAT=48,ERR=90)
C
C     FIND STATEMENTS
      FIND(UNIT=48,REC=48,ERR=90,IOSTAT=48)
      FIND(IOSTAT=48,ERR=90,REC=48,UNIT=48)
      FIND(48,REC=48,ERR=90,IOSTAT=48)
      FIND(48,IOSTAT=48,ERR=90,REC=48)
      FIND(48'48,ERR=90,IOSTAT=48)
      FIND(48'48,IOSTAT=48,ERR=90)
C
C     INQUIRE STATEMENTS
      INQUIRE(UNIT=48,ERR=90,IOSTAT=48)
      INQUIRE(IOSTAT=48,ERR=90,UNIT=48)
C
C     OPEN STATEMENTS
      OPEN(UNIT=48,ERR=90)
      OPEN(ERR=90,UNIT=48)
      OPEN(48,ERR=90)
C
C     PRINT STATEMENTS
      PRINT(FMT=90,ERR=90,IOSTAT=48)48
      PRINT(ERR=90,FMT=90,IOSTAT=48)48
      PRINT(IOSTAT=48,ERR=90,FMT=90)48
      PRINT(IOSTAT=48,FMT=90,ERR=90)48
      PRINT(FMT=*,ERR=90,IOSTAT=48)48
      PRINT(IOSTAT=48,ERR=90,FMT=*)48
      PRINT(FMT=90)
      PRINT(ERR=90)
      PRINT(FMT=90,ERR=90)
      PRINT(ERR=90,FMT=90)
      PRINT 90,48
      PRINT *,48
      PRINT 90
C
C     PUNCH STATEMENTS
      PUNCH(FMT=90,ERR=90,IOSTAT=48)48
      PUNCH(ERR=90,FMT=90,IOSTAT=48)48
      PUNCH(IOSTAT=48,ERR=90,FMT=90)48
      PUNCH(IOSTAT=48,FMT=90,ERR=90)48
      PUNCH(FMT=*,ERR=90,IOSTAT=48)48
      PUNCH(IOSTAT=48,ERR=90,FMT=*)48
      PUNCH(FMT=90)
      PUNCH(ERR=90)
      PUNCH(FMT=90,ERR=90)
      PUNCH(ERR=90,FMT=90)
      PUNCH 90,48
      PUNCH *,48
      PUNCH 90
C
C     READ STATEMENTS
      READ(UNIT=48,FMT=90,REC=48,ERR=90,END=90,IOSTAT=48)48
      READ(IOSTAT=48,END=90,ERR=90,REC=48,FMT=90,UNIT=48)48
      READ(UNIT=*,FMT=90,REC=48,ERR=90,END=90,IOSTAT=48)48
      READ(IOSTAT=48,END=90,ERR=90,REC=48,FMT=90,UNIT=*)48
      READ(UNIT=48,FMT=*,REC=48,ERR=90,END=90,IOSTAT=48)48
      READ(IOSTAT=48,END=90,ERR=90,REC=48,FMT=*,UNIT=48)48
      READ(UNIT=*,FMT=*,REC=48,ERR=90,END=90,IOSTAT=48)48
      READ(IOSTAT=48,END=90,ERR=90,REC=48,FMT=*,UNIT=*)48
      READ(48,FMT=90,REC=48,ERR=90,END=90,IOSTAT=48)48
      READ(48,IOSTAT=48,END=90,ERR=90,REC=48,FMT=90)48
      READ(48,FMT=*,REC=48,ERR=90,END=90,IOSTAT=48)48
      READ(48,IOSTAT=48,END=90,ERR=90,REC=48,FMT=*)48
      READ(48,90,REC=48,ERR=90,END=90,IOSTAT=48)48
      READ(48,90,IOSTAT=48,END=90,ERR=90,REC=48)48
      READ(48'48,FMT=90,ERR=90,END=90,IOSTAT=48)48
      READ(48'48,IOSTAT=48,END=90,ERR=90,FMT=90)48
      READ(48'48,90,ERR=90,END=90,IOSTAT=48)48
      READ(48'48,90,IOSTAT=48,END=90,ERR=90)48
      READ 90,48
      READ *,48
      READ 90
C
C     REREAD STATEMENTS
      REREAD(FMT=90,ERR=90,IOSTAT=48)48
      REREAD(ERR=90,FMT=90,IOSTAT=48)48
      REREAD(IOSTAT=48,ERR=90,FMT=90)48
      REREAD(IOSTAT=48,FMT=90,ERR=90)48
      REREAD(FMT=*,ERR=90,IOSTAT=48)48
      REREAD(IOSTAT=48,ERR=90,FMT=*)48
      REREAD(FMT=90)
      REREAD(ERR=90)
      REREAD(FMT=90,ERR=90)
      REREAD(ERR=90,FMT=90)
      REREAD 90,48
      REREAD *,48
      REREAD 90
C
C     REWIND STATEMENTS
      REWIND 48
      REWIND(UNIT=48)
      REWIND(ERR=90)
      REWIND(UNIT=48,ERR=90)
      REWIND(ERR=90,UNIT=48)
      REWIND(UNIT=48,ERR=90,IOSTAT=48)
      REWIND(ERR=90,UNIT=48,IOSTAT=48)
      REWIND(UNIT=48,IOSTAT=48,ERR=90)
      REWIND(48,ERR=90)
      REWIND(48,IOSTAT=48)
      REWIND(48,IOSTAT=48,ERR=90)
      REWIND(48,ERR=90,IOSTAT=48)
C
C     SKIPFILE STATEMENTS
      SKIPFILE 48
      SKIPFILE(UNIT=48)
      SKIPFILE(ERR=90)
      SKIPFILE(UNIT=48,ERR=90)
      SKIPFILE(ERR=90,UNIT=48)
      SKIPFILE(UNIT=48,ERR=90,IOSTAT=48)
      SKIPFILE(ERR=90,UNIT=48,IOSTAT=48)
      SKIPFILE(UNIT=48,IOSTAT=48,ERR=90)
      SKIPFILE(48,ERR=90)
      SKIPFILE(48,IOSTAT=48)
      SKIPFILE(48,IOSTAT=48,ERR=90)
      SKIPFILE(48,ERR=90,IOSTAT=48)
C
C     SKIPRECORD STATEMENTS
      SKIPRECORD 48
      SKIPRECORD(UNIT=48)
      SKIPRECORD(ERR=90)
      SKIPRECORD(UNIT=48,ERR=90)
      SKIPRECORD(ERR=90,UNIT=48)
      SKIPRECORD(UNIT=48,ERR=90,IOSTAT=48)
      SKIPRECORD(ERR=90,UNIT=48,IOSTAT=48)
      SKIPRECORD(UNIT=48,IOSTAT=48,ERR=90)
      SKIPRECORD(48,ERR=90)
      SKIPRECORD(48,IOSTAT=48)
      SKIPRECORD(48,IOSTAT=48,ERR=90)
      SKIPRECORD(48,ERR=90,IOSTAT=48)
C
C     TYPE STATEMENTS
      TYPE(FMT=90,ERR=90,IOSTAT=48)48
      TYPE(ERR=90,FMT=90,IOSTAT=48)48
      TYPE(IOSTAT=48,ERR=90,FMT=90)48
      TYPE(IOSTAT=48,FMT=90,ERR=90)48
      TYPE(FMT=*,ERR=90,IOSTAT=48)48
      TYPE(IOSTAT=48,ERR=90,FMT=*)48
      TYPE(FMT=90)
      TYPE(ERR=90)
      TYPE(FMT=90,ERR=90)
      TYPE(ERR=90,FMT=90)
      TYPE 90,48
      TYPE *,48
      TYPE 90
C
C     UNLOAD STATEMENTS
      UNLOAD 48
      UNLOAD(UNIT=48)
      UNLOAD(ERR=90)
      UNLOAD(UNIT=48,ERR=90)
      UNLOAD(ERR=90,UNIT=48)
      UNLOAD(UNIT=48,ERR=90,IOSTAT=48)
      UNLOAD(ERR=90,UNIT=48,IOSTAT=48)
      UNLOAD(UNIT=48,IOSTAT=48,ERR=90)
      UNLOAD(48,ERR=90)
      UNLOAD(48,IOSTAT=48)
      UNLOAD(48,IOSTAT=48,ERR=90)
      UNLOAD(48,ERR=90,IOSTAT=48)
C
C     WRITE STATEMENTS
      WRITE(UNIT=48,FMT=90,REC=48,ERR=90,END=90,IOSTAT=48)48
      WRITE(IOSTAT=48,END=90,ERR=90,REC=48,FMT=90,UNIT=48)48
      WRITE(UNIT=*,FMT=90,REC=48,ERR=90,END=90,IOSTAT=48)48
      WRITE(IOSTAT=48,END=90,ERR=90,REC=48,FMT=90,UNIT=*)48
      WRITE(UNIT=48,FMT=*,REC=48,ERR=90,END=90,IOSTAT=48)48
      WRITE(IOSTAT=48,END=90,ERR=90,REC=48,FMT=*,UNIT=48)48
      WRITE(UNIT=*,FMT=*,REC=48,ERR=90,END=90,IOSTAT=48)48
      WRITE(IOSTAT=48,END=90,ERR=90,REC=48,FMT=*,UNIT=*)48
      WRITE(48,FMT=90,REC=48,ERR=90,END=90,IOSTAT=48)48
      WRITE(48,IOSTAT=48,END=90,ERR=90,REC=48,FMT=90)48
      WRITE(48,FMT=*,REC=48,ERR=90,END=90,IOSTAT=48)48
      WRITE(48,IOSTAT=48,END=90,ERR=90,REC=48,FMT=*)48
      WRITE(48,90,REC=48,ERR=90,END=90,IOSTAT=48)48
      WRITE(48,90,IOSTAT=48,END=90,ERR=90,REC=48)48
      WRITE(48'48,FMT=90,ERR=90,END=90,IOSTAT=48)48
      WRITE(48'48,IOSTAT=48,END=90,ERR=90,FMT=90)48
      WRITE(48'48,90,ERR=90,END=90,IOSTAT=48)48
      WRITE(48'48,90,IOSTAT=48,END=90,ERR=90)48
      WRITE 90,48
      WRITE *,48
      WRITE 90
C
C     NUMBERED STATEMENTS
  100 CONTINUE
   90 CONTINUE
   81 CONTINUE
   73 CONTINUE
   66 CONTINUE
   60 CONTINUE
   55 CONTINUE
   51 CONTINUE
   48 CONTINUE
   46 CONTINUE
   45 CONTINUE
      END
C     RENBR(PUNCT/CHECK RECOGNITION OF OPERATORS AND PUNCTUATION
      IF(I.GT.20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
      IF(I.GE.20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
      IF(I.LT.20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
      IF(I.LE.20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
      IF(I.EQ.20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
      IF(I.NE.20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
      IF(I.NOT.20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
      IF(I.AND.20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
      IF(I.OR.20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
      IF(I.XOR.20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
      IF(I.EQV.20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
      IF(I.NEQV.20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
C
      J.GT.17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
      J.GE.17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
      J.LT.17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
      J.LE.17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
      J.EQ.17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
      J.NE.17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
      J.NOT.17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
      J.AND.17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
      J.OR.17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
      J.XOR.17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
      J.EQV.17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
      J.NEQV.17HGO TO 48;GO TO 48;GO TO 90;GO TO 90

C
C     OPERATORS REPRESENTED BY PUNCTUATION MARKS
      IF(I**20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
      IF(I^20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
      IF(I-20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
      IF(I+20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
      IF(I*20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
      IF(I/20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
      IF(I>20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
      IF(I>=20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
      IF(I<20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
      IF(I<=20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
      IF(I==20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
      IF(I#20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
C
      J**17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
      J^17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
      J-17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
      J+17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
      J*17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
      J/17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
      J>17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
      J>=17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
      J<17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
      J<=17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
      J==17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
      J#17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
C
C     OTHER PUNCTUATION MARKS THAT MUST BE RECOGNIZED
      IF(I=20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
      IF(I:20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
      IF(I,20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
      J=17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
      J:17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
      J,17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
C
C     THE PARENTHESES THEMSELVES
      J(17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
      J)17HGO TO 48;GO TO 48;GO TO 90;GO TO 90

C
C     NUMBERED STATEMENTS
  100 CONTINUE
   90 CONTINUE
   81 CONTINUE
   73 CONTINUE
   66 CONTINUE
   60 CONTINUE
   55 CONTINUE
   51 CONTINUE
   48 CONTINUE
   46 CONTINUE
   45 CONTINUE
      END
      PROGRAM NEWCOM
C     RENBR(/TEST COMMENT CHARACTERS FOR FORTRAN10)
C
      GO TO 90
D     GO TO 90
d     GO TO 90
C     GO TO 48
c     GO TO 48
*     GO TO 48
!     GO TO 48
$     GO TO 48
/     GO TO 48
C
C     NUMBERED STATEMENTS
  100 CONTINUE
   90 CONTINUE
   81 CONTINUE
   73 CONTINUE
   66 CONTINUE
   60 CONTINUE
   55 CONTINUE
   51 CONTINUE
   48 CONTINUE
   46 CONTINUE
   45 CONTINUE
      END
      SUBROUTINE ACCEP1
C     RENBR(/TEST FORTRAN 77 VARIATIONS OF ACCEPT)
C
C     ALL VERSIONS OF ACCEPT STATEMENT WITH FMT=NUMBER
C
      ACCEPT(FMT=90)48
      ACCEPT(ERR=90)48
      ACCEPT(END=90)48
      ACCEPT(IOSTAT=48)48
      ACCEPT(FMT=90,ERR=90)48
      ACCEPT(FMT=90,END=90)48
      ACCEPT(FMT=90,IOSTAT=48)48
      ACCEPT(ERR=90,FMT=90)48
      ACCEPT(ERR=90,END=90)48
      ACCEPT(ERR=90,IOSTAT=48)48
      ACCEPT(END=90,FMT=90)48
      ACCEPT(END=90,ERR=90)48
      ACCEPT(END=90,IOSTAT=48)48
      ACCEPT(IOSTAT=48,FMT=90)48
      ACCEPT(IOSTAT=48,ERR=90)48
      ACCEPT(IOSTAT=48,END=90)48
      ACCEPT(FMT=90,ERR=90,END=90)48
      ACCEPT(FMT=90,ERR=90,IOSTAT=48)48
      ACCEPT(FMT=90,END=90,ERR=90)48
      ACCEPT(FMT=90,END=90,IOSTAT=48)48
      ACCEPT(FMT=90,IOSTAT=48,ERR=90)48
      ACCEPT(FMT=90,IOSTAT=48,END=90)48
      ACCEPT(ERR=90,FMT=90,END=90)48
      ACCEPT(ERR=90,FMT=90,IOSTAT=48)48
      ACCEPT(ERR=90,END=90,FMT=90)48
      ACCEPT(ERR=90,END=90,IOSTAT=48)48
      ACCEPT(ERR=90,IOSTAT=48,FMT=90)48
      ACCEPT(ERR=90,IOSTAT=48,END=90)48
      ACCEPT(END=90,FMT=90,ERR=90)48
      ACCEPT(END=90,FMT=90,IOSTAT=48)48
      ACCEPT(END=90,ERR=90,FMT=90)48
      ACCEPT(END=90,ERR=90,IOSTAT=48)48
      ACCEPT(END=90,IOSTAT=48,FMT=90)48
      ACCEPT(END=90,IOSTAT=48,ERR=90)48
      ACCEPT(IOSTAT=48,FMT=90,ERR=90)48
      ACCEPT(IOSTAT=48,FMT=90,END=90)48
      ACCEPT(IOSTAT=48,ERR=90,FMT=90)48
      ACCEPT(IOSTAT=48,ERR=90,END=90)48
      ACCEPT(IOSTAT=48,END=90,FMT=90)48
      ACCEPT(IOSTAT=48,END=90,ERR=90)48
      ACCEPT(FMT=90,ERR=90,END=90,IOSTAT=48)48
      ACCEPT(FMT=90,ERR=90,IOSTAT=48,END=90)48
      ACCEPT(FMT=90,END=90,ERR=90,IOSTAT=48)48
      ACCEPT(FMT=90,END=90,IOSTAT=48,ERR=90)48
      ACCEPT(FMT=90,IOSTAT=48,ERR=90,END=90)48
      ACCEPT(FMT=90,IOSTAT=48,END=90,ERR=90)48
      ACCEPT(ERR=90,FMT=90,END=90,IOSTAT=48)48
      ACCEPT(ERR=90,FMT=90,IOSTAT=48,END=90)48
      ACCEPT(ERR=90,END=90,FMT=90,IOSTAT=48)48
      ACCEPT(ERR=90,END=90,IOSTAT=48,FMT=90)48
      ACCEPT(ERR=90,IOSTAT=48,FMT=90,END=90)48
      ACCEPT(ERR=90,IOSTAT=48,END=90,FMT=90)48
      ACCEPT(END=90,FMT=90,ERR=90,IOSTAT=48)48
      ACCEPT(END=90,FMT=90,IOSTAT=48,ERR=90)48
      ACCEPT(END=90,ERR=90,FMT=90,IOSTAT=48)48
      ACCEPT(END=90,ERR=90,IOSTAT=48,FMT=90)48
      ACCEPT(END=90,IOSTAT=48,FMT=90,ERR=90)48
      ACCEPT(END=90,IOSTAT=48,ERR=90,FMT=90)48
      ACCEPT(IOSTAT=48,FMT=90,ERR=90,END=90)48
      ACCEPT(IOSTAT=48,FMT=90,END=90,ERR=90)48
      ACCEPT(IOSTAT=48,ERR=90,FMT=90,END=90)48
      ACCEPT(IOSTAT=48,ERR=90,END=90,FMT=90)48
      ACCEPT(IOSTAT=48,END=90,FMT=90,ERR=90)48
      ACCEPT(IOSTAT=48,END=90,ERR=90,FMT=90)48
C
C     NUMBERED STATEMENTS
  100 CONTINUE
   90 CONTINUE
   81 CONTINUE
   73 CONTINUE
   66 CONTINUE
   60 CONTINUE
   55 CONTINUE
   51 CONTINUE
   48 CONTINUE
   46 CONTINUE
   45 CONTINUE
      END
      SUBROUTINE ACCEP2
C     RENBR(/TEST FORTRAN 77 VARIATIONS OF ACCEPT)
C
C     ACCEPT STATEMENTS WITH FMT=* RATHER THAN FMT=NUMBER
C
      ACCEPT(FMT=*)48
      ACCEPT(ERR=90)48
      ACCEPT(END=90)48
      ACCEPT(IOSTAT=48)48
      ACCEPT(FMT=*,ERR=90)48
      ACCEPT(FMT=*,END=90)48
      ACCEPT(FMT=*,IOSTAT=48)48
      ACCEPT(ERR=90,FMT=*)48
      ACCEPT(ERR=90,END=90)48
      ACCEPT(ERR=90,IOSTAT=48)48
      ACCEPT(END=90,FMT=*)48
      ACCEPT(END=90,ERR=90)48
      ACCEPT(END=90,IOSTAT=48)48
      ACCEPT(IOSTAT=48,FMT=*)48
      ACCEPT(IOSTAT=48,ERR=90)48
      ACCEPT(IOSTAT=48,END=90)48
      ACCEPT(FMT=*,ERR=90,END=90)48
      ACCEPT(FMT=*,ERR=90,IOSTAT=48)48
      ACCEPT(FMT=*,END=90,ERR=90)48
      ACCEPT(FMT=*,END=90,IOSTAT=48)48
      ACCEPT(FMT=*,IOSTAT=48,ERR=90)48
      ACCEPT(FMT=*,IOSTAT=48,END=90)48
      ACCEPT(ERR=90,FMT=*,END=90)48
      ACCEPT(ERR=90,FMT=*,IOSTAT=48)48
      ACCEPT(ERR=90,END=90,FMT=*)48
      ACCEPT(ERR=90,END=90,IOSTAT=48)48
      ACCEPT(ERR=90,IOSTAT=48,FMT=*)48
      ACCEPT(ERR=90,IOSTAT=48,END=90)48
      ACCEPT(END=90,FMT=*,ERR=90)48
      ACCEPT(END=90,FMT=*,IOSTAT=48)48
      ACCEPT(END=90,ERR=90,FMT=*)48
      ACCEPT(END=90,ERR=90,IOSTAT=48)48
      ACCEPT(END=90,IOSTAT=48,FMT=*)48
      ACCEPT(END=90,IOSTAT=48,ERR=90)48
      ACCEPT(IOSTAT=48,FMT=*,ERR=90)48
      ACCEPT(IOSTAT=48,FMT=*,END=90)48
      ACCEPT(IOSTAT=48,ERR=90,FMT=*)48
      ACCEPT(IOSTAT=48,ERR=90,END=90)48
      ACCEPT(IOSTAT=48,END=90,FMT=*)48
      ACCEPT(IOSTAT=48,END=90,ERR=90)48
      ACCEPT(FMT=*,ERR=90,END=90,IOSTAT=48)48
      ACCEPT(FMT=*,ERR=90,IOSTAT=48,END=90)48
      ACCEPT(FMT=*,END=90,ERR=90,IOSTAT=48)48
      ACCEPT(FMT=*,END=90,IOSTAT=48,ERR=90)48
      ACCEPT(FMT=*,IOSTAT=48,ERR=90,END=90)48
      ACCEPT(FMT=*,IOSTAT=48,END=90,ERR=90)48
      ACCEPT(ERR=90,FMT=*,END=90,IOSTAT=48)48
      ACCEPT(ERR=90,FMT=*,IOSTAT=48,END=90)48
      ACCEPT(ERR=90,END=90,FMT=*,IOSTAT=48)48
      ACCEPT(ERR=90,END=90,IOSTAT=48,FMT=*)48
      ACCEPT(ERR=90,IOSTAT=48,FMT=*,END=90)48
      ACCEPT(ERR=90,IOSTAT=48,END=90,FMT=*)48
      ACCEPT(END=90,FMT=*,ERR=90,IOSTAT=48)48
      ACCEPT(END=90,FMT=*,IOSTAT=48,ERR=90)48
      ACCEPT(END=90,ERR=90,FMT=*,IOSTAT=48)48
      ACCEPT(END=90,ERR=90,IOSTAT=48,FMT=*)48
      ACCEPT(END=90,IOSTAT=48,FMT=*,ERR=90)48
      ACCEPT(END=90,IOSTAT=48,ERR=90,FMT=*)48
      ACCEPT(IOSTAT=48,FMT=*,ERR=90,END=90)48
      ACCEPT(IOSTAT=48,FMT=*,END=90,ERR=90)48
      ACCEPT(IOSTAT=48,ERR=90,FMT=*,END=90)48
      ACCEPT(IOSTAT=48,ERR=90,END=90,FMT=*)48
      ACCEPT(IOSTAT=48,END=90,FMT=*,ERR=90)48
      ACCEPT(IOSTAT=48,END=90,ERR=90,FMT=*)48
C
C     NUMBERED STATEMENTS
  100 CONTINUE
   90 CONTINUE
   81 CONTINUE
   73 CONTINUE
   66 CONTINUE
   60 CONTINUE
   55 CONTINUE
   51 CONTINUE
   48 CONTINUE
   46 CONTINUE
   45 CONTINUE
      END
CRENBR/A:2(SINGLE/TEST INDENTATION OF IF BLOCKS)
      I=1
      IF (I) THEN
      J=1
      J=1
      DO 1 I=1,2
      K=1
      K=1
      IF(K)THEN
      L=1
      L=1
      END IF
      K=1
    1 CONTINUE
      J=1
      J=1
      ELSE IF (J) THEN
      J=1
      J=1
      IF(J) THEN
      K=1
      K=1
      DO 2 WHILE (K)
      L=1
      L=1
      DO WHILE (L)
      M=1
      M=1
      IF(M)THEN
      N=1
      N=1
      ELSE
      N=1
      N=1
      END IF
      M=1
      M=1
      END DO
      L=1
    2 CONTINUE
      K=1
      K=1
      ELSE IF
      K=1
      K=1
      DO WHILE (K)
      L=1
      L=1
      DO 3 WHILE (L)
      M=1
      M=1
      IF(I)THEN
      END IF
      M=1
      M=1
      DO WHILE (M)
      END DO
      M=1
    3 CONTINUE
      L=1
      L=1
      DO 4 WHILE (L)
      M=1
      M=1
      IF(I)THEN
      END IF
      M=1
      M=1
      DO 4 WHILE (M)
      N=1
      N=1
      IF(I)THEN
      END IF
      N=1
    4 CONTINUE
      L=1
      L=1
      END DO
      K=1
      K=1
      ELSE
      K=1
      K=1
      END IF
      J=1
      J=1
      ELSE
      J=1
      J=1
      END IF
      I=1
      I=1
      END
CRENBR/A:2(TRIPLE/TEST INDENTATION OF IF BLOCKS)
      I=1
      IF (I) THEN;J=1
      J=1;DO 1 I=1,2;K=1
      K=1;IF(K)THEN;L=1
      L=1;END IF;K=1
    1 CONTINUE;J=1
      J=1;ELSE IF (J) THEN;J=1
      J=1;IF(J) THEN;K=1
      K=1;DO 2 WHILE (K);L=1
      L=1;DO WHILE (L);M=1
      M=1;IF(M)THEN;N=1
      N=1;ELSE;N=1
      N=1;END IF;M=1
      M=1;END DO;L=1
    2 CONTINUE;K=1
      K=1;ELSE IF;K=1
      K=1;DO WHILE (K);L=1
      L=1;DO 3 WHILE (L);M=1
      M=1;IF(I)THEN;END IF;M=1
      M=1;DO WHILE (M);END DO;M=1
    3 CONTINUE;L=1
      L=1;DO 4 WHILE (L);M=1
      M=1;IF(I)THEN;END IF;M=1
      M=1;DO 4 WHILE (M);N=1
      N=1;IF(I)THEN;END IF;N=1
    4 CONTINUE;L=1
      L=1;END DO;K=1
      K=1;ELSE;K=1
      K=1;END IF;J=1
      J=1;ELSE;J=1
      J=1;END IF;I=1
      I=1
      END
CRENBR(OPEN/TEST OPEN DO BLOCK)A5
C     3 DO LOOPS TERMINATING ON SAME STATEMENT
      I=1
      DO 1 I=1,2
      J=1
      J=1
      DO 1 I=1,2
      K=1
      K=1
      DO 1 I=1,2
      L=1
      L=1
    1 I=1
      I=1
C     3 DO LOOPS STARTING ON SAME LINE
      I=1
      DO 4 I=1,2;DO 3 I=1,2;DO 2,I=1,2
      L=1
      L=1
    2 K=1
      K=1
    3 J=1
      J=1
    4 I=1
      I=1
C     UNTERMINATED LOGICAL BLOCKS
      I=1
      DO WHILE (L)
      J=1
      DO WHILE (L)
      K=1
      DO WHILE (L)
      L=1
      L=1
      END
CRENBR/A5(/MAKE SURE FORMER LOGICAL BLOCK CLOSED)
      PROGRAM NONOPN
      DO WHILE(L)
      J=1
      DOWHILE(L)
      K=1
      ENDDO
      J=1
      ENDDO
      I=1
      DO WHILE(L)
      J=1;DO WHILE(L);K=1;ENDDO;J=1
      J=1
      ENDDO
      I=1
      DO WHILE(L)
      J=1;DO WHILE(L);K=1
      K=1;ENDDO;J=1
      J=1
      ENDDO
      I=1
      DO WHILE(L)
      J=1;DO WHILE(L);K=1
      ENDDO;J=1
      J=1
      ENDDO
      I=1
      END
      SUBROUTINE AAAA
C     FOLLOWING ROUTINES TEST FIX OF A BUG IN THE LISTING
C     TABLE OF CONTENTS.  THIS BUG CAUSED THE NAME ASSIGNED
C     BY A CRENBR LINE TO NOT BE ALPHABETICALLY ORDERED.
C     COMMENT BETWEEN START AND RENBR
C     RENBR(ZZZZ)
      END
      SUBROUTINE CCCC
C     COMMENT BETWEEN START AND RENBR
C     RENBR(XXXX)
      END
      SUBROUTINE EEEE
C     COMMENT BETWEEN START AND RENBR
C     RENBR(VVVV)
      END
      SUBROUTINE GGGG
C     COMMENT BETWEEN START AND RENBR
C     RENBR(TTTT)
      END
      SUBROUTINE IIII
C     COMMENT BETWEEN START AND RENBR
C     RENBR(RRRR)
      END
      SUBROUTINE AAAA
C     COMMENT BETWEEN START AND RENBR
C     RENBR(RRRR)
      END
      SUBROUTINE CCCC
C     COMMENT BETWEEN START AND RENBR
C     RENBR(TTTT)
      END
      SUBROUTINE EEEE
C     COMMENT BETWEEN START AND RENBR
C     RENBR(VVVV)
      END
      SUBROUTINE GGGG
C     COMMENT BETWEEN START AND RENBR
C     RENBR(XXXX)
      END
      SUBROUTINE IIII
C     COMMENT BETWEEN START AND RENBR
C     RENBR(ZZZZ)
      END
C     RENBR(IFERRS/IF(EXPRES)THEN= INDENTATION)/A5
C
C     THE RENBR PROGRAM USED TO INDENT EXTRA LEVEL AFTER
C     IF(EXPRESSION)THEN= STATEMENT ALTHOUGH THIS
C     REALLY SHOULD NOT HAVE STARTED ANOTHER LEVEL
C
C     TEST IF THEN CAN BE USED AS VARIABLE NAME
      I=0
      IF(A.EQ.B)THEN
      J=1
      IF(A.EQ.B)THEN=2
      J=1
      IF(A.EQ.B)THENA=2
      J=1
      IF(A.EQ.B)THEN
      K=2
      END IF=2
      K=2
      END IF
      J=1
      END IF
      I=0
C
C     TEST WHETHER DO WHILE CAN BE USED AS ARRAY ELEMENT
      I=0
      DO WHILE (I.EQ.J)
      J=1
      DO WHILE (I)=2
      J=1
      DO WHILE =2
      J=1
      DO WHILE (I.EQ.J)
      K=2
      END DO=2
      K=2
      END DO
      J=1
      END DO
      I=0
C
C     TEST WHETHER DO 10 WHILE CAN BE USED AS ARRAY ELEMENT
      I=0
      DO 20 WHILE (I.EQ.J)
      J=1
      DO 10 WHILE (I)=2
      J=1
      DO 10 WHILE =2
      J=1
      DO 10 WHILE (I.EQ.J)
      K=2
      DO 30 WHILE =2,3
      L=3
      DO 40 WHILE (I)=2,3
      M=4
   40 CONTINUE
      L=3
   30 CONTINUE
      K=2
      END DO=2
      K=2
   10 CONTINUE
      J=1
   20 CONTINUE
      I=0
      END
C     RENBR(IF2/MORE IF(EXPRES)THEN TESTS)/A5
C
C     TEST IF THEN CAN BE USED AS VARIABLE NAME
      I=0
      IF(A.EQ.B)THEN    !THIS IS A COMMENT
     1    !THIS ALSO IS A COMMENT
     2       ;J=1
      J=1
      IF(A.EQ.B)THEN   !THIS IS A COMMENT
     1       A
     2  ;J=1
      J=1
      IF(A.EQ.B)THEN!THIS IS A COMMENT
     1    !THIS ALSO IS A COMMENT
     12;J=1
      J=1
      IF(A.EQ.B)THEN!THIS IS A COMMENT
     1    !THIS ALSO IS A COMMENT
     1;K=2
      K=2;END IF=2;K=2;END IF;J=1
      J=1
      END IF
      I=0
C
C     TEST WHETHER DO WHILE CAN BE USED AS ARRAY ELEMENT
      I=0
      DO WHILE (I.EQ.J);J=1;DO WHILE (I)=2;J=1;DO
     1WHILE =2;J=1;DO
     2WHILE (I.EQ.J)!THIS COMMENT HAS AN = SIGN IN IT
      K=2;END DO=2;K=2;EN
     1D DO;J=1
      J=2;END DO
      I=0
C
C     TEST WHETHER DO 10 WHILE CAN BE USED AS ARRAY ELEMENT
      I=0
      DO 20 WHILE (I.EQ.J);J=1;DO 10 WHILE (I)=2;J=1;
     1DO 10 WHILE =2;J=1;DO 10 WHILE (I.EQ.J);K=2
      K=2
      DO 30 WHILE =2,3;L=3;DO 40 WHILE (I)=2,3;M=4
      M=4
   40 CONTINUE
      L=3
   30 CONTINUE;K=2;END DO!THIS IS A COMMENT
     1=2
      K=2
   10 CONTINUE
      J=1
   20 CONTINUE
      I=0
      END