Google
 

Trailing-Edge - PDP-10 Archives - decuslib20-09 - decus/20-34/notabs.get
There are 3 other files named notabs.get 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 2
      GO TO IVALUE
      GO TO IVALUE,(2,2,2,2,2)
      GO TO (2,2,2,2,2),IVALUE
      GO TO IVALUE(2,2,2,2,2)
      GO TO (2,2,2,2,2)IVALUE
      GOTO2
      GOTOIVALUE
      GOTOIVALUE,(2,2,2,2,2)
      GOTO(2,2,2,2,2),IVALUE
      GOTOIVALUE(2,2,2,2,2)
      GOTO(2,2,2,2,2)IVALUE
C
C     GO TO STATMENTS WITH INDEX AN ARRAY ENTRY
      GO TO (2,2,2,2,2),IVALUE(48,48)
      GO TO (2,2,2,2,2)IVALUE(48,48)
      GOTO(2,2,2,2,2),IVALUE(48,48)
      GOTO(2,2,2,2,2)IVALUE(48,48)
C
C     GO TO STATEMENTS WITH INSERTED BLANKS
      G O T O IVALUE , ( 2 , 2 , 2 , 2 , 2 )
      G O T O ( 2 , 2 , 2 , 2 , 2 , 2 ) IVALUE
C
C     SIMILAR ARITHMETIC EXPRESSION
      GOTO48=48
      GOTO48=IVALUE
      GOTO48=IVALUE(48,48)
C
C     NUMBERED STATEMENTS
    1 CONTINUE
    2 CONTINUE
    3 CONTINUE
    4 CONTINUE
    5 CONTINUE
    6 CONTINUE
    7 CONTINUE
    8 CONTINUE
    9 CONTINUE
   10 CONTINUE
   11 CONTINUE
      END
      SUBROUTINE DO
C
C     DO LOOP WITH AND WITHOUT EXPRESSIONS AS LIMITS
      DO 2 IVALUE=48,48
      DO 2 IVALUE=48,48,48
      DO 2 IVALUE=IVALUE(48,48),IVALUE(48,48)
      DO 2 IVALUE=IVALUE(48,48),IVALUE(48,48),IVALUE(48,48)
      DO 2 IVALUE=IVALUE(48)+48,IVALUE(48)+48
      DO 2 IVALUE=IVALUE(48)+48,IVALUE(48)+48,IVALUE(48)+48
      DO 2,IVALUE=48,48
      DO 2,IVALUE=48,48,48
      DO 2,IVALUE=IVALUE(48,48),IVALUE(48,48)
      DO 2,IVALUE=IVALUE(48,48),IVALUE(48,48),IVALUE(48,48)
      DO 2,IVALUE=IVALUE(48)+48,IVALUE(48)+48
      DO 2,IVALUE=IVALUE(48)+48,IVALUE(48)+48,IVALUE(48)+48
C
C     DO LOOP WITH INDEX AN ARRAY ELEMENT
      DO 2 IVALUE(48,48)=48,48
      DO 2 IVALUE(48,48)=48,48,48
      DO 2 IVALUE(48,48)=IVALUE(48,48),IVALUE(48,48)
      DO 2 IVALUE(48,48)=IVALUE(48,48),IVALUE(48,48),IVALUE(48,48)
      DO 2 IVALUE(48,48)=IVALUE(48)+48,IVALUE(48)+48
      DO 2 IVALUE(48,48)=IVALUE(48)+48,IVALUE(48)+48,IVALUE(48)+48
      DO 2,IVALUE(48,48)=48,48
      DO 2,IVALUE(48,48)=48,48,48
      DO 2,IVALUE(48,48)=IVALUE(48,48),IVALUE(48,48)
      DO 2,IVALUE(48,48)=IVALUE(48,48),IVALUE(48,48),IVALUE(48,48)
      DO 2,IVALUE(48,48)=IVALUE(48)+48,IVALUE(48)+48
      DO 2,IVALUE(48,48)=IVALUE(48)+48,IVALUE(48)+48,IVALUE(48)+48
C
C     SAME DO LOOPS WITHOUT INTERNAL BLANKS
      DO2IVALUE=48,48
      DO2IVALUE=48,48,48
      DO2IVALUE=IVALUE(48,48),IVALUE(48,48)
      DO2IVALUE=IVALUE(48,48),IVALUE(48,48),IVALUE(48,48)
      DO2IVALUE=IVALUE(48)+48,IVALUE(48)+48
      DO2IVALUE=IVALUE(48)+48,IVALUE(48)+48,IVALUE(48)+48
      DO2IVALUE(48,48)=48,48
      DO2IVALUE(48,48)=48,48,48
      DO2IVALUE(48,48)=IVALUE(48,48),IVALUE(48,48)
      DO2IVALUE(48,48)=IVALUE(48,48),IVALUE(48,48),IVALUE(48,48)
      DO2IVALUE(48,48)=IVALUE(48)+48,IVALUE(48)+48
      DO2IVALUE(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
    1 CONTINUE
    2 CONTINUE
    3 CONTINUE
    4 CONTINUE
    5 CONTINUE
    6 CONTINUE
    7 CONTINUE
    8 CONTINUE
    9 CONTINUE
   10 CONTINUE
   11 CONTINUE
      END
      FUNCTION READ (IVALUE)
C
C     READ STATEMENTS WITHOUT VARIABLE LISTS
      READ 2
      READ(48)
      READ(48,2)
      READ(IVALUE,2)
      READ(48,IVALUE)
      READ(IVALUE,IVALUE)
      READ(48,2,END=2)
      READ(IVALUE,2,END=2)
      READ(48,IVALUE,END=2)
      READ(IVALUE,IVALUE,END=2)
      READ(48,2,ERR=2)
      READ(IVALUE,2,ERR=2)
      READ(48,IVALUE,ERR=2)
      READ(IVALUE,IVALUE,ERR=2)
      READ(48,2,END=2,ERR=2)
      READ(IVALUE,2,END=2,ERR=2)
      READ(48,IVALUE,END=2,ERR=2)
      READ(IVALUE,IVALUE,END=2,ERR=2)
      READ INPUT TAPE 48,2
      READ INPUT TAPE IVALUE,2
      READ INPUT TAPE 48,IVALUE
      READ INPUT TAPE IVALUE,IVALUE
C
C     READ STATEMENTS WITH VARIABLE LISTS
      READ 2(IVALUE(IVALUE),IVALUE=48,48)
      READ(48)(IVALUE(IVALUE),IVALUE=48,48)
      READ(48,2)(IVALUE(IVALUE),IVALUE=48,48)
      READ(IVALUE,2)(IVALUE(IVALUE),IVALUE=48,48)
      READ(48,IVALUE)(IVALUE(IVALUE),IVALUE=48,48)
      READ(IVALUE,IVALUE)(IVALUE(IVALUE),IVALUE=48,48)
      READ(48,2,END=2)(IVALUE(IVALUE),IVALUE=48,48)
      READ(IVALUE,2,END=2)(IVALUE(IVALUE),IVALUE=48,48)
      READ(48,IVALUE,END=2)(IVALUE(IVALUE),IVALUE=48,48)
      READ(IVALUE,IVALUE,END=2)(IVALUE(IVALUE),IVALUE=48,48)
      READ(48,2,ERR=2)(IVALUE(IVALUE),IVALUE=48,48)
      READ(IVALUE,2,ERR=2)(IVALUE(IVALUE),IVALUE=48,48)
      READ(48,IVALUE,ERR=2)(IVALUE(IVALUE),IVALUE=48,48)
      READ(IVALUE,IVALUE,ERR=2)(IVALUE(IVALUE),IVALUE=48,48)
      READ(48,2,END=2,ERR=2)(IVALUE(IVALUE),IVALUE=48,48)
      READ(IVALUE,2,END=2,ERR=2)(IVALUE(IVALUE),IVALUE=48,48)
      READ(48,IVALUE,END=2,ERR=2)(IVALUE(IVALUE),IVALUE=48,48)
      READ(IVALUE,IVALUE,END=2,ERR=2)(IVALUE(IVALUE),IVALUE=48,48)
      READ INPUT TAPE 48,2,(IVALUE(IVALUE),IVALUE=48,48)
      READ INPUT TAPE IVALUE,2,(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),2)(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),2,END=2,ERR=2)IVALUE(48,48)
      READ(48,IVALUE(48,48),END=2,ERR=2)IVALUE(48,48)
      READ(IVALUE(48,48),IVALUE(48,48),END=2,ERR=2)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
    1 CONTINUE
    2 CONTINUE
    3 CONTINUE
    4 CONTINUE
    5 CONTINUE
    6 CONTINUE
    7 CONTINUE
    8 CONTINUE
    9 CONTINUE
   10 CONTINUE
   11 CONTINUE
      END
      DOUBLE PRECISION FUNCTION WRITE
C
C     WRITE STATEMENTS WITHOUT VARIABLE LISTS
      WRITE 2
      WRITE(48)
      WRITE(48,2)
      WRITE(IVALUE,2)
      WRITE(48,IVALUE)
      WRITE(IVALUE,IVALUE)
      WRITE OUTPUT TAPE 48,2
      WRITE OUTPUT TAPE IVALUE,2
      WRITE OUTPUT TAPE 48,IVALUE
      WRITE OUTPUT TAPE IVALUE,IVALUE
C
C     WRITE STATEMENTS WITH VARIABLE LISTS
      WRITE 2(IVALUE(IVALUE),IVALUE=48,48)
      WRITE(48)(IVALUE(IVALUE),IVALUE=48,48)
      WRITE(48,2)(IVALUE(IVALUE),IVALUE=48,48)
      WRITE(IVALUE,2)(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,2,(IVALUE(IVALUE),IVALUE=48,48)
      WRITE OUTPUT TAPE IVALUE,2,(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),2)(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
    1 CONTINUE
    2 CONTINUE
    3 CONTINUE
    4 CONTINUE
    5 CONTINUE
    6 CONTINUE
    7 CONTINUE
    8 CONTINUE
    9 CONTINUE
   10 CONTINUE
   11 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,2
      READ INPUTTAPE48,2
      READ INPUTTAPE48,2
      R EAD INPUTTAPE48,2
      R  EAD INPUTTAPE48,2
      R   EAD INPUTTAPE48,2
      RE AD INPUTTAPE48,2
      RE  AD INPUTTAPE48,2
      RE   AD INPUTTAPE48,2
      REA D INPUTTAPE48,2
      REA  D INPUTTAPE48,2
      REA   D INPUTTAPE48,2
      READ  INPUTTAPE48,2
      READ   INPUTTAPE48,2
      READ    INPUTTAPE48,2
      READ I NPUTTAPE48,2
      READ I  NPUTTAPE48,2
      READ I   NPUTTAPE48,2
      READ IN PUTTAPE48,2
      READ IN  PUTTAPE48,2
      READ IN   PUTTAPE48,2
      READ INP UTTAPE48,2
      READ INP  UTTAPE48,2
      READ INP   UTTAPE48,2
      READ INPU TTAPE48,2
      READ INPU  TTAPE48,2
      READ INPU   TTAPE48,2
      READ INPUT TAPE48,2
      READ INPUT  TAPE48,2
      READ INPUT   TAPE48,2
      READ INPUTT APE48,2
      READ INPUTT  APE48,2
      READ INPUTT   APE48,2
      READ INPUTTA PE48,2
      READ INPUTTA  PE48,2
      READ INPUTTA   PE48,2
      READ INPUTTAP E48,2
      READ INPUTTAP  E48,2
      READ INPUTTAP   E48,2
      READ INPUTTAPE 48,2
      READ INPUTTAPE  48,2
      READ INPUTTAPE   48,2
      READ INPUTTAPE4 8,2
      READ INPUTTAPE4  8,2
      READ INPUTTAPE4   8,2
      READ INPUTTAPE48 ,2
      READ INPUTTAPE48  ,2
      READ INPUTTAPE48   ,2
      READ INPUTTAPE48, 2
      READ INPUTTAPE48,  2
      READ INPUTTAPE48,   2
      READ INPUTTAPE48,2
      READ INPUTTAPE48,2
      READ INPUTTAPE48,2
C
C     TEST ABILITY TO HAVE BLANKS WITHIN STATEMENT NUMBERS
      GO TO  (  2  , 2  ,  2  ),IVALUE
      IF(IVALUE)  2  ,  2  ,  2
C
C     NUMBERED STATEMENTS STATEMENTS
    1 CONTINUE
    2 CONTINUE
    3 CONTINUE
    4 CONTINUE
    5 CONTINUE
    6 CONTINUE
    7 CONTINUE
    8 CONTINUE
    9 CONTINUE
   10 CONTINUE
   11 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))2,2,2
      IF(48.EQ.IVALUE(48,48))GO TO 2
      IF(48.EQ.IVALUE(48,48))GO TO 48 = 48
      IF(48.EQ.IVALUE(48,48))READ(48,2,END=2,ERR=2)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 2
      IF(48.EQ.IVALUE(48,48))IF(48-IVALUE(48,48))2,2,2
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
    1 CONTINUE
    2 CONTINUE
    3 CONTINUE
    4 CONTINUE
    5 CONTINUE
    6 CONTINUE
    7 CONTINUE
    8 CONTINUE
    9 CONTINUE
   10 CONTINUE
   11 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
     22
     3I
     4=
     548
     6,
     748
      G
     1O
     2 
     3T
     4O
     5 
     62
C
C     NUMBERED STATEMENTS
    1 CONTINUE
    2 CONTINUE
    3 CONTINUE
    4 CONTINUE
    5 CONTINUE
    6 CONTINUE
    7 CONTINUE
    8 CONTINUE
    9 CONTINUE
   10 CONTINUE
   11 CONTINUE
      END
C
C     ASSORTED STATEMENT TYPES WHICH REQUIRE RENUMBERING
      ACCEPT 2
      ACCEPT 2,(IVALUE(IVALUE),IVALUE=48,48)
      ACCEPT IVALUE,(IVALUE(IVALUE),IVALUE=48,48)
      ACCEPT IVALUE(48,48),(IVALUE(IVALUE),IVALUE=48,48)
      TYPE 2
      TYPE 2,(IVALUE(IVALUE),IVALUE=48,48)
      TYPE IVALUE,(IVALUE(IVALUE),IVALUE=48,48)
      TYPE IVALUE(48,48),(IVALUE(IVALUE),IVALUE=48,48)
      REREAD 2
      REREAD 2,(IVALUE(IVALUE),IVALUE=48,48)
      REREAD IVALUE,(IVALUE(IVALUE),IVALUE=48,48)
      REREAD IVALUE(48,48),(IVALUE(IVALUE),IVALUE=48,48)
      PRINT 2
      PRINT 2,(IVALUE(IVALUE),IVALUE=48,48)
      PRINT IVALUE,(IVALUE(IVALUE),IVALUE=48,48)
      PRINT IVALUE(48,48),(IVALUE(IVALUE),IVALUE=48,48)
      PUNCH 2
      PUNCH 2,(IVALUE(IVALUE),IVALUE=48,48)
      PUNCH IVALUE,(IVALUE(IVALUE),IVALUE=48,48)
      PUNCH IVALUE(48,48),(IVALUE(IVALUE),IVALUE=48,48)
      DECODE(48,2,IVALUE(48,48))IVALUE(48,48)
      DECODE(IVALUE(48,48),2,IVALUE(48,48))IVALUE(48,48)
      DECODE(48,IVALUE(48,48),IVALUE(48,48))IVALUE(48,48)
      DECODE(48,2,IVALUE(48,48),ERR=2)IVALUE(48,48)
      DECODE(IVALUE(48,48),2,IVALUE(48,48),ERR=2)IVALUE(48,48)
      DECODE(48,IVALUE(48,48),IVALUE(48,48),ERR=2)IVALUE(48,48)
      DECODE(IVALUE(48,48),IVALUE(48,48),IVALUE(48,48))IVALUE(48,48)
      ENCODE(48,2,IVALUE(48,48))IVALUE(48,48)
      ENCODE(IVALUE(48,48),2,IVALUE(48,48))IVALUE(48,48)
      ENCODE(48,IVALUE(48,48),IVALUE(48,48))IVALUE(48,48)
      ENCODE(48,2,IVALUE(48,48),ERR=2)IVALUE(48,48)
      ENCODE(IVALUE(48,48),2,IVALUE(48,48),ERR=2)IVALUE(48,48)
      ENCODE(48,IVALUE(48,48),IVALUE(48,48),ERR=2)IVALUE(48,48)
      ENCODE(IVALUE(48,48),IVALUE(48,48),IVALUE(48,48))IVALUE(48,48)
      ASSIGN 2 TO IVALUE
      ASSIGN 2 TO IVALUE(48,48)
      IF QUOTIENT OVERFLOW 2,2,2
      IF DIVIDE CHECK 2,2,2
      IF ACCUMULATOR OVERFLOW 2,2,2
C
C     STATEMENTS CONTAINING VARIABLE TYPE DESIGNATION IN
C     LEFT COLUMN
B     GO TO 2
D     IF(IVALUE)2,2,2
I     ASSIGN 2 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,*2,IVALUE(48,48),*2)
      CALL IVALUE( * 2, 48, 48, 48, *2)
      CALL IVALUE( 48, 48, * 2, 48, 48)
      CALL IVALUE(IVALUE,$2,IVALUE(48,48),$2)
      CALL IVALUE( $ 2, 48, 48, 48, $2)
      CALL IVALUE( 48, 48, $ 2, 48, 48)
      CALL IVALUE(IVALUE,&2,IVALUE(48,48),&2)
      CALL IVALUE( & 2, 48, 48, 48, &2)
      CALL IVALUE( 48, 48, & 2, 48, 48)
C
C     NUMBERED STATEMENTS
B   1 CONTINUE
D   2 CONTINUE
I   3 CONTINUE
B   4 CONTINUE
D   5 CONTINUE
I   6 CONTINUE
B   7 CONTINUE
D   8 CONTINUE
I   9 CONTINUE
B  10 CONTINUE
D  11 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 2
      IF(IVALUE.EQ.1H))GO TO 2
      IF(IVALUE.EQ.15H((((((((((((((()GO TO 2
      IF(IVALUE.EQ.'(((((((((((((((')GO TO 2
      IF ( IVALUE . E Q . ' ( ( ' ' ( ( ' ) GO TO 2
      CALL IVALUE(',*48,',5H,*48,,4H,*48,*2)
      CALL IVALUE(',&48,',5H,&48,,4H,&48,&2)
      CALL IVALUE(',$48,',5H,$48,,4H,$48,$2)
      CALL IVALUE ( ' , * 48, ' ' , * 48 , ' , * 2 )
      CALL IVALUE ( ' , & 48, ' ' , & 48 , ' , & 2 )
      CALL IVALUE ( ' , $ 48, ' ' , $ 48 , ' , $ 2 )
      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     )2,2,2
      IF(IVALUE.EQ.  10HABCDE     )2,2,2
      IF(IVALUE.EQ.  10HABCDE       )2,2,2
      IVALUE=5HABC
      IF(IVALUE.EQ.5HABC  )2,2,2
      IF(IVALUE.EQ.5HABC    )2,2,2
      IF(IVALUE.EQ.  5HABC    )2,2,2
      IVALUE='ABC'
      IF(IVALUE.EQ.'ABC')2,2,2
      IF(IVALUE.EQ.'ABC'  )2,2,2
      IF(IVALUE.EQ.  'ABC'  )2,2,2
      IVALUE='ABC''D'
      IF(IVALUE.EQ.'ABC''D')2,2,2
      IF(IVALUE.EQ.'ABC''D'  )2,2,2
      IF(IVALUE.EQ.  'ABC''D'  )2,2,2
      IVALUE='ABC''DEF'
      IF(IVALUE.EQ.'ABC''DEF')2,2,2
      IF(IVALUE.EQ.  'ABC''DEF')2,2,2
      IF(IVALUE.EQ.  'ABC''DEF'  )2,2,2
      IVALUE='ABC''DEF''GHI'
      IF(IVALUE.EQ.'ABC''DEF''GHI')2,2,2
      IF(IVALUE.EQ.  'ABC''DEF''GHI')2,2,2
      IF(IVALUE.EQ.  'ABC''DEF''GHI'  )2,2,2
C
C     NUMBERED STATEMENTS
    1 CONTINUE
    2 CONTINUE
    3 CONTINUE
    4 CONTINUE
    5 CONTINUE
    6 CONTINUE
    7 CONTINUE
    8 CONTINUE
    9 CONTINUE
   10 CONTINUE
   11 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(1,1,1,
     111,11,11,
     24,4,4),
     3I
      GO TO(1,1,1
     1,11,11,11
     2,4,4,4),
     3I
      GO TO(1,1,1
     1  ,11,11,11,4
     2  ,4,4),
     3I
      GO TO(1,1,1,
     1  11,11,11,
     2   4,4,4),
     3    I
      GO TO(1,1,1
     1  ,11,11,11
     2   ,4,4,4),
     3    I
      GO TO(1,1,1
     1    ,11,11,11,4
     2     ,4,4),
     3    I
C
C     LONG STATEMENTS TO INSURE ADDITION AT PROPER BREAK
C     12345678/012345678/012345678/012345678/012345678/012345678/0123456
      WRITE(5,1)IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,ABCD
     1EF,GHIJKL
C     12345678/012345678/012345678/012345678/012345678/012345678/0123456
      WRITE(5,11)IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,ABCDEF
     1,GHIJKL,MNOPQR,STUVWX,YZABCD,EFGHIJ,KLMNOP,QRSTUV,WXYZAB,CDEFGH,IJ
     2KLMN,OPQRST,UVWXYZ
C     12345678/012345678/012345678/012345678/012345678/012345678/0123456
      WRITE(5,11)IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,ABCDEF
     1,GHIJKL,MNOPQR,STUVWX,YZABCD,EFGHIJ,KLMNOP,QRSTUV,WXYZAB,CDEFGH,IJ
     2K LMN,OPQRST,UVWXYZ
C
C     STATEMENTS STRUNG OUT OVER SEVERAL LINES
      GO TO(10
     1     ,
     2     10
     3     ),
     4     I
C
C     NUMBERED STATEMENTS
    1 CONTINUE
    2 CONTINUE
    3 CONTINUE
    4 CONTINUE
    5 CONTINUE
    6 CONTINUE
    7 CONTINUE
    8 CONTINUE
    9 CONTINUE
   10 CONTINUE
   11 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,2)READ(10,10)
      READ(10#10,2)READ(10,10)
      READ(AA'BB,2)READ(10,10)
      READ(AA#BB,2)READ(10,10)
      READ(10'10,2,ERR=2,END=2)READ(10,10)
      READ(10#10,2,ERR=2,END=2)READ(10,10)
      READ(AA'BB,2,ERR=2,END=2)READ(10,10)
      READ(AA#BB,2,ERR=2,END=2)READ(10,10)
      READ( 10 ' 10 ,2)READ(10,10)
      READ( 10 # 10 ,2)READ(10,10)
      READ( AA ' BB ,2)READ(10,10)
      READ( AA # BB ,2)READ(10,10)
      READ( 10 ' 10 ,2,ERR=2,END=2)READ(10,10)
      READ( 10 # 10 ,2,ERR=2,END=2)READ(10,10)
      READ( AA ' BB ,2,ERR=2,END=2)READ(10,10)
      READ( AA # BB ,2,ERR=2,END=2)READ(10,10)
      READ(5HCC'DD,2)READ(10,10)
      READ('CC#DD',2)READ(10,10)
      READ(5HCC#DD,2)READ(10,10)
      READ(5HCC'DD,2,END=2,ERR=2)READ(10,10)
      READ('CC#DD',2,END=2,ERR=2)READ(10,10)
      READ(5HCC#DD,2,END=2,ERR=2)READ(10,10)
      READ(AA',2,END=2,ERR=2)READ(10,10)
      READ(#AA,2,END=2,ERR=2)READ(10,10)
      READ(AA#,2,END=2,ERR=2)READ(10,10)
      READ(#,2,END=2,ERR=2)READ(10,10)
C
C     WRITE STATEMENTS WITH RANDOM I/O
      WRITE(10'10,2)WRITE(10,10)
      WRITE(10#10,2)WRITE(10,10)
      WRITE(AA'BB,2)WRITE(10,10)
      WRITE(AA#BB,2)WRITE(10,10)
      WRITE( 10 ' 10 ,2)WRITE(10,10)
      WRITE( 10 # 10 ,2)WRITE(10,10)
      WRITE( AA ' BB ,2)WRITE(10,10)
      WRITE( AA # BB ,2)WRITE(10,10)
      WRITE(5HCC'DD,2)WRITE(10,10)
      WRITE('CC#DD',2)WRITE(10,10)
      WRITE(5HCC#DD,2)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
    1 CONTINUE
    2 CONTINUE
    3 CONTINUE
    4 CONTINUE
    5 CONTINUE
    6 CONTINUE
    7 CONTINUE
    8 CONTINUE
    9 CONTINUE
   10 CONTINUE
   11 CONTINUE
      E    N    D
      IF( A.EQ. '48)GO TO 48')GO TO 2
      IF( A. EQ .11H48)GO TO 48)GO TO 2
      IF ( A. E Q.  1  1  H48)GO TO 48)GO TO 2
      IF(A.EQ. 1 1 H48)GO TO 48)GO TO 2
      IF(A.EQ.011H48)GO TO 48)GO TO 2
      IF(A.EQ. 0 1 1 H48)GO TO 48)GO TO 2
C
C     NUMBERED STATEMENTS
    1 CONTINUE
    2 CONTINUE
    3 CONTINUE
    4 CONTINUE
    5 CONTINUE
    6 CONTINUE
    7 CONTINUE
    8 CONTINUE
    9 CONTINUE
   10 CONTINUE
   11 CONTINUE
      END
      SUBROUTINE O                         N                           E
C             THIS ROUTINE TEST REJECTION OF CARD IDENTIFICATION COLUMNS
C2345678/012345678/012345678/012345678/012345678/012345678/012345678/012
C00000000111111111122222222223333333333444444444455555555556666666666777
      G                                                                O
     1T                                                                O
     22
      G                                                               O
     1T                                                               O
     22
      G                                                              O
     1T                                                              O
     22
      G                                                             O
     1T                                                             O
     22
    1 CONTINUE
    2 CONTINUE
    3 CONTINUE
    4 CONTINUE
    5 CONTINUE
    6 CONTINUE
    7 CONTINUE
    8 CONTINUE
    9 CONTINUE
   10 CONTINUE
   11 CONTINUE
      E                               N                                D
      FUNCTION FOR-II
      ACCEPT 2,I 48,(I 48(I),I=1,48)
      ACCEPT TAPE 2,I 48,(I 48(I),I=1,48)
      ASSIGN 2 TO I 48
      DO 2 I=48,48,48
      FREQUENCY 2(48),2,2(48,48),2(48,48,48)
      GO TO 2
      GO TO I 48
      GO TO I 48,(2,2)
      GO TO(2,2),I 48
      IF(48)2,2,2
      IF ACCUMULATOR OVERFLOW 2,2
      IF DIVIDE CHECK 2,2
      IF QUOTIENT OVERFLOW 2,2
      PRINT 2,I 48,(I 48(I),I=1,48)
      PUNCH 2,I 48,(I 48(I),I=1,48)
      PUNCH TAPE 2,I 48,(I 48(I),I=1,48)
      READ 2,I 48,(I 48(I),I=1,48)
      READ INPUT TAPE 48,2,I 48,(I 48(I),I=1,48)
      TYPE 2,I 48,(I 48(I),I=1,48)
      WRITE OUTPUT TAPE 48,2,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)
    1 CONTINUE
    2 CONTINUE
    3 CONTINUE
    4 CONTINUE
    5 CONTINUE
    6 CONTINUE
    7 CONTINUE
    8 CONTINUE
    9 CONTINUE
   10 CONTINUE
   11 CONTINUE
      END
      FUNCTION FOR-IV
      IF(I 48)GO TO 2
      READ(48,2)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=2,ERR=2)I 48,(I 48(I),I=1,48)
      READ(48,2,END=2,ERR=2)I 48,(I 48(I),I=1,48)
      WRITE(48,2)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 2,I 48,(I 48(I),I=1,48)
      READ 2
      READ(48#48,2)I 48,(I 48(I),I=1,48)
      READ(48#48)I 48,(I 48(I),I=1,48)
      WRITE 2,I 48,(I 48(I),I=1,48)
      WRITE 2
      WRITE(48#48,2)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 2,I 48,(I 48(I),I=1,48)
      FIND(48#48)
      ACCEPT 2,I 48,(I 48(I),I=1,48)
      ACCEPT 2
      PRINT 2,I 48,(I 48(I),I=1,48)
      PRINT 2
      PUNCH 2,I 48,(I 48(I),I=1,48)
      PUNCH 2
      TYPE 2,I 48,(I 48(I),I=1,48)
      TYPE 2
      OPEN(UNIT=48,ERR=2,DEVICE=48)
      CLOSE(UNIT=48,ERR=2,DEVICE=48)
      ENCODE(48,2,I 48)I 48,(I 48(I),I=1,48)
      DECODE(48,2,I 48)I 48,(I 48(I),I=1,48)
      ENCODE(48,2,I 48,ERR=2)I 48,(I 48(I),I=1,48)
      DECODE(48,2,I 48,ERR=2)I 48,(I 48(I),I=1,48)
    1 CONTINUE
    2 CONTINUE
    3 CONTINUE
    4 CONTINUE
    5 CONTINUE
    6 CONTINUE
    7 CONTINUE
    8 CONTINUE
    9 CONTINUE
   10 CONTINUE
   11 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.
CRENBRI5B3O34O50
C     FIRST STATEMENT SHOULD BE 3
    3 GO TO 8
    8 GO TO 18
   13 GO TO 103
   18 GO TO 113
   23 GO TO 158
C     NEXT STATEMENT SHOULD BE 53
   53 GO TO 168
C     NEXT STATEMENT SHOULD BE 103
  103 CONTINUE
  108 CONTINUE
  113 CONTINUE
  118 CONTINUE
  123 CONTINUE
C     NEXT STATEMENT SHOULD BE 153
  153 CONTINUE
  158 CONTINUE
  163 CONTINUE
  168 CONTINUE
  173 CONTINUE
      END
      SUBROUTINE MIDDLE
C     FIRST STATEMENT SHOULD BE 8
    8 GO TO 13
   13 GO TO 23
   18 GO TO 103
   23 GO TO 113
   28 GO TO 158
C     NEXT STATEMENT SHOULD BE 53
   53 GO TO 168
C     NEXT STATEMENT SHOULD BE 103
  103 CONTINUE
  108 CONTINUE
  113 CONTINUE
  118 CONTINUE
  123 CONTINUE
C     NEXT STATEMENT SHOULD BE 153
C R E N B R / I : 5 B 8 O 34 O 50
  153 CONTINUE
  158 CONTINUE
  163 CONTINUE
  168 CONTINUE
  173 CONTINUE
      END
      SUBROUTINE REVERSE
C     FIRST STATEMENT SHOULD BE 173
  173 GO TO 168
  168 GO TO 158
  163 GO TO 103
  158 GO TO 68
  153 GO TO 58
C     ABOVE STATEMENT SHOULD BE 153 AND BELOW 103
  103 GO TO 18
C     ABOVE STATEMENT SHOULD BE 103 AND BELOW 73
   73 GO TO 8
   68 CONTINUE
   63 CONTINUE
   58 CONTINUE
   53 CONTINUE
C     ABOVE STATEMENT SHOULD BE 53 AND BELOW 23
   23 CONTINUE
   18 CONTINUE
   13 CONTINUE
    8 CONTINUE
C R E N B R / I : -5 B 8 O 34 O 50
      END
      FUNCTION MULTPL;ACCEPT 2,I 48,(I 48(I),I=1,48);ACCEPT TAPE 2,I 4
     18,(I 48(I),I=1,48);ASSIGN 2 TO I 48;DO 2 I=48,48,48;FREQUENCY 2
     2(48),2,2(48,48),2(48,48,48);GO TO 2;GO TO I 48;GO TO I 48,(2,
     32);GO TO(2,2),I 48;IF(48)2,2,2;IF ACCUMULATOR OVERFLOW 2,2
     4;IF DIVIDE CHECK 2,2;IF QUOTIENT OVERFLOW 2,2;PRINT 2,I 48,(I
     5 48(I),I=1,48);PUNCH 2,I 48,(I 48(I),I=1,48);PUNCH TAPE 2,I 48,(
     6I 48(I),I=1,48);READ 2,I 48,(I 48(I),I=1,48);READ INPUT TAPE 48,2
     7 ,I 48,(I 48(I),I=1,48);TYPE 2,I 48,(I 48(I),I=1,48);WRITE OUTPUT
     8 TAPE 48,2,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,(
     2I 48(I),I=1,48);IF(I 48)GO TO 2;READ(48,2)I 48,(I 48(I),I=1,48);
     3READ(48,I 48)I 48,(I 48(I),I=1,48);READ(48,I 48,END=2,ERR=2)I 48
     4,(I 48(I),I=1,48);READ(48,2,END=2,ERR=2)I 48,(I 48(I),I=1,48);W
     5RITE(48,2)I 48,(I 48(I),I=1,48);WRITE(48,I 48)I 48,(I 48(I),I=1,4
     68);WRITE(48)I 48,(I 48(I),I=1,48);READ(48)I 48,(I 48(I),I=1,48);RE
     7AD 2,I 48,(I 48(I),I=1,48);READ 2;READ(48#48,2)I 48,(I 48(I),I=
     81,48);READ(48#48)I 48,(I 48(I),I=1,48)
      WRITE 2,I 48,(I 48(I),I=1,48);WRITE 2;WRITE(48#48,2)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)
     2I 48,(I 48(I),I=1,48);REREAD 2,I 48,(I 48(I),I=1,48);FIND(48#48);
     3ACCEPT 2,I 48,(I 48(I),I=1,48);ACCEPT 2;PRINT 2,I 48,(I 48(I),I
     4=1,48);PRINT 2;PUNCH 2,I 48,(I 48(I),I=1,48);PUNCH 2;TYPE 2,I
     548,(I 48(I),I=1,48);TYPE 2;ENCODE(48,2,I 48)I 48,(I 48(I),I=1,48
     6);DECODE(48,2,I 48)I 48,(I 48(I),I=1,48)
    1 CONTINUE
    2 CONTINUE
    3 CONTINUE
    4 CONTINUE
    5 CONTINUE
    6 CONTINUE
    7 CONTINUE
    8 CONTINUE
    9 CONTINUE
   10 CONTINUE
   11 CONTINUE
      END
      FUNCTION COMENT;ACCEPT 2,I 48,(I 48(I),!COMMENT ONE 012345678/012
     1I=1,48);ACCEPT TAPE 2,I 48,(I 48(I),I=1!COMMENT TWO 012345678/012
     2,48);ASSIGN 2 TO I 48;DO 2 I=48,48,48;!COMMENT THREE 2345678/012
     3FREQUENCY 2(48),2,2(48,48),2(48,48,4!COMMENT FOUR 12345678/012
     48);GO TO 2;GO TO I 48;GO TO I 48,(2,2!COMMENT FIVE 12345678/012
     5);GO TO(2,2),I 48;IF(48)2,2,2;IF AC!COMMENT SIX 012345678/012
     6CUMULATOR OVERFLOW 2,2;IF DIVIDE CHECK!COMMENT SEVEN 2345678/012
     7 2,2;IF QUOTIENT OVERFLOW 2,2;PRINT !COMMENT EIGHT 2345678/012
     82,I 48,(I 48(I),I=1,48)!COMMENT NINE 5678/012345678/012345678/012
      PUNCH 2,I 48,(I 48(I),I=1,48);PUNCH TAP!COMMENT ONE 012345678/012
     1E 2,I 48,(I 48(I),I=1,48);READ 2,I 48,!COMMENT TWO 012345678/012
     2(I 48(I),I=1,48);READ INPUT TAPE 48,2,I!COMMENT THREE 2345678/012
     3 48,(I 48(I),I=1,48);TYPE 2,I 48,(I 48(!COMMENT FOUR 12345678/012
     4I),I=1,48);WRITE OUTPUT TAPE 48,2,I 48,!COMMENT FIVE 12345678/012
     5(I 48(I),I=1,48);READ DRUM 48,48,I 48,(I!COMMENT SIX 012345678/012
     6 48(I),I=1,48);READ TAPE 48,I 48,(I 48(I!COMMENT SEVEN 2345678/012
     7),I=1,48);WRITE DRUM 48,48,I 48,(I 48(I)!COMMENT EIGHT 2345678/012
     8,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 2;READ(48,2)I 48,(I 48(I),I=!COMMENT TWO 012345678/012
     21,48);READ(48,I 48)I 48,(I 48(I),I=1,48)!COMMENT THREE 2345678/012
     3;READ(48,I 48,END=2,ERR=2)I 48,(I 48(I!COMMENT FOUR 12345678/012
     4),I=1,48);READ(48,2,END=2,ERR=2)I 48,!COMMENT FIVE 12345678/012
     5(I 48(I),I=1,48);WRITE(48,2)I 48,(I 48(!COMMENT SIX 012345678/012
     6I),I=1,48);WRITE(48,I 48)I 48,(I 48(I),I!COMMENT SEVEN 2345678/012
     7=1,48);WRITE(48)I 48,(I 48(I),I=1,48);RE!COMMENT EIGHT 2345678/012
     8AD(48)I 48,(I 48(I),I=1,48)!COMMENT NINE 8/012345678/012345678/012
      READ 2,I 48,(I 48(I),I=1,48);READ 2;RE!COMMENT ONE 012345678/012
     1AD(48#48,2)I 48,(I 48(I),I=1,48);READ(4!COMMENT TWO 012345678/012
     28#48)I 48,(I 48(I),I=1,48);WRITE 2,I 48!COMMENT THREE 2345678/012
     3,(I 48(I),I=1,48); WRITE 2;WRITE(48#48,!COMMENT FOUR 12345678/012
     42)I48,(I 48(I),I=1,48);WRITE(48#48,I 48!COMMENT FIVE 12345678/012
     5)I 48,(I 48(I),I=1,48);READ(48#48,I 48)I!COMMENT SIX 012345678/012
     6 48,(I 48(I),I=1,48);REREAD 2,I 48,(I 4!COMMENT SEVEN 2345678/012
     78(I),I=1,48);FIND(48#48);ACCEPT 2,I 48,!COMMENT EIGHT 2345678/012
     8(I 48(I),I=1,48);ACCEPT 2!COMMENT NINE 78/012345678/012345678/012
      PRINT 2,I 48,(I 48(I),I=1,48);PRINT 2;!COMMENT ONE 012345678/012
     1PUNCH 2,I 48,(I 48(I),I=1,48);PUNCH 2;!COMMENT TWO 012345678/012
     2TYPE 2,I 48,(I 48(I),I=1,48);TYPE 2;EN!COMMENT THREE 2345678/012
     3CODE(48,2,I 48)I 48,(I 48(I),I=1,48);DE!COMMENT FOUR 12345678/012
     4CODE(48,2,I 48)I 48,(I 48(I),I=1,48)!COMMENT FIVE 8/012345678/012
    1 CONTINUE
    2 CONTINUE
    3 CONTINUE
    4 CONTINUE
    5 CONTINUE
    6 CONTINUE
    7 CONTINUE
    8 CONTINUE
    9 CONTINUE
   10 CONTINUE
   11 CONTINUE
      END
CRENBR(EXPAND/STATEMENTS WHICH EXPAND)B22I2200
      DO2222A=1,2,3;DO2222B=1,2,3;DO2222C=1,2,3;DO2222D=1,2,3;DO!COMMENT
     12222E=1,2,3;DO2222F=1,2,3;DO2222G=1,2,3;DO2222H=1,2,3;DO2222!MMENT
     2I=1,2,3;DO2222J=1,2,3;DO2222K=1,2,3;DO2222L=1,2,3;DO2222M=!COMMENT
     31,2,3;DO2222N=1,2,3;DO2222O=1,2,3;DO2222P=1,2,3;DO2222Q=1,!COMMENT
     42,3;DO2222R=1,2,3;DO2222S=1,2,3;DO2222T=1,2,3;DO2222U=1,2,!COMMENT
     53;DO2222V=1,2,3;DO2222W=1,2,3;DO2222X=1,2,3;DO2222Y=1,2,3;!COMMENT
     6DO2222Z=1,2,3;DO2222A=1,2,3;DO2222B=1,2,3;DO2222C=1,2,3;DO!COMMENT
     72222D=1,2,3;DO2222E=1,2,3;DO2222F=1,2,3;DO2222G=1,2,3;DO2222!MMENT
     8H=1,2,3;DO2222I=1,2,3;DO2222J=1,2,3;DO2222K=1,2,3!         COMMENT
      DO2222AA=1,2,3;DO2222BB=1,2,3;DO2222CC=1,2,3;DO2222DD=1,2,!COMMENT
     13;DO2222EE=1,2,3;DO2222FF=1,2,3;DO2222GG=1,2,3;DO2222HH=1,!COMMENT
     22,3;DO2222II=1,2,3;DO2222JJ=1,2,3;DO2222KK=1,2,3;DO2222LL=!COMMENT
     31,2,3;DO2222MM=1,2,3;DO2222NN=1,2,3;DO2222OO=1,2,3;DO2222P!COMMENT
     4P=1,2,3;DO2222QQ=1,2,3;DO2222RR=1,2,3;DO2222SS=1,2,3;DO2222
     5 TT=1,2,3;DO2222UU=1,2,3;DO2222VV=1,2,3;DO2222WW=1,2,3;D!  COMMENT
     6O2222XX=1,2,3;DO2222YY=1,2,3;DO2222ZZ=1,2,3;DO2222AA=1,2,3!COMMENT
     7;DO2222BB=1,2,3;DO2222CC=1,2,3;DO2222DD=1,2,3;DO2222EE=1,2!COMMENT
     8,3;DO2222FF=1,2,3;DO2222GG=1,2,3;DO2222HH=1,2,3!           COMMENT
      IF(A)2222,2222,2222;IF(B)2222,2222,2222;IF(C)2222,2222,2222;IF(D)2
     1222,2222,2222;IF(E)2222,2222,2222;IF(F)2222,2222,2222;IF(G)2222,22
     222,2222;IF(H)2222,2222,2222;IF(I)2222,2222,2222;IF(J)2222,2222,222
     32;IF(K)2222,2222,2222;IF(L)2222,2222,2222;IF(M)2222,2222,2222;IF(N
     4)2222,2222,2222;IF(O)2222,2222,2222;IF(P)2222,2222,2222;IF(Q)2222,
     52222,2222;IF(R)2222,2222,2222;IF(S)2222,2222,2222;IF(T)2222,2222,2
     6222;IF(U)2222,2222,2222;IF(V)2222,2222,2222;IF(W)2222,2222,2222;IF
     7(X)2222,2222,2222;IF(Y)2222,2222,2222;IF(Z)2222,2222,2222;IF(A)222
     82,2222,2222;IF(B)2222,2222,2222;IF(C)2222,2222,2222!       COMMENT
      IF(AA)2222,2222,2222;IF(BB)2222,2222,2222;IF(CC)2222,2222,2222;IF(
     1DD)2222,2222,2222;IF(EE)2222,2222,2222;IF(FF)2222,2222,2222;IF(GG)
     22222,2222,2222;IF(HH)2222,2222,2222;IF(II)2222,2222,2222;IF(JJ)222
     32,2222,2222;IF(KK)2222,2222,2222;IF(LL)2222,2222,2222;IF(MM)2222,2
     4222,2222;IF(NN)2222,2222,2222;IF(OO)2222,2222,2222;IF(PP)2222,2222
     5,2222;IF(QQ)2222,2222,2222;IF(RR)2222,2222,2222;IF(SS)2222,2222,22
     622;IF(TT)2222,2222,2222;IF(UU)2222,2222,2222;IF(VV)2222,2222,2222;
     7IF(WW)2222,2222,2222;IF(XX)2222,2222,2222;IF(YY)2222,2222,2222;IF(
     8ZZ)2222,2222,2222;IF(AA)2222,2222,2222;IF(BB)2222,2222,2222!OMMENT
      GOTO2222;GOTO2222;GOTO2222;GOTO2222;GOTO2222;GOTO2222;GOTO2222;G!T
     1OTO2222;GOTO2222;GOTO2222;GOTO2222;GOTO2222;GOTO2222;GOTO2222;GO!T
     2TO2222;GOTO2222;GOTO2222;GOTO2222;GOTO2222;GOTO2222;GOTO2222;GOT!T
     3O2222;GOTO2222;GOTO2222;GOTO2222;GOTO2222;GOTO2222;GOTO2222;GOTO!T
     42222;GOTO2222;GOTO2222;GOTO2222;GOTO2222;GOTO2222;GOTO2222;GOTO222
     52;GOTO2222;GOTO2222;GOTO2222;GOTO2222;GOTO2222;GOTO2222;GOTO2222!T
     6;GOTO2222;GOTO2222;GOTO2222;GOTO2222;GOTO2222;GOTO2222;GOTO2222;!T
     7GOTO2222;GOTO2222;GOTO2222;GOTO2222;GOTO2222;GOTO2222;GOTO2222;G!T
     8OTO2222;GOTO2222;GOTO2222;GOTO2222;GOTO2222;GOTO2222;GOTO2222!MENT
      GOTO 2222;GOTO 2222;GOTO 2222;GOTO 2222;GOTO 2222;GOTO 2222;GO!ENT
     1TO 2222;GOTO 2222;GOTO 2222;GOTO 2222;GOTO 2222;GOTO 2222;GOTO!ENT
     2 2222;GOTO 2222;GOTO 2222;GOTO 2222;GOTO 2222;GOTO 2222;GOTO 2222
     3 ;GOTO 2222;GOTO 2222;GOTO 2222;GOTO 2222;GOTO 2222;GOTO 2222;!ENT
     4GOTO 2222;GOTO 2222;GOTO 2222;GOTO 2222;GOTO 2222;GOTO 2222;GO!ENT
     5TO 2222;GOTO 2222;GOTO 2222;GOTO 2222;GOTO 2222;GOTO 2222;GOTO!ENT
     6 2222;GOTO 2222;GOTO 2222;GOTO 2222;GOTO 2222;GOTO 2222;GOTO 2222
     7 ;GOTO 2222;GOTO 2222;GOTO 2222;GOTO 2222;GOTO 2222;GOTO 2222;!ENT
     8GOTO 2222;GOTO 2222;GOTO 2222;GOTO 2222;GOTO 2222;GOTO 2222!OMMENT
      DO22A=1,2,3;DO22B=1,2,3;DO22C=1,2,3;DO22D=1,2,3;DO!COMMENT
     122E=1,2,3;DO22F=1,2,3;DO22G=1,2,3;DO22H=1,2,3;DO22!MMENT
     2I=1,2,3;DO22J=1,2,3;DO22K=1,2,3;DO22L=1,2,3;DO22M=!COMMENT
     31,2,3;DO22N=1,2,3;DO22O=1,2,3;DO22P=1,2,3;DO22Q=1,!COMMENT
     42,3;DO22R=1,2,3;DO22S=1,2,3;DO22T=1,2,3;DO22U=1,2,!COMMENT
     53;DO22V=1,2,3;DO22W=1,2,3;DO22X=1,2,3;DO22Y=1,2,3;!COMMENT
     6DO22Z=1,2,3;DO22A=1,2,3;DO22B=1,2,3;DO22C=1,2,3;DO!COMMENT
     722D=1,2,3;DO22E=1,2,3;DO22F=1,2,3;DO22G=1,2,3;DO22!MMENT
     8H=1,2,3;DO22I=1,2,3;DO22J=1,2,3;DO22K=1,2,3!         COMMENT
      DO22AA=1,2,3;DO22BB=1,2,3;DO22CC=1,2,3;DO22DD=1,2,!COMMENT
     13;DO22EE=1,2,3;DO22FF=1,2,3;DO22GG=1,2,3;DO22HH=1,!COMMENT
     22,3;DO22II=1,2,3;DO22JJ=1,2,3;DO22KK=1,2,3;DO22LL=!COMMENT
     31,2,3;DO22MM=1,2,3;DO22NN=1,2,3;DO22OO=1,2,3;DO22P!COMMENT
     4P=1,2,3;DO22QQ=1,2,3;DO22RR=1,2,3;DO22SS=1,2,3;DO22
     5 TT=1,2,3;DO22UU=1,2,3;DO22VV=1,2,3;DO22WW=1,2,3;D!  COMMENT
     6O22XX=1,2,3;DO22YY=1,2,3;DO22ZZ=1,2,3;DO22AA=1,2,3!COMMENT
     7;DO22BB=1,2,3;DO22CC=1,2,3;DO22DD=1,2,3;DO22EE=1,2!COMMENT
     8,3;DO22FF=1,2,3;DO22GG=1,2,3;DO22HH=1,2,3!           COMMENT
      IF(A)22,22,22;IF(B)22,22,22;IF(C)22,22,22;IF(D)22
     1   ,22,22;IF(E)22,22,22;IF(F)22,22,22;IF(G)22,22
     2  ,22;IF(H)22,22,22;IF(I)22,22,22;IF(J)22,22,22
     3 ;IF(K)22,22,22;IF(L)22,22,22;IF(M)22,22,22;IF(N
     4)22,22,22;IF(O)22,22,22;IF(P)22,22,22;IF(Q)22,
     522,22;IF(R)22,22,22;IF(S)22,22,22;IF(T)22,22,22
     6   ;IF(U)22,22,22;IF(V)22,22,22;IF(W)22,22,22;IF
     7(X)22,22,22;IF(Y)22,22,22;IF(Z)22,22,22;IF(A)22
     8 ,22,22;IF(B)22,22,22;IF(C)22,22,22!       COMMENT
      IF(AA)22,22,22;IF(BB)22,22,22;IF(CC)22,22,22;IF(
     1DD)22,22,22;IF(EE)22,22,22;IF(FF)22,22,22;IF(GG)
     222,22,22;IF(HH)22,22,22;IF(II)22,22,22;IF(JJ)22
     3 ,22,22;IF(KK)22,22,22;IF(LL)22,22,22;IF(MM)22,22
     4   ,22;IF(NN)22,22,22;IF(OO)22,22,22;IF(PP)22,22
     5,22;IF(QQ)22,22,22;IF(RR)22,22,22;IF(SS)22,22,22
     6  ;IF(TT)22,22,22;IF(UU)22,22,22;IF(VV)22,22,22;
     7IF(WW)22,22,22;IF(XX)22,22,22;IF(YY)22,22,22;IF(
     8ZZ)22,22,22;IF(AA)22,22,22;IF(BB)22,22,22!OMMENT
      GOTO22;GOTO22;GOTO22;GOTO22;GOTO22;GOTO22;GOTO22;G!T
     1OTO22;GOTO22;GOTO22;GOTO22;GOTO22;GOTO22;GOTO22;GO!T
     2TO22;GOTO22;GOTO22;GOTO22;GOTO22;GOTO22;GOTO22;GOT!T
     3O22;GOTO22;GOTO22;GOTO22;GOTO22;GOTO22;GOTO22;GOTO!T
     422;GOTO22;GOTO22;GOTO22;GOTO22;GOTO22;GOTO22;GOTO22
     5 ;GOTO22;GOTO22;GOTO22;GOTO22;GOTO22;GOTO22;GOTO22!T
     6;GOTO22;GOTO22;GOTO22;GOTO22;GOTO22;GOTO22;GOTO22;!T
     7GOTO22;GOTO22;GOTO22;GOTO22;GOTO22;GOTO22;GOTO22;G!T
     8OTO22;GOTO22;GOTO22;GOTO22;GOTO22;GOTO22;GOTO22!MENT
      GOTO 22;GOTO 22;GOTO 22;GOTO 22;GOTO 22;GOTO 22;GO!ENT
     1TO 22;GOTO 22;GOTO 22;GOTO 22;GOTO 22;GOTO 22;GOTO!ENT
     2 22;GOTO 22;GOTO 22;GOTO 22;GOTO 22;GOTO 22;GOTO 22
     3 ;GOTO 22;GOTO 22;GOTO 22;GOTO 22;GOTO 22;GOTO 22;!ENT
     4GOTO 22;GOTO 22;GOTO 22;GOTO 22;GOTO 22;GOTO 22;GO!ENT
     5TO 22;GOTO 22;GOTO 22;GOTO 22;GOTO 22;GOTO 22;GOTO!ENT
     6 22;GOTO 22;GOTO 22;GOTO 22;GOTO 22;GOTO 22;GOTO 22
     7 ;GOTO 22;GOTO 22;GOTO 22;GOTO 22;GOTO 22;GOTO 22;!ENT
     8GOTO 22;GOTO 22;GOTO 22;GOTO 22;GOTO 22;GOTO 22!OMMENT
   22 CONTINUE
 2222 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=2);BACKFILE(48,ERR=2)
      BACKSPACE 48;BACKSPACE(ERR=2);BACKSPACE(48,ERR=2)
      ENDFILE 48;ENDFILE(ERR=2);ENDFILE(48,ERR=2)
      REWIND 48;REWIND(ERR=2);REWIND(48,ERR=2)
      SKIPFILE 48;SKIPFILE(ERR=2);SKIPFILE(48,ERR=2)
      SKIPRECORD 48;SKIPRECORD(ERR=2);SKIPRECORD(48,ERR=2)
      UNLOAD 48;UNLOAD(ERR=2);UNLOAD(48,ERR=2)
C
C     STATEMENTS IN WHICH FORMAT NUMBER IS RIGHT OF WORD
      ACCEPT 2;ACCEPT 2,48;ACCEPT(ERR=2)48
      PRINT 2;PRINT 2,48;PRINT(ERR=2)48
      PUNCH 2;PUNCH 2,48;PUNCH(ERR=2)48
      REREAD 2;REREAD 2,48;REREAD(ERR=2)48
      TYPE 2;TYPE 2,48;TYPE(ERR=2)48
C
C     STATEMENTS IN WHICH (NUMBER,NUMBER CAN FOLLOW WORD
      READ 2;READ 2,48;READ(ERR=2)48;READ(48,2,ERR=2)
      WRITE 2;WRITE 2,48;WRITE(ERR=2)48;WRITE(48,2,ERR=2)
C
C     STATEMENTS IN WHICH PARENTHESIS MUST FOLLOW WORD
      CLOSE(ERR=2)
      DECODE(48,2,48,ERR=2)48
      ENCODE(48,2,48,ERR=2)48
      FIND(ERR=2)
      INQUIRE(ERR=2)
      OPEN(ERR=2)
C
C     ALL POSSIBLE CLAUSES WHICH USE STATEMENT NUMBER
      READ(FMT=2,ERR=2,END=2,UNIT=48,IOSTAT=48)48
      READ(IOSTAT=48,UNIT=48,END=2,ERR=2,FMT=2)48
C
C     **************************************
C     *                                    *
C     *  TRY VARIATIONS OF EACH STATEMENT  *
C     *                                    *
C     **************************************
C
C     ACCEPT STATEMENTS
      ACCEPT(FMT=2,END=2,ERR=2,IOSTAT=48)
      ACCEPT(FMT=2,END=2,ERR=2,IOSTAT=48)48
      ACCEPT(FMT=*,END=2,ERR=2,IOSTAT=48)
      ACCEPT(FMT=*,END=2,ERR=2,IOSTAT=48)48
      ACCEPT 2
      ACCEPT 2,48
      ACCEPT *
      ACCEPT *,48
C
C     ASSIGN STATEMENT
      ASSIGN 2 TO 48
C
C     BACKFILE STATEMENTS
      BACKFILE 48
      BACKFILE(UNIT=48)
      BACKFILE(ERR=2)
      BACKFILE(UNIT=48,ERR=2)
      BACKFILE(ERR=2,UNIT=48)
      BACKFILE(UNIT=48,ERR=2,IOSTAT=48)
      BACKFILE(ERR=2,UNIT=48,IOSTAT=48)
      BACKFILE(UNIT=48,IOSTAT=48,ERR=2)
      BACKFILE(48,ERR=2)
      BACKFILE(48,IOSTAT=48)
      BACKFILE(48,IOSTAT=48,ERR=2)
      BACKFILE(48,ERR=2,IOSTAT=48)
C
C     BACKSPACE STATEMENTS
      BACKSPACE 48
      BACKSPACE(UNIT=48)
      BACKSPACE(ERR=2)
      BACKSPACE(UNIT=48,ERR=2)
      BACKSPACE(ERR=2,UNIT=48)
      BACKSPACE(UNIT=48,ERR=2,IOSTAT=48)
      BACKSPACE(ERR=2,UNIT=48,IOSTAT=48)
      BACKSPACE(UNIT=48,IOSTAT=48,ERR=2)
      BACKSPACE(48,ERR=2)
      BACKSPACE(48,IOSTAT=48)
      BACKSPACE(48,IOSTAT=48,ERR=2)
      BACKSPACE(48,ERR=2,IOSTAT=48)
C
C     CLOSE STATEMENTS
      CLOSE(UNIT=48,ERR=2)
      CLOSE(ERR=2,UNIT=48)
      CLOSE(48,ERR=2)
C
C     DECODE STATEMENTS
      DECODE(48,2,48)48
      DECODE(48,2,48)48
      DECODE(48,2,48,ERR=2)48
      DECODE(48,2,48,IOSTAT=48)48
      DECODE(48,2,48,ERR=2,IOSTAT=48)48
      DECODE(48,2,48,IOSTAT=48,ERR=2)48
C
C     DO STATEMENTS
      DO 2 I=48,48,48
      DO 2,I=48,48,48
C
C     ENCODE STATEMENTS
      ENCODE(48,2,48)48
      ENCODE(48,2,48)48
      ENCODE(48,2,48,ERR=2)48
      ENCODE(48,2,48,IOSTAT=48)48
      ENCODE(48,2,48,ERR=2,IOSTAT=48)48
      ENCODE(48,2,48,IOSTAT=48,ERR=2)48
C
C     ENDFILE STATEMENTS
      ENDFILE 48
      ENDFILE(UNIT=48,ERR=2,IOSTAT=48)
      ENDFILE(ERR=2,UNIT=48,IOSTAT=48)
      ENDFILE(48,ERR=2)
      ENDFILE(48,IOSTAT=48)
      ENDFILE(48,ERR=2,IOSTAT=48)
      ENDFILE(48,IOSTAT=48,ERR=2)
C
C     FIND STATEMENTS
      FIND(UNIT=48,REC=48,ERR=2,IOSTAT=48)
      FIND(IOSTAT=48,ERR=2,REC=48,UNIT=48)
      FIND(48,REC=48,ERR=2,IOSTAT=48)
      FIND(48,IOSTAT=48,ERR=2,REC=48)
      FIND(48'48,ERR=2,IOSTAT=48)
      FIND(48'48,IOSTAT=48,ERR=2)
C
C     INQUIRE STATEMENTS
      INQUIRE(UNIT=48,ERR=2,IOSTAT=48)
      INQUIRE(IOSTAT=48,ERR=2,UNIT=48)
C
C     OPEN STATEMENTS
      OPEN(UNIT=48,ERR=2)
      OPEN(ERR=2,UNIT=48)
      OPEN(48,ERR=2)
C
C     PRINT STATEMENTS
      PRINT(FMT=2,ERR=2,IOSTAT=48)48
      PRINT(ERR=2,FMT=2,IOSTAT=48)48
      PRINT(IOSTAT=48,ERR=2,FMT=2)48
      PRINT(IOSTAT=48,FMT=2,ERR=2)48
      PRINT(FMT=*,ERR=2,IOSTAT=48)48
      PRINT(IOSTAT=48,ERR=2,FMT=*)48
      PRINT(FMT=2)
      PRINT(ERR=2)
      PRINT(FMT=2,ERR=2)
      PRINT(ERR=2,FMT=2)
      PRINT 2,48
      PRINT *,48
      PRINT 2
C
C     PUNCH STATEMENTS
      PUNCH(FMT=2,ERR=2,IOSTAT=48)48
      PUNCH(ERR=2,FMT=2,IOSTAT=48)48
      PUNCH(IOSTAT=48,ERR=2,FMT=2)48
      PUNCH(IOSTAT=48,FMT=2,ERR=2)48
      PUNCH(FMT=*,ERR=2,IOSTAT=48)48
      PUNCH(IOSTAT=48,ERR=2,FMT=*)48
      PUNCH(FMT=2)
      PUNCH(ERR=2)
      PUNCH(FMT=2,ERR=2)
      PUNCH(ERR=2,FMT=2)
      PUNCH 2,48
      PUNCH *,48
      PUNCH 2
C
C     READ STATEMENTS
      READ(UNIT=48,FMT=2,REC=48,ERR=2,END=2,IOSTAT=48)48
      READ(IOSTAT=48,END=2,ERR=2,REC=48,FMT=2,UNIT=48)48
      READ(UNIT=*,FMT=2,REC=48,ERR=2,END=2,IOSTAT=48)48
      READ(IOSTAT=48,END=2,ERR=2,REC=48,FMT=2,UNIT=*)48
      READ(UNIT=48,FMT=*,REC=48,ERR=2,END=2,IOSTAT=48)48
      READ(IOSTAT=48,END=2,ERR=2,REC=48,FMT=*,UNIT=48)48
      READ(UNIT=*,FMT=*,REC=48,ERR=2,END=2,IOSTAT=48)48
      READ(IOSTAT=48,END=2,ERR=2,REC=48,FMT=*,UNIT=*)48
      READ(48,FMT=2,REC=48,ERR=2,END=2,IOSTAT=48)48
      READ(48,IOSTAT=48,END=2,ERR=2,REC=48,FMT=2)48
      READ(48,FMT=*,REC=48,ERR=2,END=2,IOSTAT=48)48
      READ(48,IOSTAT=48,END=2,ERR=2,REC=48,FMT=*)48
      READ(48,2,REC=48,ERR=2,END=2,IOSTAT=48)48
      READ(48,2,IOSTAT=48,END=2,ERR=2,REC=48)48
      READ(48'48,FMT=2,ERR=2,END=2,IOSTAT=48)48
      READ(48'48,IOSTAT=48,END=2,ERR=2,FMT=2)48
      READ(48'48,2,ERR=2,END=2,IOSTAT=48)48
      READ(48'48,2,IOSTAT=48,END=2,ERR=2)48
      READ 2,48
      READ *,48
      READ 2
C
C     REREAD STATEMENTS
      REREAD(FMT=2,ERR=2,IOSTAT=48)48
      REREAD(ERR=2,FMT=2,IOSTAT=48)48
      REREAD(IOSTAT=48,ERR=2,FMT=2)48
      REREAD(IOSTAT=48,FMT=2,ERR=2)48
      REREAD(FMT=*,ERR=2,IOSTAT=48)48
      REREAD(IOSTAT=48,ERR=2,FMT=*)48
      REREAD(FMT=2)
      REREAD(ERR=2)
      REREAD(FMT=2,ERR=2)
      REREAD(ERR=2,FMT=2)
      REREAD 2,48
      REREAD *,48
      REREAD 2
C
C     REWIND STATEMENTS
      REWIND 48
      REWIND(UNIT=48)
      REWIND(ERR=2)
      REWIND(UNIT=48,ERR=2)
      REWIND(ERR=2,UNIT=48)
      REWIND(UNIT=48,ERR=2,IOSTAT=48)
      REWIND(ERR=2,UNIT=48,IOSTAT=48)
      REWIND(UNIT=48,IOSTAT=48,ERR=2)
      REWIND(48,ERR=2)
      REWIND(48,IOSTAT=48)
      REWIND(48,IOSTAT=48,ERR=2)
      REWIND(48,ERR=2,IOSTAT=48)
C
C     SKIPFILE STATEMENTS
      SKIPFILE 48
      SKIPFILE(UNIT=48)
      SKIPFILE(ERR=2)
      SKIPFILE(UNIT=48,ERR=2)
      SKIPFILE(ERR=2,UNIT=48)
      SKIPFILE(UNIT=48,ERR=2,IOSTAT=48)
      SKIPFILE(ERR=2,UNIT=48,IOSTAT=48)
      SKIPFILE(UNIT=48,IOSTAT=48,ERR=2)
      SKIPFILE(48,ERR=2)
      SKIPFILE(48,IOSTAT=48)
      SKIPFILE(48,IOSTAT=48,ERR=2)
      SKIPFILE(48,ERR=2,IOSTAT=48)
C
C     SKIPRECORD STATEMENTS
      SKIPRECORD 48
      SKIPRECORD(UNIT=48)
      SKIPRECORD(ERR=2)
      SKIPRECORD(UNIT=48,ERR=2)
      SKIPRECORD(ERR=2,UNIT=48)
      SKIPRECORD(UNIT=48,ERR=2,IOSTAT=48)
      SKIPRECORD(ERR=2,UNIT=48,IOSTAT=48)
      SKIPRECORD(UNIT=48,IOSTAT=48,ERR=2)
      SKIPRECORD(48,ERR=2)
      SKIPRECORD(48,IOSTAT=48)
      SKIPRECORD(48,IOSTAT=48,ERR=2)
      SKIPRECORD(48,ERR=2,IOSTAT=48)
C
C     TYPE STATEMENTS
      TYPE(FMT=2,ERR=2,IOSTAT=48)48
      TYPE(ERR=2,FMT=2,IOSTAT=48)48
      TYPE(IOSTAT=48,ERR=2,FMT=2)48
      TYPE(IOSTAT=48,FMT=2,ERR=2)48
      TYPE(FMT=*,ERR=2,IOSTAT=48)48
      TYPE(IOSTAT=48,ERR=2,FMT=*)48
      TYPE(FMT=2)
      TYPE(ERR=2)
      TYPE(FMT=2,ERR=2)
      TYPE(ERR=2,FMT=2)
      TYPE 2,48
      TYPE *,48
      TYPE 2
C
C     UNLOAD STATEMENTS
      UNLOAD 48
      UNLOAD(UNIT=48)
      UNLOAD(ERR=2)
      UNLOAD(UNIT=48,ERR=2)
      UNLOAD(ERR=2,UNIT=48)
      UNLOAD(UNIT=48,ERR=2,IOSTAT=48)
      UNLOAD(ERR=2,UNIT=48,IOSTAT=48)
      UNLOAD(UNIT=48,IOSTAT=48,ERR=2)
      UNLOAD(48,ERR=2)
      UNLOAD(48,IOSTAT=48)
      UNLOAD(48,IOSTAT=48,ERR=2)
      UNLOAD(48,ERR=2,IOSTAT=48)
C
C     WRITE STATEMENTS
      WRITE(UNIT=48,FMT=2,REC=48,ERR=2,END=2,IOSTAT=48)48
      WRITE(IOSTAT=48,END=2,ERR=2,REC=48,FMT=2,UNIT=48)48
      WRITE(UNIT=*,FMT=2,REC=48,ERR=2,END=2,IOSTAT=48)48
      WRITE(IOSTAT=48,END=2,ERR=2,REC=48,FMT=2,UNIT=*)48
      WRITE(UNIT=48,FMT=*,REC=48,ERR=2,END=2,IOSTAT=48)48
      WRITE(IOSTAT=48,END=2,ERR=2,REC=48,FMT=*,UNIT=48)48
      WRITE(UNIT=*,FMT=*,REC=48,ERR=2,END=2,IOSTAT=48)48
      WRITE(IOSTAT=48,END=2,ERR=2,REC=48,FMT=*,UNIT=*)48
      WRITE(48,FMT=2,REC=48,ERR=2,END=2,IOSTAT=48)48
      WRITE(48,IOSTAT=48,END=2,ERR=2,REC=48,FMT=2)48
      WRITE(48,FMT=*,REC=48,ERR=2,END=2,IOSTAT=48)48
      WRITE(48,IOSTAT=48,END=2,ERR=2,REC=48,FMT=*)48
      WRITE(48,2,REC=48,ERR=2,END=2,IOSTAT=48)48
      WRITE(48,2,IOSTAT=48,END=2,ERR=2,REC=48)48
      WRITE(48'48,FMT=2,ERR=2,END=2,IOSTAT=48)48
      WRITE(48'48,IOSTAT=48,END=2,ERR=2,FMT=2)48
      WRITE(48'48,2,ERR=2,END=2,IOSTAT=48)48
      WRITE(48'48,2,IOSTAT=48,END=2,ERR=2)48
      WRITE 2,48
      WRITE *,48
      WRITE 2
C
C     NUMBERED STATEMENTS
    1 CONTINUE
    2 CONTINUE
    3 CONTINUE
    4 CONTINUE
    5 CONTINUE
    6 CONTINUE
    7 CONTINUE
    8 CONTINUE
    9 CONTINUE
   10 CONTINUE
   11 CONTINUE
      END
C     RENBR(PUNCT/CHECK RECOGNITION OF OPERATORS AND PUNCTUATION
      IF(I.GT.20H)GO TO 48;)GO TO 48;)GO TO 2;GO TO 2
      IF(I.GE.20H)GO TO 48;)GO TO 48;)GO TO 2;GO TO 2
      IF(I.LT.20H)GO TO 48;)GO TO 48;)GO TO 2;GO TO 2
      IF(I.LE.20H)GO TO 48;)GO TO 48;)GO TO 2;GO TO 2
      IF(I.EQ.20H)GO TO 48;)GO TO 48;)GO TO 2;GO TO 2
      IF(I.NE.20H)GO TO 48;)GO TO 48;)GO TO 2;GO TO 2
      IF(I.NOT.20H)GO TO 48;)GO TO 48;)GO TO 2;GO TO 2
      IF(I.AND.20H)GO TO 48;)GO TO 48;)GO TO 2;GO TO 2
      IF(I.OR.20H)GO TO 48;)GO TO 48;)GO TO 2;GO TO 2
      IF(I.XOR.20H)GO TO 48;)GO TO 48;)GO TO 2;GO TO 2
      IF(I.EQV.20H)GO TO 48;)GO TO 48;)GO TO 2;GO TO 2
      IF(I.NEQV.20H)GO TO 48;)GO TO 48;)GO TO 2;GO TO 2
C
      J.GT.17HGO TO 48;GO TO 48;GO TO 2;GO TO 2
      J.GE.17HGO TO 48;GO TO 48;GO TO 2;GO TO 2
      J.LT.17HGO TO 48;GO TO 48;GO TO 2;GO TO 2
      J.LE.17HGO TO 48;GO TO 48;GO TO 2;GO TO 2
      J.EQ.17HGO TO 48;GO TO 48;GO TO 2;GO TO 2
      J.NE.17HGO TO 48;GO TO 48;GO TO 2;GO TO 2
      J.NOT.17HGO TO 48;GO TO 48;GO TO 2;GO TO 2
      J.AND.17HGO TO 48;GO TO 48;GO TO 2;GO TO 2
      J.OR.17HGO TO 48;GO TO 48;GO TO 2;GO TO 2
      J.XOR.17HGO TO 48;GO TO 48;GO TO 2;GO TO 2
      J.EQV.17HGO TO 48;GO TO 48;GO TO 2;GO TO 2
      J.NEQV.17HGO TO 48;GO TO 48;GO TO 2;GO TO 2
C
C     OPERATORS REPRESENTED BY PUNCTUATION MARKS
      IF(I**20H)GO TO 48;)GO TO 48;)GO TO 2;GO TO 2
      IF(I^20H)GO TO 48;)GO TO 48;)GO TO 2;GO TO 2
      IF(I-20H)GO TO 48;)GO TO 48;)GO TO 2;GO TO 2
      IF(I+20H)GO TO 48;)GO TO 48;)GO TO 2;GO TO 2
      IF(I*20H)GO TO 48;)GO TO 48;)GO TO 2;GO TO 2
      IF(I/20H)GO TO 48;)GO TO 48;)GO TO 2;GO TO 2
      IF(I>20H)GO TO 48;)GO TO 48;)GO TO 2;GO TO 2
      IF(I>=20H)GO TO 48;)GO TO 48;)GO TO 2;GO TO 2
      IF(I<20H)GO TO 48;)GO TO 48;)GO TO 2;GO TO 2
      IF(I<=20H)GO TO 48;)GO TO 48;)GO TO 2;GO TO 2
      IF(I==20H)GO TO 48;)GO TO 48;)GO TO 2;GO TO 2
      IF(I#20H)GO TO 48;)GO TO 48;)GO TO 2;GO TO 2
C
      J**17HGO TO 48;GO TO 48;GO TO 2;GO TO 2
      J^17HGO TO 48;GO TO 48;GO TO 2;GO TO 2
      J-17HGO TO 48;GO TO 48;GO TO 2;GO TO 2
      J+17HGO TO 48;GO TO 48;GO TO 2;GO TO 2
      J*17HGO TO 48;GO TO 48;GO TO 2;GO TO 2
      J/17HGO TO 48;GO TO 48;GO TO 2;GO TO 2
      J>17HGO TO 48;GO TO 48;GO TO 2;GO TO 2
      J>=17HGO TO 48;GO TO 48;GO TO 2;GO TO 2
      J<17HGO TO 48;GO TO 48;GO TO 2;GO TO 2
      J<=17HGO TO 48;GO TO 48;GO TO 2;GO TO 2
      J==17HGO TO 48;GO TO 48;GO TO 2;GO TO 2
      J#17HGO TO 48;GO TO 48;GO TO 2;GO TO 2
C
C     OTHER PUNCTUATION MARKS THAT MUST BE RECOGNIZED
      IF(I=20H)GO TO 48;)GO TO 48;)GO TO 2;GO TO 2
      IF(I:20H)GO TO 48;)GO TO 48;)GO TO 2;GO TO 2
      IF(I,20H)GO TO 48;)GO TO 48;)GO TO 2;GO TO 2
      J=17HGO TO 48;GO TO 48;GO TO 2;GO TO 2
      J:17HGO TO 48;GO TO 48;GO TO 2;GO TO 2
      J,17HGO TO 48;GO TO 48;GO TO 2;GO TO 2
C
C     THE PARENTHESES THEMSELVES
      J(17HGO TO 48;GO TO 48;GO TO 2;GO TO 2
      J)17HGO TO 48;GO TO 48;GO TO 2;GO TO 2
C
C     NUMBERED STATEMENTS
    1 CONTINUE
    2 CONTINUE
    3 CONTINUE
    4 CONTINUE
    5 CONTINUE
    6 CONTINUE
    7 CONTINUE
    8 CONTINUE
    9 CONTINUE
   10 CONTINUE
   11 CONTINUE
      END
      PROGRAM NEWCOM
C     RENBR(/TEST COMMENT CHARACTERS FOR FORTRAN10)
C
      GO TO 2
D     GO TO 2
d     GO TO 2
C     GO TO 48
c     GO TO 48
*     GO TO 48
!     GO TO 48
$     GO TO 48
/     GO TO 48
C
C     NUMBERED STATEMENTS
    1 CONTINUE
    2 CONTINUE
    3 CONTINUE
    4 CONTINUE
    5 CONTINUE
    6 CONTINUE
    7 CONTINUE
    8 CONTINUE
    9 CONTINUE
   10 CONTINUE
   11 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=2)48
      ACCEPT(ERR=2)48
      ACCEPT(END=2)48
      ACCEPT(IOSTAT=48)48
      ACCEPT(FMT=2,ERR=2)48
      ACCEPT(FMT=2,END=2)48
      ACCEPT(FMT=2,IOSTAT=48)48
      ACCEPT(ERR=2,FMT=2)48
      ACCEPT(ERR=2,END=2)48
      ACCEPT(ERR=2,IOSTAT=48)48
      ACCEPT(END=2,FMT=2)48
      ACCEPT(END=2,ERR=2)48
      ACCEPT(END=2,IOSTAT=48)48
      ACCEPT(IOSTAT=48,FMT=2)48
      ACCEPT(IOSTAT=48,ERR=2)48
      ACCEPT(IOSTAT=48,END=2)48
      ACCEPT(FMT=2,ERR=2,END=2)48
      ACCEPT(FMT=2,ERR=2,IOSTAT=48)48
      ACCEPT(FMT=2,END=2,ERR=2)48
      ACCEPT(FMT=2,END=2,IOSTAT=48)48
      ACCEPT(FMT=2,IOSTAT=48,ERR=2)48
      ACCEPT(FMT=2,IOSTAT=48,END=2)48
      ACCEPT(ERR=2,FMT=2,END=2)48
      ACCEPT(ERR=2,FMT=2,IOSTAT=48)48
      ACCEPT(ERR=2,END=2,FMT=2)48
      ACCEPT(ERR=2,END=2,IOSTAT=48)48
      ACCEPT(ERR=2,IOSTAT=48,FMT=2)48
      ACCEPT(ERR=2,IOSTAT=48,END=2)48
      ACCEPT(END=2,FMT=2,ERR=2)48
      ACCEPT(END=2,FMT=2,IOSTAT=48)48
      ACCEPT(END=2,ERR=2,FMT=2)48
      ACCEPT(END=2,ERR=2,IOSTAT=48)48
      ACCEPT(END=2,IOSTAT=48,FMT=2)48
      ACCEPT(END=2,IOSTAT=48,ERR=2)48
      ACCEPT(IOSTAT=48,FMT=2,ERR=2)48
      ACCEPT(IOSTAT=48,FMT=2,END=2)48
      ACCEPT(IOSTAT=48,ERR=2,FMT=2)48
      ACCEPT(IOSTAT=48,ERR=2,END=2)48
      ACCEPT(IOSTAT=48,END=2,FMT=2)48
      ACCEPT(IOSTAT=48,END=2,ERR=2)48
      ACCEPT(FMT=2,ERR=2,END=2,IOSTAT=48)48
      ACCEPT(FMT=2,ERR=2,IOSTAT=48,END=2)48
      ACCEPT(FMT=2,END=2,ERR=2,IOSTAT=48)48
      ACCEPT(FMT=2,END=2,IOSTAT=48,ERR=2)48
      ACCEPT(FMT=2,IOSTAT=48,ERR=2,END=2)48
      ACCEPT(FMT=2,IOSTAT=48,END=2,ERR=2)48
      ACCEPT(ERR=2,FMT=2,END=2,IOSTAT=48)48
      ACCEPT(ERR=2,FMT=2,IOSTAT=48,END=2)48
      ACCEPT(ERR=2,END=2,FMT=2,IOSTAT=48)48
      ACCEPT(ERR=2,END=2,IOSTAT=48,FMT=2)48
      ACCEPT(ERR=2,IOSTAT=48,FMT=2,END=2)48
      ACCEPT(ERR=2,IOSTAT=48,END=2,FMT=2)48
      ACCEPT(END=2,FMT=2,ERR=2,IOSTAT=48)48
      ACCEPT(END=2,FMT=2,IOSTAT=48,ERR=2)48
      ACCEPT(END=2,ERR=2,FMT=2,IOSTAT=48)48
      ACCEPT(END=2,ERR=2,IOSTAT=48,FMT=2)48
      ACCEPT(END=2,IOSTAT=48,FMT=2,ERR=2)48
      ACCEPT(END=2,IOSTAT=48,ERR=2,FMT=2)48
      ACCEPT(IOSTAT=48,FMT=2,ERR=2,END=2)48
      ACCEPT(IOSTAT=48,FMT=2,END=2,ERR=2)48
      ACCEPT(IOSTAT=48,ERR=2,FMT=2,END=2)48
      ACCEPT(IOSTAT=48,ERR=2,END=2,FMT=2)48
      ACCEPT(IOSTAT=48,END=2,FMT=2,ERR=2)48
      ACCEPT(IOSTAT=48,END=2,ERR=2,FMT=2)48
C
C     NUMBERED STATEMENTS
    1 CONTINUE
    2 CONTINUE
    3 CONTINUE
    4 CONTINUE
    5 CONTINUE
    6 CONTINUE
    7 CONTINUE
    8 CONTINUE
    9 CONTINUE
   10 CONTINUE
   11 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=2)48
      ACCEPT(END=2)48
      ACCEPT(IOSTAT=48)48
      ACCEPT(FMT=*,ERR=2)48
      ACCEPT(FMT=*,END=2)48
      ACCEPT(FMT=*,IOSTAT=48)48
      ACCEPT(ERR=2,FMT=*)48
      ACCEPT(ERR=2,END=2)48
      ACCEPT(ERR=2,IOSTAT=48)48
      ACCEPT(END=2,FMT=*)48
      ACCEPT(END=2,ERR=2)48
      ACCEPT(END=2,IOSTAT=48)48
      ACCEPT(IOSTAT=48,FMT=*)48
      ACCEPT(IOSTAT=48,ERR=2)48
      ACCEPT(IOSTAT=48,END=2)48
      ACCEPT(FMT=*,ERR=2,END=2)48
      ACCEPT(FMT=*,ERR=2,IOSTAT=48)48
      ACCEPT(FMT=*,END=2,ERR=2)48
      ACCEPT(FMT=*,END=2,IOSTAT=48)48
      ACCEPT(FMT=*,IOSTAT=48,ERR=2)48
      ACCEPT(FMT=*,IOSTAT=48,END=2)48
      ACCEPT(ERR=2,FMT=*,END=2)48
      ACCEPT(ERR=2,FMT=*,IOSTAT=48)48
      ACCEPT(ERR=2,END=2,FMT=*)48
      ACCEPT(ERR=2,END=2,IOSTAT=48)48
      ACCEPT(ERR=2,IOSTAT=48,FMT=*)48
      ACCEPT(ERR=2,IOSTAT=48,END=2)48
      ACCEPT(END=2,FMT=*,ERR=2)48
      ACCEPT(END=2,FMT=*,IOSTAT=48)48
      ACCEPT(END=2,ERR=2,FMT=*)48
      ACCEPT(END=2,ERR=2,IOSTAT=48)48
      ACCEPT(END=2,IOSTAT=48,FMT=*)48
      ACCEPT(END=2,IOSTAT=48,ERR=2)48
      ACCEPT(IOSTAT=48,FMT=*,ERR=2)48
      ACCEPT(IOSTAT=48,FMT=*,END=2)48
      ACCEPT(IOSTAT=48,ERR=2,FMT=*)48
      ACCEPT(IOSTAT=48,ERR=2,END=2)48
      ACCEPT(IOSTAT=48,END=2,FMT=*)48
      ACCEPT(IOSTAT=48,END=2,ERR=2)48
      ACCEPT(FMT=*,ERR=2,END=2,IOSTAT=48)48
      ACCEPT(FMT=*,ERR=2,IOSTAT=48,END=2)48
      ACCEPT(FMT=*,END=2,ERR=2,IOSTAT=48)48
      ACCEPT(FMT=*,END=2,IOSTAT=48,ERR=2)48
      ACCEPT(FMT=*,IOSTAT=48,ERR=2,END=2)48
      ACCEPT(FMT=*,IOSTAT=48,END=2,ERR=2)48
      ACCEPT(ERR=2,FMT=*,END=2,IOSTAT=48)48
      ACCEPT(ERR=2,FMT=*,IOSTAT=48,END=2)48
      ACCEPT(ERR=2,END=2,FMT=*,IOSTAT=48)48
      ACCEPT(ERR=2,END=2,IOSTAT=48,FMT=*)48
      ACCEPT(ERR=2,IOSTAT=48,FMT=*,END=2)48
      ACCEPT(ERR=2,IOSTAT=48,END=2,FMT=*)48
      ACCEPT(END=2,FMT=*,ERR=2,IOSTAT=48)48
      ACCEPT(END=2,FMT=*,IOSTAT=48,ERR=2)48
      ACCEPT(END=2,ERR=2,FMT=*,IOSTAT=48)48
      ACCEPT(END=2,ERR=2,IOSTAT=48,FMT=*)48
      ACCEPT(END=2,IOSTAT=48,FMT=*,ERR=2)48
      ACCEPT(END=2,IOSTAT=48,ERR=2,FMT=*)48
      ACCEPT(IOSTAT=48,FMT=*,ERR=2,END=2)48
      ACCEPT(IOSTAT=48,FMT=*,END=2,ERR=2)48
      ACCEPT(IOSTAT=48,ERR=2,FMT=*,END=2)48
      ACCEPT(IOSTAT=48,ERR=2,END=2,FMT=*)48
      ACCEPT(IOSTAT=48,END=2,FMT=*,ERR=2)48
      ACCEPT(IOSTAT=48,END=2,ERR=2,FMT=*)48
C
C     NUMBERED STATEMENTS
    1 CONTINUE
    2 CONTINUE
    3 CONTINUE
    4 CONTINUE
    5 CONTINUE
    6 CONTINUE
    7 CONTINUE
    8 CONTINUE
    9 CONTINUE
   10 CONTINUE
   11 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 4 WHILE (I.EQ.J)
           J=1
           DO 10 WHILE (I)=2
           J=1
           DO 10 WHILE =2
           J=1
           DO 3 WHILE (I.EQ.J)
                K=2
                DO 2 WHILE =2,3
                     L=3
                     DO 1 WHILE (I)=2,3
                          M=4
    1                CONTINUE
                     L=3
    2           CONTINUE
                K=2
                END DO=2
                K=2
    3      CONTINUE
           J=1
    4 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
     22;J=1
           J=1
           IF(A.EQ.B)THEN!THIS IS A COMMENT
     1    !THIS ALSO IS A COMMENT
     2;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 4 WHILE (I.EQ.J);J=1;DO 10 WHILE (I)=2;J=1;
     1DO 10 WHILE =2;J=1;DO 3 WHILE (I.EQ.J);K=2
                K=2
                DO 2 WHILE =2,3;L=3;DO 1 WHILE (I)=2,3;M=4
                          M=4
    1                CONTINUE
                     L=3
    2           CONTINUE;K=2;END DO!THIS IS A COMMENT
     1=2
                K=2
    3      CONTINUE
           J=1
    4 CONTINUE
      I=0
      END