Trailing-Edge
-
PDP-10 Archives
-
decuslib10-13
-
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