Trailing-Edge
-
PDP-10 Archives
-
decuslib10-13
-
notabs.try
There are 3 other files named notabs.try in the archive. Click here to see a list.
C THIS SET OF ROUTINES IS TEST DATA FOR THE FORTRAN
C RENUMBERING PROGRAM. THE NUMBER 48 IS USED WHERE A
C NUMBER IS NOT TO BE REPLACED AND THE NUMBER NINETY IS
C USED WHERE SYNTAX SHOWS IT TO BE A STATEMENT NUMBER.
C IF RENUMBERED WITH INITIAL STATEMENT NUMBER 1 AND
C INCREMENT ALSO 1, THEN THE STATEMENT NUMBER NINETY
C WILL BE CONVERTED TO STATEMENT NUMBER 2 AND THE DIGIT
C NINE SHOULD APPEAR ONLY IN THE STATEMENT NUMBER FIELD
C IN COLUMNS 1 THROUGHT 5. IF ANY OF THE 48'S ARE
C ERRONEOUSLY ASSUMED TO BE STATEMENT NUMBERS, THEN
C THESE WILL BE CONVERTED TO NINES. SOME OF THE TEST
C CASES ARE MEANT TO TEST SPACINGS AND WILL REQUIRE
C EXAMINATION OF THE LISTING OR RENUMBERED OUTPUT.
SUBROUTINE G O T O
C
C STANDARD GO TO STATEMENTS
GO TO 90
GO TO IVALUE
GO TO IVALUE,(90,90,90,90,90)
GO TO (90,90,90,90,90),IVALUE
GO TO IVALUE(90,90,90,90,90)
GO TO (90,90,90,90,90)IVALUE
GOTO90
GOTOIVALUE
GOTOIVALUE,(90,90,90,90,90)
GOTO(90,90,90,90,90),IVALUE
GOTOIVALUE(90,90,90,90,90)
GOTO(90,90,90,90,90)IVALUE
C
C GO TO STATMENTS WITH INDEX AN ARRAY ENTRY
GO TO (90,90,90,90,90),IVALUE(48,48)
GO TO (90,90,90,90,90)IVALUE(48,48)
GOTO(90,90,90,90,90),IVALUE(48,48)
GOTO(90,90,90,90,90)IVALUE(48,48)
C
C GO TO STATEMENTS WITH INSERTED BLANKS
G O T O IVALUE , ( 9 0 , 9 0 , 9 0 , 9 0 , 9 0 )
G O T O ( 9 0 , 9 0 , 9 0 , 9 0 , 9 0 , 9 0 ) IVALUE
C
C SIMILAR ARITHMETIC EXPRESSION
GOTO48=48
GOTO48=IVALUE
GOTO48=IVALUE(48,48)
C
C NUMBERED STATEMENTS
100 CONTINUE
90 CONTINUE
81 CONTINUE
73 CONTINUE
66 CONTINUE
60 CONTINUE
55 CONTINUE
51 CONTINUE
48 CONTINUE
46 CONTINUE
45 CONTINUE
END
SUBROUTINE DO
C
C DO LOOP WITH AND WITHOUT EXPRESSIONS AS LIMITS
DO 90 IVALUE=48,48
DO 90 IVALUE=48,48,48
DO 90 IVALUE=IVALUE(48,48),IVALUE(48,48)
DO 90 IVALUE=IVALUE(48,48),IVALUE(48,48),IVALUE(48,48)
DO 90 IVALUE=IVALUE(48)+48,IVALUE(48)+48
DO 90 IVALUE=IVALUE(48)+48,IVALUE(48)+48,IVALUE(48)+48
DO 90,IVALUE=48,48
DO 90,IVALUE=48,48,48
DO 90,IVALUE=IVALUE(48,48),IVALUE(48,48)
DO 90,IVALUE=IVALUE(48,48),IVALUE(48,48),IVALUE(48,48)
DO 90,IVALUE=IVALUE(48)+48,IVALUE(48)+48
DO 90,IVALUE=IVALUE(48)+48,IVALUE(48)+48,IVALUE(48)+48
C
C DO LOOP WITH INDEX AN ARRAY ELEMENT
DO 90 IVALUE(48,48)=48,48
DO 90 IVALUE(48,48)=48,48,48
DO 90 IVALUE(48,48)=IVALUE(48,48),IVALUE(48,48)
DO 90 IVALUE(48,48)=IVALUE(48,48),IVALUE(48,48),IVALUE(48,48)
DO 90 IVALUE(48,48)=IVALUE(48)+48,IVALUE(48)+48
DO 90 IVALUE(48,48)=IVALUE(48)+48,IVALUE(48)+48,IVALUE(48)+48
DO 90,IVALUE(48,48)=48,48
DO 90,IVALUE(48,48)=48,48,48
DO 90,IVALUE(48,48)=IVALUE(48,48),IVALUE(48,48)
DO 90,IVALUE(48,48)=IVALUE(48,48),IVALUE(48,48),IVALUE(48,48)
DO 90,IVALUE(48,48)=IVALUE(48)+48,IVALUE(48)+48
DO 90,IVALUE(48,48)=IVALUE(48)+48,IVALUE(48)+48,IVALUE(48)+48
C
C SAME DO LOOPS WITHOUT INTERNAL BLANKS
DO90IVALUE=48,48
DO90IVALUE=48,48,48
DO90IVALUE=IVALUE(48,48),IVALUE(48,48)
DO90IVALUE=IVALUE(48,48),IVALUE(48,48),IVALUE(48,48)
DO90IVALUE=IVALUE(48)+48,IVALUE(48)+48
DO90IVALUE=IVALUE(48)+48,IVALUE(48)+48,IVALUE(48)+48
DO90IVALUE(48,48)=48,48
DO90IVALUE(48,48)=48,48,48
DO90IVALUE(48,48)=IVALUE(48,48),IVALUE(48,48)
DO90IVALUE(48,48)=IVALUE(48,48),IVALUE(48,48),IVALUE(48,48)
DO90IVALUE(48,48)=IVALUE(48)+48,IVALUE(48)+48
DO90IVALUE(48,48)=IVALUE(48)+48,IVALUE(48)+48,IVALUE(48)+48
C
C SIMILAR ARITHMETIC EXPRESSIONS
DO48IV=48
DO48IV=IVALUE(48,48)
DO48IV=IVALUE(48,48)+48
DO48IV(48,48)=48
DO48IV(48,48)=IVALUE(48,48)
DO48IV(48,48)=IVALUE(48,48)+48
C
C NUMBERED STATEMENTS
100 CONTINUE
90 CONTINUE
81 CONTINUE
73 CONTINUE
66 CONTINUE
60 CONTINUE
55 CONTINUE
51 CONTINUE
48 CONTINUE
46 CONTINUE
45 CONTINUE
END
FUNCTION READ (IVALUE)
C
C READ STATEMENTS WITHOUT VARIABLE LISTS
READ 90
READ(48)
READ(48,90)
READ(IVALUE,90)
READ(48,IVALUE)
READ(IVALUE,IVALUE)
READ(48,90,END=90)
READ(IVALUE,90,END=90)
READ(48,IVALUE,END=90)
READ(IVALUE,IVALUE,END=90)
READ(48,90,ERR=90)
READ(IVALUE,90,ERR=90)
READ(48,IVALUE,ERR=90)
READ(IVALUE,IVALUE,ERR=90)
READ(48,90,END=90,ERR=90)
READ(IVALUE,90,END=90,ERR=90)
READ(48,IVALUE,END=90,ERR=90)
READ(IVALUE,IVALUE,END=90,ERR=90)
READ INPUT TAPE 48,90
READ INPUT TAPE IVALUE,90
READ INPUT TAPE 48,IVALUE
READ INPUT TAPE IVALUE,IVALUE
C
C READ STATEMENTS WITH VARIABLE LISTS
READ 90(IVALUE(IVALUE),IVALUE=48,48)
READ(48)(IVALUE(IVALUE),IVALUE=48,48)
READ(48,90)(IVALUE(IVALUE),IVALUE=48,48)
READ(IVALUE,90)(IVALUE(IVALUE),IVALUE=48,48)
READ(48,IVALUE)(IVALUE(IVALUE),IVALUE=48,48)
READ(IVALUE,IVALUE)(IVALUE(IVALUE),IVALUE=48,48)
READ(48,90,END=90)(IVALUE(IVALUE),IVALUE=48,48)
READ(IVALUE,90,END=90)(IVALUE(IVALUE),IVALUE=48,48)
READ(48,IVALUE,END=90)(IVALUE(IVALUE),IVALUE=48,48)
READ(IVALUE,IVALUE,END=90)(IVALUE(IVALUE),IVALUE=48,48)
READ(48,90,ERR=90)(IVALUE(IVALUE),IVALUE=48,48)
READ(IVALUE,90,ERR=90)(IVALUE(IVALUE),IVALUE=48,48)
READ(48,IVALUE,ERR=90)(IVALUE(IVALUE),IVALUE=48,48)
READ(IVALUE,IVALUE,ERR=90)(IVALUE(IVALUE),IVALUE=48,48)
READ(48,90,END=90,ERR=90)(IVALUE(IVALUE),IVALUE=48,48)
READ(IVALUE,90,END=90,ERR=90)(IVALUE(IVALUE),IVALUE=48,48)
READ(48,IVALUE,END=90,ERR=90)(IVALUE(IVALUE),IVALUE=48,48)
READ(IVALUE,IVALUE,END=90,ERR=90)(IVALUE(IVALUE),IVALUE=48,48)
READ INPUT TAPE 48,90,(IVALUE(IVALUE),IVALUE=48,48)
READ INPUT TAPE IVALUE,90,(IVALUE(IVALUE),IVALUE=48,48)
READ INPUT TAPE 48,IVALUE,(IVALUE(IVALUE),IVALUE=48,48)
READ INPUT TAPE IVALUE,IVALUE,(IVALUE(IVALUE),IVALUE=48,48)
C
C READ STATEMENTS WITH TAPE OR FORMAT VARIABLES
C SPECIFIED AS AN ARRAY ELEMENT
READ(IVALUE(48,48),90)(IVALUE(IVALUE),IVALUE=48,48)
READ(48,IVALUE(48,48))(IVALUE(IVALUE),IVALUE=48,48)
READ(IVALUE(48,48),IVALUE(48,48))(IVALUE(IVALUE),IVALUE=48,48)
READ(IVALUE(48,48),90,END=90,ERR=90)IVALUE(48,48)
READ(48,IVALUE(48,48),END=90,ERR=90)IVALUE(48,48)
READ(IVALUE(48,48),IVALUE(48,48),END=90,ERR=90)IVALUE(48,48)
C
C READ VARIABLE OR ARRAY IN ARITHMETIC EXPRESSION
READ 48=IVALUE(IVALUE)
READ(48)=IVALUE(IVALUE)
READ(48,48)=IVALUE(IVALUE)
READ(IVALUE,48)=IVALUE(IVALUE)
READ(48,IVALUE)=IVALUE(IVALUE)
READ(IVALUE,IVALUE)=IVALUE(IVALUE)
C
C NUMBERED STATEMENTS
100 CONTINUE
90 CONTINUE
81 CONTINUE
73 CONTINUE
66 CONTINUE
60 CONTINUE
55 CONTINUE
51 CONTINUE
48 CONTINUE
46 CONTINUE
45 CONTINUE
END
DOUBLE PRECISION FUNCTION WRITE
C
C WRITE STATEMENTS WITHOUT VARIABLE LISTS
WRITE 90
WRITE(48)
WRITE(48,90)
WRITE(IVALUE,90)
WRITE(48,IVALUE)
WRITE(IVALUE,IVALUE)
WRITE OUTPUT TAPE 48,90
WRITE OUTPUT TAPE IVALUE,90
WRITE OUTPUT TAPE 48,IVALUE
WRITE OUTPUT TAPE IVALUE,IVALUE
C
C WRITE STATEMENTS WITH VARIABLE LISTS
WRITE 90(IVALUE(IVALUE),IVALUE=48,48)
WRITE(48)(IVALUE(IVALUE),IVALUE=48,48)
WRITE(48,90)(IVALUE(IVALUE),IVALUE=48,48)
WRITE(IVALUE,90)(IVALUE(IVALUE),IVALUE=48,48)
WRITE(48,IVALUE)(IVALUE(IVALUE),IVALUE=48,48)
WRITE(IVALUE,IVALUE)(IVALUE(IVALUE),IVALUE=48,48)
WRITE OUTPUT TAPE 48,90,(IVALUE(IVALUE),IVALUE=48,48)
WRITE OUTPUT TAPE IVALUE,90,(IVALUE(IVALUE),IVALUE=48,48)
WRITE OUTPUT TAPE 48,IVALUE,(IVALUE(IVALUE),IVALUE=48,48)
WRITE OUTPUT TAPE IVALUE,IVALUE,(IVALUE(IVALUE),IVALUE=48,48)
C
C WRITE STATEMENTS WITH TAPE OR FORMAT VARIABLES
C SPECIFIED AS AN ARRAY ELEMENT
WRITE(IVALUE(48,48),90)(IVALUE(IVALUE),IVALUE=48,48)
WRITE(48,IVALUE(48,48))(IVALUE(IVALUE),IVALUE=48,48)
WRITE(IVALUE(48,48),IVALUE(48,48))(IVALUE(IVALUE),IVALUE=48,48)
C
C WRITE VARIABLE OR ARRAY IN ARITHMETIC EXPRESSION
WRITE 48=IVALUE(IVALUE)
WRITE(48)=IVALUE(IVALUE)
WRITE(48,48)=IVALUE(IVALUE)
WRITE(IVALUE,48)=IVALUE(IVALUE)
WRITE(48,IVALUE)=IVALUE(IVALUE)
WRITE(IVALUE,IVALUE)=IVALUE(IVALUE)
C
C NUMBERED STATEMENTS
100 CONTINUE
90 CONTINUE
81 CONTINUE
73 CONTINUE
66 CONTINUE
60 CONTINUE
55 CONTINUE
51 CONTINUE
48 CONTINUE
46 CONTINUE
45 CONTINUE
END
INTEGER FUNCTION BLANK
C
C TEST ABILITY OF DICTIONARY PROGRAM TO HANDLE
C WORDS CONTAINING BLANKS (WHICH SHOULD BE
C IGNORED IF A STATEMENT NUMBER IS ENCOUNTERED
C FURTHER ON IN THE STATEMENT
READ INPUTTAPE48,90
READ INPUTTAPE48,90
READ INPUTTAPE48,90
R EAD INPUTTAPE48,90
R EAD INPUTTAPE48,90
R EAD INPUTTAPE48,90
RE AD INPUTTAPE48,90
RE AD INPUTTAPE48,90
RE AD INPUTTAPE48,90
REA D INPUTTAPE48,90
REA D INPUTTAPE48,90
REA D INPUTTAPE48,90
READ INPUTTAPE48,90
READ INPUTTAPE48,90
READ INPUTTAPE48,90
READ I NPUTTAPE48,90
READ I NPUTTAPE48,90
READ I NPUTTAPE48,90
READ IN PUTTAPE48,90
READ IN PUTTAPE48,90
READ IN PUTTAPE48,90
READ INP UTTAPE48,90
READ INP UTTAPE48,90
READ INP UTTAPE48,90
READ INPU TTAPE48,90
READ INPU TTAPE48,90
READ INPU TTAPE48,90
READ INPUT TAPE48,90
READ INPUT TAPE48,90
READ INPUT TAPE48,90
READ INPUTT APE48,90
READ INPUTT APE48,90
READ INPUTT APE48,90
READ INPUTTA PE48,90
READ INPUTTA PE48,90
READ INPUTTA PE48,90
READ INPUTTAP E48,90
READ INPUTTAP E48,90
READ INPUTTAP E48,90
READ INPUTTAPE 48,90
READ INPUTTAPE 48,90
READ INPUTTAPE 48,90
READ INPUTTAPE4 8,90
READ INPUTTAPE4 8,90
READ INPUTTAPE4 8,90
READ INPUTTAPE48 ,90
READ INPUTTAPE48 ,90
READ INPUTTAPE48 ,90
READ INPUTTAPE48, 90
READ INPUTTAPE48, 90
READ INPUTTAPE48, 90
READ INPUTTAPE48,9 0
READ INPUTTAPE48,9 0
READ INPUTTAPE48,9 0
C
C TEST ABILITY TO HAVE BLANKS WITHIN STATEMENT NUMBERS
GO TO ( 9 0 , 9 0 , 9 0 ),IVALUE
IF(IVALUE) 9 0 , 9 0 , 9 0
C
C NUMBERED STATEMENTS STATEMENTS
1 0 0 CONTINUE
9 0 CONTINUE
8 1 CONTINUE
7 3 CONTINUE
6 6 CONTINUE
6 0 CONTINUE
5 5 CONTINUE
5 1 CONTINUE
4 8 CONTINUE
4 6 CONTINUE
4 5 CONTINUE
END
BLOCK DATA
C
C STATEMENTS CONTAINING ALPHAMERIC DATA
IVALUE='''BCDE'+'ABCD'''
IVALUE='A''CDE'+'ABC''E'
IVALUE='AB''DE'+'AB''DE'
IVALUE='ABC''E'+'A''CDE'
IVALUE='ABCD'''+'''BCDE'
IVALUE=5H'BCDE+5HABCD'
IVALUE=5HA'CDE+5HABC'E
IVALUE=5HAB'DE+5HAB'DE
IVALUE=5HABC'E+5HA'CDE
IVALUE=5HABCD'+5H'BCDE
IVALUE=15HABCDEFGHIJKLMNO+'ABCD'''
IVALUE=15HABCDEFGHIJKLMNO+'ABC''E'
IVALUE=15HABCDEFGHIJKLMNO+'AB''DE'
IVALUE=15HABCDEFGHIJKLMNO+'A''CDE'
IVALUE=15HABCDEFGHIJKLMNO+'''BCDE'
IVALUE='''BCDE'+15HABCDEFGHIJKLMNO
IVALUE='A''CDE'+15HABCDEFGHIJKLMNO
IVALUE='AB''DE'+15HABCDEFGHIJKLMNO
IVALUE='ABC''E'+15HABCDEFGHIJKLMNO
IVALUE='ABCD'''+15HABCDEFGHIJKLMNO
END
LOGICAL FUNCTION IF
C
C IF STATEMENTS IN STANDARD FORMS
IF(48-IVALUE(48,48))90,90,90
IF(48.EQ.IVALUE(48,48))GO TO 90
IF(48.EQ.IVALUE(48,48))GO TO 48 = 48
IF(48.EQ.IVALUE(48,48))READ(48,90,END=90,ERR=90)IVALUE(48,48)
IF(48.EQ.IVALUE(48,48))IVALUE(48,48)=48
IF(48.EQ.IVALUE(48,48))IF(48.EQ.IVALUE(48,48))GO TO 90
IF(48.EQ.IVALUE(48,48))IF(48-IVALUE(48,48))90,90,90
C
C ARITHMETIC EXPRESSIONS DEFINING IF ARRAY ELEMENTS
IF(48,48)=48
IF(48,48)=GO TO 48
IF(48.EQ.IVALUE(48,48))IF(48,48)=48
C
C NUMBERED STATEMENTS
100 CONTINUE
90 CONTINUE
81 CONTINUE
73 CONTINUE
66 CONTINUE
60 CONTINUE
55 CONTINUE
51 CONTINUE
48 CONTINUE
46 CONTINUE
45 CONTINUE
END
COMPLEX FUNCTION T A B S(IVALUE)
C
C TEST CONTINUATION LINE SENSING OF TABS WHICH HAVE
C BEEN CONVERTED TO THE APPROPRIATE NUMBER OF BLANKS
D
1O
19
10
1I
1=
148
1,
148
G
1O
1
1T
1O
1
19
10
C
C NUMBERED STATEMENTS
100 CONTINUE
90 CONTINUE
81 CONTINUE
73 CONTINUE
66 CONTINUE
60 CONTINUE
55 CONTINUE
51 CONTINUE
48 CONTINUE
46 CONTINUE
45 CONTINUE
END
C
C ASSORTED STATEMENT TYPES WHICH REQUIRE RENUMBERING
ACCEPT 90
ACCEPT 90,(IVALUE(IVALUE),IVALUE=48,48)
ACCEPT IVALUE,(IVALUE(IVALUE),IVALUE=48,48)
ACCEPT IVALUE(48,48),(IVALUE(IVALUE),IVALUE=48,48)
TYPE 90
TYPE 90,(IVALUE(IVALUE),IVALUE=48,48)
TYPE IVALUE,(IVALUE(IVALUE),IVALUE=48,48)
TYPE IVALUE(48,48),(IVALUE(IVALUE),IVALUE=48,48)
REREAD 90
REREAD 90,(IVALUE(IVALUE),IVALUE=48,48)
REREAD IVALUE,(IVALUE(IVALUE),IVALUE=48,48)
REREAD IVALUE(48,48),(IVALUE(IVALUE),IVALUE=48,48)
PRINT 90
PRINT 90,(IVALUE(IVALUE),IVALUE=48,48)
PRINT IVALUE,(IVALUE(IVALUE),IVALUE=48,48)
PRINT IVALUE(48,48),(IVALUE(IVALUE),IVALUE=48,48)
PUNCH 90
PUNCH 90,(IVALUE(IVALUE),IVALUE=48,48)
PUNCH IVALUE,(IVALUE(IVALUE),IVALUE=48,48)
PUNCH IVALUE(48,48),(IVALUE(IVALUE),IVALUE=48,48)
DECODE(48,90,IVALUE(48,48))IVALUE(48,48)
DECODE(IVALUE(48,48),90,IVALUE(48,48))IVALUE(48,48)
DECODE(48,IVALUE(48,48),IVALUE(48,48))IVALUE(48,48)
DECODE(48,90,IVALUE(48,48),ERR=90)IVALUE(48,48)
DECODE(IVALUE(48,48),90,IVALUE(48,48),ERR=90)IVALUE(48,48)
DECODE(48,IVALUE(48,48),IVALUE(48,48),ERR=90)IVALUE(48,48)
DECODE(IVALUE(48,48),IVALUE(48,48),IVALUE(48,48))IVALUE(48,48)
ENCODE(48,90,IVALUE(48,48))IVALUE(48,48)
ENCODE(IVALUE(48,48),90,IVALUE(48,48))IVALUE(48,48)
ENCODE(48,IVALUE(48,48),IVALUE(48,48))IVALUE(48,48)
ENCODE(48,90,IVALUE(48,48),ERR=90)IVALUE(48,48)
ENCODE(IVALUE(48,48),90,IVALUE(48,48),ERR=90)IVALUE(48,48)
ENCODE(48,IVALUE(48,48),IVALUE(48,48),ERR=90)IVALUE(48,48)
ENCODE(IVALUE(48,48),IVALUE(48,48),IVALUE(48,48))IVALUE(48,48)
ASSIGN 90 TO IVALUE
ASSIGN 90 TO IVALUE(48,48)
IF QUOTIENT OVERFLOW 90,90,90
IF DIVIDE CHECK 90,90,90
IF ACCUMULATOR OVERFLOW 90,90,90
C
C STATEMENTS CONTAINING VARIABLE TYPE DESIGNATION IN
C LEFT COLUMN
B GO TO 90
D IF(IVALUE)90,90,90
I ASSIGN 90 TO IVALUE
C
C CALL STATEMENT CONTAINING STATEMENT NUMBERS TO WHICH
C CONTROL IS PASSED UPON RETURNING (INDICATED IN CALL
C STATEMENT AS AN ARGUMENT CONSISTING OF STATEMENT
C NUMBER FOLLOWING AN AND SIGN IN IBM 360 NOTATION
C OR FOLLOWING A DOLLAR SIGN OR FOLLOWING AN
C ASTERISK IN DEC NOTATION)
CALL IVALUE(IVALUE,*90,IVALUE(48,48),*90)
CALL IVALUE( * 90, 48, 48, 48, *90)
CALL IVALUE( 48, 48, * 90, 48, 48)
CALL IVALUE(IVALUE,$90,IVALUE(48,48),$90)
CALL IVALUE( $ 90, 48, 48, 48, $90)
CALL IVALUE( 48, 48, $ 90, 48, 48)
CALL IVALUE(IVALUE,&90,IVALUE(48,48),&90)
CALL IVALUE( & 90, 48, 48, 48, &90)
CALL IVALUE( 48, 48, & 90, 48, 48)
C
C NUMBERED STATEMENTS
B 100 CONTINUE
D 90 CONTINUE
I 81 CONTINUE
B 73 CONTINUE
D 66 CONTINUE
I 60 CONTINUE
B 55 CONTINUE
D 51 CONTINUE
I 48 CONTINUE
B 46 CONTINUE
D 45 CONTINUE
END
FUNCTION ALPHAMERIC DATA
C
C SAMPLE STATEMENTS CONTAINING KEY SEPARATOR CHARACTER
C GROUPINGS (TO TEST PARENTHESIS COUNTING, ETC. IN
C FORTRAN RENUMBERING PROGRAM).
C
IF(IVALUE.EQ.1H()GO TO 90
IF(IVALUE.EQ.1H))GO TO 90
IF(IVALUE.EQ.15H((((((((((((((()GO TO 90
IF(IVALUE.EQ.'(((((((((((((((')GO TO 90
IF ( IVALUE . E Q . ' ( ( ' ' ( ( ' ) GO TO 90
CALL IVALUE(',*48,',5H,*48,,4H,*48,*90)
CALL IVALUE(',&48,',5H,&48,,4H,&48,&90)
CALL IVALUE(',$48,',5H,$48,,4H,$48,$90)
CALL IVALUE ( ' , * 48, ' ' , * 48 , ' , * 90 )
CALL IVALUE ( ' , & 48, ' ' , & 48 , ' , & 90 )
CALL IVALUE ( ' , $ 48, ' ' , $ 48 , ' , $ 90 )
DO48IV=5H48,48
DO48IV='48,48'
C
C TEST ENTRY OF ALPHAMERIC STRINGS CONTAINING TERMINAL
C BLANKS INTO SYMBOL DICTIONARY
IVALUE=10HABCDE
IF(IVALUE.EQ.10HABCDE )90,90,90
IF(IVALUE.EQ. 10HABCDE )90,90,90
IF(IVALUE.EQ. 10HABCDE )90,90,90
IVALUE=5HABC
IF(IVALUE.EQ.5HABC )90,90,90
IF(IVALUE.EQ.5HABC )90,90,90
IF(IVALUE.EQ. 5HABC )90,90,90
IVALUE='ABC'
IF(IVALUE.EQ.'ABC')90,90,90
IF(IVALUE.EQ.'ABC' )90,90,90
IF(IVALUE.EQ. 'ABC' )90,90,90
IVALUE='ABC''D'
IF(IVALUE.EQ.'ABC''D')90,90,90
IF(IVALUE.EQ.'ABC''D' )90,90,90
IF(IVALUE.EQ. 'ABC''D' )90,90,90
IVALUE='ABC''DEF'
IF(IVALUE.EQ.'ABC''DEF')90,90,90
IF(IVALUE.EQ. 'ABC''DEF')90,90,90
IF(IVALUE.EQ. 'ABC''DEF' )90,90,90
IVALUE='ABC''DEF''GHI'
IF(IVALUE.EQ.'ABC''DEF''GHI')90,90,90
IF(IVALUE.EQ. 'ABC''DEF''GHI')90,90,90
IF(IVALUE.EQ. 'ABC''DEF''GHI' )90,90,90
C
C NUMBERED STATEMENTS
100 CONTINUE
90 CONTINUE
81 CONTINUE
73 CONTINUE
66 CONTINUE
60 CONTINUE
55 CONTINUE
51 CONTINUE
48 CONTINUE
46 CONTINUE
45 CONTINUE
END
SUBROUTINE WRAPAROUND
C ROUTINE TO TEST WRAP AROUND PREVENTION WHEN
C NUMBER OF CHARACTERS CHANGES IN NUMBERS
C THE CORRECT RESULTS ARE GIVEN BELOW
C (NOTE THAT UNLIKE SAMPLE TAB INPUT GIVEN IN SOME
C OF THESE TEST ROUTINES, THIS SAMPLE OUTPUT USES
C ALL SEVENTYTWO CHARACTERS AND SO ADDED C IS IN COLUMN
C 1 RATHER THAN IN FRONT OF CONTENTS OF COLUMN 1)
C SLASH REPLACES DIGIT NINE IN THESE EXAMPLES
C GO TO(1,1,1,
C 111,11,11,
C 24,4,4),
C 3I
C GO TO(1,1,1
C 1,11,11,11
C 2,4,4,4),
C 3I
C GO TO(1,1,1
C 1 ,11,11,11,4
C 2 ,4,4),
C 3I
C GO TO(1,1,1,
C 1 11,11,11,
C 2 4,4,4),
C 3 I
C GO TO(1,1,1
C 1 ,11,11,11
C 2 ,4,4,4),
C 3 I
C GO TO(1,1,1
C 1 ,11,11,11,4
C 2 ,4,4),
C 3 I
C
C LONG STATEMENTS TO INSURE ADDITION AT PROPER BREAK
C 12345678/012345678/012345678/012345678/012345678/012345678/0123456
C WRITE(5,1)IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,ABCD
C 1EF,GHIJKL
C 12345678/012345678/012345678/012345678/012345678/012345678/0123456
C WRITE(5,11)IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,ABCDEF
C 1,GHIJKL,MNOPQR,STUVWX,YZABCD,EFGHIJ,KLMNOP,QRSTUV,WXYZAB,CDEFGH,IJ
C 2KLMN,OPQRST,UVWXYZ
C 12345678/012345678/012345678/012345678/012345678/012345678/0123456
C WRITE(5,11)IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,ABCDEF
C 1,GHIJKL,MNOPQR,STUVWX,YZABCD,EFGHIJ,KLMNOP,QRSTUV,WXYZAB,CDEFGH,IJ
C 2K LMN,OPQRST,UVWXYZ
C
C STATEMENTS STRUNG OUT OVER SEVERAL LINES
C GO TO(10
C 1 ,
C 2 10
C 3 ),
C 4 I
GO TO(9999,9999,9999,
19,9,9,
2999,999,999),
3I
GO TO(9999,9999,9999
1,9,9,9
2,999,999,999),
3I
GO TO(9999,9999,99
199,9,9,9,9
299,999,999),
3I
GO TO(9999,9999,9999,
1 9,9,9,
2 999,999,999),
3 I
GO TO(9999,9999,9999
1 ,9,9,9
2 ,999,999,999),
3 I
GO TO(9999,9999,99
1 99,9,9,9,9
2 99,999,999),
3 I
C
C LONG STATEMENTS TO INSURE ADDITION AT PROPER BREAK
C 12345678/012345678/012345678/012345678/012345678/012345678/0123456
WRITE(5,9999)IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,ABCD
1EF,GHIJKL
C 12345678/012345678/012345678/012345678/012345678/012345678/0123456
WRITE(5,9)IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,ABCDEF,
1GHIJKL,MNOPQR,STUVWX,YZABCD,EFGHIJ,KLMNOP,QRSTUV,WXYZAB,CDEFGH,IJ
2KLMN,OPQRST,UVWXYZ
C 12345678/012345678/012345678/012345678/012345678/012345678/0123456
WRITE(5,9)IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,IIIIII,ABCDEF,
1GHIJKL,MNOPQR,STUVWX,YZABCD,EFGHIJ,KLMNOP,QRSTUV,WXYZAB,CDEFGH,IJK
2 LMN,OPQRST,UVWXYZ
C
C STATEMENTS STRUNG OUT OVER SEVERAL LINES
GO TO(9
A 9
8 9
* 9
D 9
, ,
. 9 9
.
* 9
2 9
A 9 ),
E I
C
C NUMBERED STATEMENTS
9999 CONTINUE
99 CONTINUE
3 CONTINUE
999 CONTINUE
4 CONTINUE
5 CONTINUE
6 CONTINUE
7 CONTINUE
8 CONTINUE
99999 CONTINUE
9 CONTINUE
END
SUBROUTINE
C ROUTINE TO TEST SEPARATE INDEXING OF UNIT
C NUMBERS AND RECORD NUMBERS IN RANDOM ACCESS
C I/O READ, WRITE AND FIND STATEMENTS. THESE
C ARE SEPARATED BY NUMBER SIGN OR APOSTROPHE.
C
C AA AND BB SHOULD BE INDEXED SEPARATELY, CC AND
C DD TOGETHER IN ALPHAMERIC TEXT STRING
C
C READ STATEMENTS WITH RANDOM I/O
READ(10'10,90)READ(10,10)
READ(10#10,90)READ(10,10)
READ(AA'BB,90)READ(10,10)
READ(AA#BB,90)READ(10,10)
READ(10'10,90,ERR=90,END=90)READ(10,10)
READ(10#10,90,ERR=90,END=90)READ(10,10)
READ(AA'BB,90,ERR=90,END=90)READ(10,10)
READ(AA#BB,90,ERR=90,END=90)READ(10,10)
READ( 10 ' 10 ,90)READ(10,10)
READ( 10 # 10 ,90)READ(10,10)
READ( AA ' BB ,90)READ(10,10)
READ( AA # BB ,90)READ(10,10)
READ( 10 ' 10 ,90,ERR=90,END=90)READ(10,10)
READ( 10 # 10 ,90,ERR=90,END=90)READ(10,10)
READ( AA ' BB ,90,ERR=90,END=90)READ(10,10)
READ( AA # BB ,90,ERR=90,END=90)READ(10,10)
READ(5HCC'DD,90)READ(10,10)
READ('CC#DD',90)READ(10,10)
READ(5HCC#DD,90)READ(10,10)
READ(5HCC'DD,90,END=90,ERR=90)READ(10,10)
READ('CC#DD',90,END=90,ERR=90)READ(10,10)
READ(5HCC#DD,90,END=90,ERR=90)READ(10,10)
READ(AA',90,END=90,ERR=90)READ(10,10)
READ(#AA,90,END=90,ERR=90)READ(10,10)
READ(AA#,90,END=90,ERR=90)READ(10,10)
READ(#,90,END=90,ERR=90)READ(10,10)
C
C WRITE STATEMENTS WITH RANDOM I/O
WRITE(10'10,90)WRITE(10,10)
WRITE(10#10,90)WRITE(10,10)
WRITE(AA'BB,90)WRITE(10,10)
WRITE(AA#BB,90)WRITE(10,10)
WRITE( 10 ' 10 ,90)WRITE(10,10)
WRITE( 10 # 10 ,90)WRITE(10,10)
WRITE( AA ' BB ,90)WRITE(10,10)
WRITE( AA # BB ,90)WRITE(10,10)
WRITE(5HCC'DD,90)WRITE(10,10)
WRITE('CC#DD',90)WRITE(10,10)
WRITE(5HCC#DD,90)WRITE(10,10)
C
C FIND STATEMENTS
FIND(10'10)
FIND(10#10)
FIND(AA'BB)
FIND(AA#BB)
FIND(5HCC'DD)
FIND(5HCC#DD)
FIND('CC#DD')
FIND(AA')
FIND(#AA)
FIND(AA#)
FIND(#)
C
C NUMBERED STATEMENTS
100 CONTINUE
90 CONTINUE
81 CONTINUE
73 CONTINUE
66 CONTINUE
60 CONTINUE
55 CONTINUE
51 CONTINUE
48 CONTINUE
46 CONTINUE
45 CONTINUE
E N D
IF( A.EQ. '48)GO TO 48')GO TO 90
IF( A. EQ .11H48)GO TO 48)GO TO 90
IF ( A. E Q. 1 1 H48)GO TO 48)GO TO 90
IF(A.EQ. 1 1 H48)GO TO 48)GO TO 90
IF(A.EQ.011H48)GO TO 48)GO TO 90
IF(A.EQ. 0 1 1 H48)GO TO 48)GO TO 90
C
C NUMBERED STATEMENTS
100 CONTINUE
90 CONTINUE
81 CONTINUE
73 CONTINUE
66 CONTINUE
60 CONTINUE
55 CONTINUE
51 CONTINUE
48 CONTINUE
46 CONTINUE
45 CONTINUE
END
SUBROUTINE O N E00000000
C THIS ROUTINE TEST REJECTION OF CARD IDENTIFICATION COLUMNS00000000
C2345678/012345678/012345678/012345678/012345678/012345678/012345678/012345678/0
C0000000011111111112222222222333333333344444444445555555555666666666677777777778
G O00000000
1T O00000000
29 000000000
G O00000000
1T O00000000
29 000000000
G O00000000
1T O00000000
29 000000000
G O00000000
1T O00000000
29 000000000
100 CONTINUE
90 CONTINUE
81 CONTINUE
73 CONTINUE
66 CONTINUE
60 CONTINUE
55 CONTINUE
51 CONTINUE
48 CONTINUE
46 CONTINUE
45 CONTINUE
E N D00000000
FUNCTION FOR-II
ACCEPT 90,I 48,(I 48(I),I=1,48)
ACCEPT TAPE 90,I 48,(I 48(I),I=1,48)
ASSIGN 90 TO I 48
DO 90 I=48,48,48
FREQUENCY 90(48),90,90(48,48),90(48,48,48)
GO TO 90
GO TO I 48
GO TO I 48,(90,90)
GO TO(90,90),I 48
IF(48)90,90,90
IF ACCUMULATOR OVERFLOW 90,90
IF DIVIDE CHECK 90,90
IF QUOTIENT OVERFLOW 90,90
PRINT 90,I 48,(I 48(I),I=1,48)
PUNCH 90,I 48,(I 48(I),I=1,48)
PUNCH TAPE 90,I 48,(I 48(I),I=1,48)
READ 90,I 48,(I 48(I),I=1,48)
READ INPUT TAPE 48,90,I 48,(I 48(I),I=1,48)
TYPE 90,I 48,(I 48(I),I=1,48)
WRITE OUTPUT TAPE 48,90,I 48,(I 48(I),I=1,48)
READ DRUM 48,48,I 48,(I 48(I),I=1,48)
READ TAPE 48,I 48,(I 48(I),I=1,48)
WRITE DRUM 48,48,I 48,(I 48(I),I=1,48)
WRITE TAPE 48,I 48,(I 48(I),I=1,48)
100 CONTINUE
90 CONTINUE
81 CONTINUE
73 CONTINUE
66 CONTINUE
60 CONTINUE
55 CONTINUE
51 CONTINUE
48 CONTINUE
46 CONTINUE
45 CONTINUE
END
FUNCTION FOR-IV
IF(I 48)GO TO 90
READ(48,90)I 48,(I 48(I),I=1,48)
READ(48,I 48)I 48,(I 48(I),I=1,48)
READ(48,I 48,END=90,ERR=90)I 48,(I 48(I),I=1,48)
READ(48,90,END=90,ERR=90)I 48,(I 48(I),I=1,48)
WRITE(48,90)I 48,(I 48(I),I=1,48)
WRITE(48,I 48)I 48,(I 48(I),I=1,48)
WRITE(48)I 48,(I 48(I),I=1,48)
READ(48)I 48,(I 48(I),I=1,48)
READ 90,I 48,(I 48(I),I=1,48)
READ 90
READ(48#48,90)I 48,(I 48(I),I=1,48)
READ(48#48)I 48,(I 48(I),I=1,48)
WRITE 90,I 48,(I 48(I),I=1,48)
WRITE 90
WRITE(48#48,90)I 48,(I 48(I),I=1,48)
WRITE(48#48,I 48)I 48,(I 48(I),I=1,48)
READ(48#48,I 48)I 48,(I 48(I),I=1,48)
REREAD 90,I 48,(I 48(I),I=1,48)
FIND(48#48)
ACCEPT 90,I 48,(I 48(I),I=1,48)
ACCEPT 90
PRINT 90,I 48,(I 48(I),I=1,48)
PRINT 90
PUNCH 90,I 48,(I 48(I),I=1,48)
PUNCH 90
TYPE 90,I 48,(I 48(I),I=1,48)
TYPE 90
OPEN(UNIT=48,ERR=90,DEVICE=48)
CLOSE(UNIT=48,ERR=90,DEVICE=48)
ENCODE(48,90,I 48)I 48,(I 48(I),I=1,48)
DECODE(48,90,I 48)I 48,(I 48(I),I=1,48)
ENCODE(48,90,I 48,ERR=90)I 48,(I 48(I),I=1,48)
DECODE(48,90,I 48,ERR=90)I 48,(I 48(I),I=1,48)
100 CONTINUE
90 CONTINUE
81 CONTINUE
73 CONTINUE
66 CONTINUE
60 CONTINUE
55 CONTINUE
51 CONTINUE
48 CONTINUE
46 CONTINUE
45 CONTINUE
END
FUNCTION STEPNUMBERING
C THE ORIGINAL STEPS ARE 1-33, 34-67, 68-101, 102-135 ETC.
C IF FIRST NUMBER IS 3 AND INCREMENT 5, THEN OUTPUT
C NUMBERING WOULD BE 3 8 13 18 23 ... 53 58 63 68 73 ETC.
C IF THE FIRST NUMBER IS 8, THEN THE OUTPUT
C NUMBERING WOULD BE 8 13 18 23 ... 53 58 63 68 73 ETC.
CRENBRI5B3O34N50
C FIRST STATEMENT SHOULD BE 3
10 GO TO 5
5 GO TO 250
15 GO TO 210
250 GO TO 350
20 GO TO 299
C NEXT STATEMENT SHOULD BE 53
203 GO TO 52
C NEXT STATEMENT SHOULD BE 103
210 CONTINUE
300 CONTINUE
350 CONTINUE
239 CONTINUE
215 CONTINUE
C NEXT STATEMENT SHOULD BE 153
42 CONTINUE
299 CONTINUE
35 CONTINUE
52 CONTINUE
45 CONTINUE
END
SUBROUTINE MIDDLE
C FIRST STATEMENT SHOULD BE 8
10 GO TO 5
5 GO TO 250
15 GO TO 210
250 GO TO 350
20 GO TO 299
C NEXT STATEMENT SHOULD BE 53
203 GO TO 52
C NEXT STATEMENT SHOULD BE 103
210 CONTINUE
300 CONTINUE
350 CONTINUE
239 CONTINUE
215 CONTINUE
C NEXT STATEMENT SHOULD BE 153
C R E N B R / I : 5 B 8 O 34 N 50
42 CONTINUE
299 CONTINUE
35 CONTINUE
52 CONTINUE
45 CONTINUE
END
SUBROUTINE REVERSE
C FIRST STATEMENT SHOULD BE 173
10 GO TO 5
5 GO TO 250
15 GO TO 203
250 GO TO 300
20 GO TO 350
C ABOVE STATEMENT SHOULD BE 153 AND BELOW 103
203 GO TO 30
C ABOVE STATEMENT SHOULD BE 103 AND BELOW 73
210 GO TO 45
300 CONTINUE
310 CONTINUE
350 CONTINUE
215 CONTINUE
C ABOVE STATEMENT SHOULD BE 53 AND BELOW 23
35 CONTINUE
30 CONTINUE
50 CONTINUE
45 CONTINUE
C R E N B R / I : -5 B 8 O 34 N 50
END
FUNCTION MULTPL;ACCEPT 90,I 48,(I 48(I),I=1,48);ACCEPT TAPE 90,I 4
18,(I 48(I),I=1,48);ASSIGN 90 TO I 48;DO 90 I=48,48,48;FREQUENCY 90
1(48),90,90(48,48),90(48,48,48);GO TO 90;GO TO I 48;GO TO I 48,(90,
190);GO TO(90,90),I 48;IF(48)90,90,90;IF ACCUMULATOR OVERFLOW 90,90
1;IF DIVIDE CHECK 90,90;IF QUOTIENT OVERFLOW 90,90;PRINT 90,I 48,(I
1 48(I),I=1,48);PUNCH 90,I 48,(I 48(I),I=1,48);PUNCH TAPE 90,I 48,(
1I 48(I),I=1,48);READ 90,I 48,(I 48(I),I=1,48);READ INPUT TAPE 48,9
10,I 48,(I 48(I),I=1,48);TYPE 90,I 48,(I 48(I),I=1,48);WRITE OUTPUT
1 TAPE 48,90,I 48,(I 48(I),I=1,48)
READ DRUM 48,48,I 48,(I 48(I),I=1,48);READ TAPE 48,I 48,(I 48(I),I
1=1,48);WRITE DRUM 48,48,I 48,(I 48(I),I=1,48);WRITE TAPE 48,I 48,(
1I 48(I),I=1,48);IF(I 48)GO TO 90;READ(48,90)I 48,(I 48(I),I=1,48);
1READ(48,I 48)I 48,(I 48(I),I=1,48);READ(48,I 48,END=90,ERR=90)I 48
1,(I 48(I),I=1,48);READ(48,90,END=90,ERR=90)I 48,(I 48(I),I=1,48);W
1RITE(48,90)I 48,(I 48(I),I=1,48);WRITE(48,I 48)I 48,(I 48(I),I=1,4
18);WRITE(48)I 48,(I 48(I),I=1,48);READ(48)I 48,(I 48(I),I=1,48);RE
1AD 90,I 48,(I 48(I),I=1,48);READ 90;READ(48#48,90)I 48,(I 48(I),I=
11,48);READ(48#48)I 48,(I 48(I),I=1,48)
WRITE 90,I 48,(I 48(I),I=1,48);WRITE 90;WRITE(48#48,90)I 48,(I 48(
1I),I=1,48);WRITE(48#48,I 48)I 48,(I 48(I),I=1,48);READ(48#48,I 48)
1I 48,(I 48(I),I=1,48);REREAD 90,I 48,(I 48(I),I=1,48);FIND(48#48);
1ACCEPT 90,I 48,(I 48(I),I=1,48);ACCEPT 90;PRINT 90,I 48,(I 48(I),I
1=1,48);PRINT 90;PUNCH 90,I 48,(I 48(I),I=1,48);PUNCH 90;TYPE 90,I
148,(I 48(I),I=1,48);TYPE 90;ENCODE(48,90,I 48)I 48,(I 48(I),I=1,48
1);DECODE(48,90,I 48)I 48,(I 48(I),I=1,48)
100 CONTINUE
90 CONTINUE
81 CONTINUE
73 CONTINUE
66 CONTINUE
60 CONTINUE
55 CONTINUE
51 CONTINUE
48 CONTINUE
46 CONTINUE
45 CONTINUE
END
FUNCTION COMENT;ACCEPT 90,I 48,(I 48(I),!COMMENT ONE 012345678/012
1I=1,48);ACCEPT TAPE 90,I 48,(I 48(I),I=1!COMMENT TWO 012345678/012
1,48);ASSIGN 90 TO I 48;DO 90 I=48,48,48;!COMMENT THREE 2345678/012
1FREQUENCY 90(48),90,90(48,48),90(48,48,4!COMMENT FOUR 12345678/012
18);GO TO 90;GO TO I 48;GO TO I 48,(90,90!COMMENT FIVE 12345678/012
1);GO TO(90,90),I 48;IF(48)90,90,90;IF AC!COMMENT SIX 012345678/012
1CUMULATOR OVERFLOW 90,90;IF DIVIDE CHECK!COMMENT SEVEN 2345678/012
1 90,90;IF QUOTIENT OVERFLOW 90,90;PRINT !COMMENT EIGHT 2345678/012
190,I 48,(I 48(I),I=1,48)!COMMENT NINE 5678/012345678/012345678/012
PUNCH 90,I 48,(I 48(I),I=1,48);PUNCH TAP!COMMENT ONE 012345678/012
1E 90,I 48,(I 48(I),I=1,48);READ 90,I 48,!COMMENT TWO 012345678/012
1(I 48(I),I=1,48);READ INPUT TAPE 48,90,I!COMMENT THREE 2345678/012
1 48,(I 48(I),I=1,48);TYPE 90,I 48,(I 48(!COMMENT FOUR 12345678/012
1I),I=1,48);WRITE OUTPUT TAPE 48,90,I 48,!COMMENT FIVE 12345678/012
1(I 48(I),I=1,48);READ DRUM 48,48,I 48,(I!COMMENT SIX 012345678/012
1 48(I),I=1,48);READ TAPE 48,I 48,(I 48(I!COMMENT SEVEN 2345678/012
1),I=1,48);WRITE DRUM 48,48,I 48,(I 48(I)!COMMENT EIGHT 2345678/012
1,I=1,48)!COMMENT NINE /012345678/012345678/012345678/012345678/012
WRITE TAPE 48,I 48,(I 48(I),I=1,48);IF(I!COMMENT ONE 012345678/012
1 48)GO TO 90;READ(48,90)I 48,(I 48(I),I=!COMMENT TWO 012345678/012
11,48);READ(48,I 48)I 48,(I 48(I),I=1,48)!COMMENT THREE 2345678/012
1;READ(48,I 48,END=90,ERR=90)I 48,(I 48(I!COMMENT FOUR 12345678/012
1),I=1,48);READ(48,90,END=90,ERR=90)I 48,!COMMENT FIVE 12345678/012
1(I 48(I),I=1,48);WRITE(48,90)I 48,(I 48(!COMMENT SIX 012345678/012
1I),I=1,48);WRITE(48,I 48)I 48,(I 48(I),I!COMMENT SEVEN 2345678/012
1=1,48);WRITE(48)I 48,(I 48(I),I=1,48);RE!COMMENT EIGHT 2345678/012
1AD(48)I 48,(I 48(I),I=1,48)!COMMENT NINE 8/012345678/012345678/012
READ 90,I 48,(I 48(I),I=1,48);READ 90;RE!COMMENT ONE 012345678/012
1AD(48#48,90)I 48,(I 48(I),I=1,48);READ(4!COMMENT TWO 012345678/012
18#48)I 48,(I 48(I),I=1,48);WRITE 90,I 48!COMMENT THREE 2345678/012
1,(I 48(I),I=1,48); WRITE 90;WRITE(48#48,!COMMENT FOUR 12345678/012
190)I48,(I 48(I),I=1,48);WRITE(48#48,I 48!COMMENT FIVE 12345678/012
1)I 48,(I 48(I),I=1,48);READ(48#48,I 48)I!COMMENT SIX 012345678/012
1 48,(I 48(I),I=1,48);REREAD 90,I 48,(I 4!COMMENT SEVEN 2345678/012
18(I),I=1,48);FIND(48#48);ACCEPT 90,I 48,!COMMENT EIGHT 2345678/012
1(I 48(I),I=1,48);ACCEPT 90!COMMENT NINE 78/012345678/012345678/012
PRINT 90,I 48,(I 48(I),I=1,48);PRINT 90;!COMMENT ONE 012345678/012
1PUNCH 90,I 48,(I 48(I),I=1,48);PUNCH 90;!COMMENT TWO 012345678/012
1TYPE 90,I 48,(I 48(I),I=1,48);TYPE 90;EN!COMMENT THREE 2345678/012
1CODE(48,90,I 48)I 48,(I 48(I),I=1,48);DE!COMMENT FOUR 12345678/012
1CODE(48,90,I 48)I 48,(I 48(I),I=1,48)!COMMENT FIVE 8/012345678/012
100 CONTINUE
90 CONTINUE
81 CONTINUE
73 CONTINUE
66 CONTINUE
60 CONTINUE
55 CONTINUE
51 CONTINUE
48 CONTINUE
46 CONTINUE
45 CONTINUE
END
CRENBR(EXPAND/STATEMENTS WHICH EXPAND)B22I2200
DO99A=1,2,3;DO99B=1,2,3;DO99C=1,2,3;DO99D=1,2,3;DO!COMMENT99999999
199E=1,2,3;DO99F=1,2,3;DO99G=1,2,3;DO99H=1,2,3;DO99!MMENT9999999999
1I=1,2,3;DO99J=1,2,3;DO99K=1,2,3;DO99L=1,2,3;DO99M=!COMMENT99999999
11,2,3;DO99N=1,2,3;DO99O=1,2,3;DO99P=1,2,3;DO99Q=1,!COMMENT99999999
12,3;DO99R=1,2,3;DO99S=1,2,3;DO99T=1,2,3;DO99U=1,2,!COMMENT99999999
13;DO99V=1,2,3;DO99W=1,2,3;DO99X=1,2,3;DO99Y=1,2,3;!COMMENT99999999
1DO99Z=1,2,3;DO99A=1,2,3;DO99B=1,2,3;DO99C=1,2,3;DO!COMMENT99999999
199D=1,2,3;DO99E=1,2,3;DO99F=1,2,3;DO99G=1,2,3;DO99!MMENT9999999999
1H=1,2,3;DO99I=1,2,3;DO99J=1,2,3;DO99K=1,2,3! COMMENT999999
DO99AA=1,2,3;DO99BB=1,2,3;DO99CC=1,2,3;DO99DD=1,2,!COMMENT99999999
13;DO99EE=1,2,3;DO99FF=1,2,3;DO99GG=1,2,3;DO99HH=1,!COMMENT99999999
12,3;DO99II=1,2,3;DO99JJ=1,2,3;DO99KK=1,2,3;DO99LL=!COMMENT99999999
11,2,3;DO99MM=1,2,3;DO99NN=1,2,3;DO99OO=1,2,3;DO99P!COMMENT99999999
1P=1,2,3;DO99QQ=1,2,3;DO99RR=1,2,3;DO99SS=1,2,3;DO9!COMMENT99999999
19TT=1,2,3;DO99UU=1,2,3;DO99VV=1,2,3;DO99WW=1,2,3;D! COMMENT999999
1O99XX=1,2,3;DO99YY=1,2,3;DO99ZZ=1,2,3;DO99AA=1,2,3!COMMENT99999999
1;DO99BB=1,2,3;DO99CC=1,2,3;DO99DD=1,2,3;DO99EE=1,2!COMMENT99999999
1,3;DO99FF=1,2,3;DO99GG=1,2,3;DO99HH=1,2,3! COMMENT999999
IF(A)99,99,99;IF(B)99,99,99;IF(C)99,99,99;IF(D)99,!999999999999999
199,99;IF(E)99,99,99;IF(F)99,99,99;IF(G)99,99,99;IF!999999999999999
1(H)99,99,99;IF(I)99,99,99;IF(J)99,99,99;IF(K)99,99!999999999999999
1,99;IF(L)99,99,99;IF(M)99,99,99;IF(N)99,99,99;IF(O!999999999999999
1)99,99,99;IF(P)99,99,99;IF(Q)99,99,99;IF(R)99,99,9!999999999999999
19;IF(S)99,99,99;IF(T)99,99,99;IF(U)99,99,99;IF(V)9!999999999999999
19,99,99;IF(W)99,99,99;IF(X)99,99,99;IF(Y)99,99,99;!999999999999999
1IF(Z)99,99,99;IF(A)99,99,99;IF(B)99,99,99;IF(C)99,!999999999999999
199,99! COMMENT9999999999999999999999999999999999999999999999
IF(AA)99,99,99;IF(BB)99,99,99;IF(CC)99,99,99;IF(DD!999999999999999
1)99,99,99;IF(EE)99,99,99;IF(FF)99,99,99;IF(GG)99,9!999999999999999
19,99;IF(HH)99,99,99;IF(II)99,99,99;IF(JJ)99,99,99;!999999999999999
1IF(KK)99,99,99;IF(LL)99,99,99;IF(MM)99,99,99;IF(NN!999999999999999
1)99,99,99;IF(OO)99,99,99;IF(PP)99,99,99;IF(QQ)99,9!999999999999999
19,99;IF(RR)99,99,99;IF(SS)99,99,99;IF(TT)99,99,99;!999999999999999
1IF(UU)99,99,99;IF(VV)99,99,99;IF(WW)99,99,99;IF(XX!999999999999999
1)99,99,99;IF(YY)99,99,99;IF(ZZ)99,99,99;IF(AA)99,9!999999999999999
19,99;IF(BB)99,99,99!OMMENT9999999999999999999999999999999999999999
GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;G!T99999999999999
1OTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;GO!T99999999999999
1TO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOT!T99999999999999
1O99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO!T99999999999999
199;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO9!999999999999999
19;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99!T99999999999999
1;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;!T99999999999999
1GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;G!T99999999999999
1OTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99;GOTO99!MENT99999999999999
GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99;GO!ENT999999999999
1TO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO!ENT999999999999
1 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 9!T99999999999999
19;GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99;!ENT999999999999
1GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99;GO!ENT999999999999
1TO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO!ENT999999999999
1 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 9!T99999999999999
19;GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99;!ENT999999999999
1GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99;GOTO 99!OMMENT999999999999
DO9999A=1,2,3;DO9999B=1,2,3;DO9999C=1,2,3;DO9999D=1,2,3;DO!COMMENT
19999E=1,2,3;DO9999F=1,2,3;DO9999G=1,2,3;DO9999H=1,2,3;DO9999!MMENT
2I=1,2,3;DO9999J=1,2,3;DO9999K=1,2,3;DO9999L=1,2,3;DO9999M=!COMMENT
31,2,3;DO9999N=1,2,3;DO9999O=1,2,3;DO9999P=1,2,3;DO9999Q=1,!COMMENT
42,3;DO9999R=1,2,3;DO9999S=1,2,3;DO9999T=1,2,3;DO9999U=1,2,!COMMENT
53;DO9999V=1,2,3;DO9999W=1,2,3;DO9999X=1,2,3;DO9999Y=1,2,3;!COMMENT
6DO9999Z=1,2,3;DO9999A=1,2,3;DO9999B=1,2,3;DO9999C=1,2,3;DO!COMMENT
79999D=1,2,3;DO9999E=1,2,3;DO9999F=1,2,3;DO9999G=1,2,3;DO9999!MMENT
8H=1,2,3;DO9999I=1,2,3;DO9999J=1,2,3;DO9999K=1,2,3! COMMENT
DO9999AA=1,2,3;DO9999BB=1,2,3;DO9999CC=1,2,3;DO9999DD=1,2,!COMMENT
13;DO9999EE=1,2,3;DO9999FF=1,2,3;DO9999GG=1,2,3;DO9999HH=1,!COMMENT
22,3;DO9999II=1,2,3;DO9999JJ=1,2,3;DO9999KK=1,2,3;DO9999LL=!COMMENT
31,2,3;DO9999MM=1,2,3;DO9999NN=1,2,3;DO9999OO=1,2,3;DO9999P!COMMENT
4P=1,2,3;DO9999QQ=1,2,3;DO9999RR=1,2,3;DO9999SS=1,2,3;DO9999
5 TT=1,2,3;DO9999UU=1,2,3;DO9999VV=1,2,3;DO9999WW=1,2,3;D! COMMENT
6O9999XX=1,2,3;DO9999YY=1,2,3;DO9999ZZ=1,2,3;DO9999AA=1,2,3!COMMENT
7;DO9999BB=1,2,3;DO9999CC=1,2,3;DO9999DD=1,2,3;DO9999EE=1,2!COMMENT
8,3;DO9999FF=1,2,3;DO9999GG=1,2,3;DO9999HH=1,2,3! COMMENT
IF(A)9999,9999,9999;IF(B)9999,9999,9999;IF(C)9999,9999,9999;IF(D)9
1999,9999,9999;IF(E)9999,9999,9999;IF(F)9999,9999,9999;IF(G)9999,99
299,9999;IF(H)9999,9999,9999;IF(I)9999,9999,9999;IF(J)9999,9999,999
39;IF(K)9999,9999,9999;IF(L)9999,9999,9999;IF(M)9999,9999,9999;IF(N
4)9999,9999,9999;IF(O)9999,9999,9999;IF(P)9999,9999,9999;IF(Q)9999,
59999,9999;IF(R)9999,9999,9999;IF(S)9999,9999,9999;IF(T)9999,9999,9
6999;IF(U)9999,9999,9999;IF(V)9999,9999,9999;IF(W)9999,9999,9999;IF
7(X)9999,9999,9999;IF(Y)9999,9999,9999;IF(Z)9999,9999,9999;IF(A)999
89,9999,9999;IF(B)9999,9999,9999;IF(C)9999,9999,9999! COMMENT
IF(AA)9999,9999,9999;IF(BB)9999,9999,9999;IF(CC)9999,9999,9999;IF(
1DD)9999,9999,9999;IF(EE)9999,9999,9999;IF(FF)9999,9999,9999;IF(GG)
29999,9999,9999;IF(HH)9999,9999,9999;IF(II)9999,9999,9999;IF(JJ)999
39,9999,9999;IF(KK)9999,9999,9999;IF(LL)9999,9999,9999;IF(MM)9999,9
4999,9999;IF(NN)9999,9999,9999;IF(OO)9999,9999,9999;IF(PP)9999,9999
5,9999;IF(QQ)9999,9999,9999;IF(RR)9999,9999,9999;IF(SS)9999,9999,99
699;IF(TT)9999,9999,9999;IF(UU)9999,9999,9999;IF(VV)9999,9999,9999;
7IF(WW)9999,9999,9999;IF(XX)9999,9999,9999;IF(YY)9999,9999,9999;IF(
8ZZ)9999,9999,9999;IF(AA)9999,9999,9999;IF(BB)9999,9999,9999!OMMENT
GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;G!T
1OTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GO!T
2TO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOT!T
3O9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO!T
49999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO999
59;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999!T
6;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;!T
7GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;G!T
8OTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999;GOTO9999!MENT
GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GO!ENT
1TO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO!ENT
2 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999
3 ;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;!ENT
4GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GO!ENT
5TO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO!ENT
6 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999
7 ;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;!ENT
8GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999;GOTO 9999!OMMENT
9999 CONTINUE
99 CONTINUE
END
SUBROUTINE FTRN77
C RENBR(/DEMONSTRATE FORTRAN 77 STATEMENTS)
C
C *********************************************
C * *
C * SHORT TEST OF STATEMENTS WHICH USE ERR= *
C * *
C *********************************************
C
C STATEMENTS IN WHICH UNIT NUMBER IS RIGHT OF WORD
BACKFILE 48;BACKFILE(ERR=90);BACKFILE(48,ERR=90)
BACKSPACE 48;BACKSPACE(ERR=90);BACKSPACE(48,ERR=90)
ENDFILE 48;ENDFILE(ERR=90);ENDFILE(48,ERR=90)
REWIND 48;REWIND(ERR=90);REWIND(48,ERR=90)
SKIPFILE 48;SKIPFILE(ERR=90);SKIPFILE(48,ERR=90)
SKIPRECORD 48;SKIPRECORD(ERR=90);SKIPRECORD(48,ERR=90)
UNLOAD 48;UNLOAD(ERR=90);UNLOAD(48,ERR=90)
C
C STATEMENTS IN WHICH FORMAT NUMBER IS RIGHT OF WORD
ACCEPT 90;ACCEPT 90,48;ACCEPT(ERR=90)48
PRINT 90;PRINT 90,48;PRINT(ERR=90)48
PUNCH 90;PUNCH 90,48;PUNCH(ERR=90)48
REREAD 90;REREAD 90,48;REREAD(ERR=90)48
TYPE 90;TYPE 90,48;TYPE(ERR=90)48
C
C STATEMENTS IN WHICH (NUMBER,NUMBER CAN FOLLOW WORD
READ 90;READ 90,48;READ(ERR=90)48;READ(48,90,ERR=90)
WRITE 90;WRITE 90,48;WRITE(ERR=90)48;WRITE(48,90,ERR=90)
C
C STATEMENTS IN WHICH PARENTHESIS MUST FOLLOW WORD
CLOSE(ERR=90)
DECODE(48,90,48,ERR=90)48
ENCODE(48,90,48,ERR=90)48
FIND(ERR=90)
INQUIRE(ERR=90)
OPEN(ERR=90)
C
C ALL POSSIBLE CLAUSES WHICH USE STATEMENT NUMBER
READ(FMT=90,ERR=90,END=90,UNIT=48,IOSTAT=48)48
READ(IOSTAT=48,UNIT=48,END=90,ERR=90,FMT=90)48
C
C **************************************
C * *
C * TRY VARIATIONS OF EACH STATEMENT *
C * *
C **************************************
C
C ACCEPT STATEMENTS
ACCEPT(FMT=90,END=90,ERR=90,IOSTAT=48)
ACCEPT(FMT=90,END=90,ERR=90,IOSTAT=48)48
ACCEPT(FMT=*,END=90,ERR=90,IOSTAT=48)
ACCEPT(FMT=*,END=90,ERR=90,IOSTAT=48)48
ACCEPT 90
ACCEPT 90,48
ACCEPT *
ACCEPT *,48
C
C ASSIGN STATEMENT
ASSIGN 90 TO 48
C
C BACKFILE STATEMENTS
BACKFILE 48
BACKFILE(UNIT=48)
BACKFILE(ERR=90)
BACKFILE(UNIT=48,ERR=90)
BACKFILE(ERR=90,UNIT=48)
BACKFILE(UNIT=48,ERR=90,IOSTAT=48)
BACKFILE(ERR=90,UNIT=48,IOSTAT=48)
BACKFILE(UNIT=48,IOSTAT=48,ERR=90)
BACKFILE(48,ERR=90)
BACKFILE(48,IOSTAT=48)
BACKFILE(48,IOSTAT=48,ERR=90)
BACKFILE(48,ERR=90,IOSTAT=48)
C
C BACKSPACE STATEMENTS
BACKSPACE 48
BACKSPACE(UNIT=48)
BACKSPACE(ERR=90)
BACKSPACE(UNIT=48,ERR=90)
BACKSPACE(ERR=90,UNIT=48)
BACKSPACE(UNIT=48,ERR=90,IOSTAT=48)
BACKSPACE(ERR=90,UNIT=48,IOSTAT=48)
BACKSPACE(UNIT=48,IOSTAT=48,ERR=90)
BACKSPACE(48,ERR=90)
BACKSPACE(48,IOSTAT=48)
BACKSPACE(48,IOSTAT=48,ERR=90)
BACKSPACE(48,ERR=90,IOSTAT=48)
C
C CLOSE STATEMENTS
CLOSE(UNIT=48,ERR=90)
CLOSE(ERR=90,UNIT=48)
CLOSE(48,ERR=90)
C
C DECODE STATEMENTS
DECODE(48,90,48)48
DECODE(48,90,48)48
DECODE(48,90,48,ERR=90)48
DECODE(48,90,48,IOSTAT=48)48
DECODE(48,90,48,ERR=90,IOSTAT=48)48
DECODE(48,90,48,IOSTAT=48,ERR=90)48
C
C DO STATEMENTS
DO 90 I=48,48,48
DO 90,I=48,48,48
C
C ENCODE STATEMENTS
ENCODE(48,90,48)48
ENCODE(48,90,48)48
ENCODE(48,90,48,ERR=90)48
ENCODE(48,90,48,IOSTAT=48)48
ENCODE(48,90,48,ERR=90,IOSTAT=48)48
ENCODE(48,90,48,IOSTAT=48,ERR=90)48
C
C ENDFILE STATEMENTS
ENDFILE 48
ENDFILE(UNIT=48,ERR=90,IOSTAT=48)
ENDFILE(ERR=90,UNIT=48,IOSTAT=48)
ENDFILE(48,ERR=90)
ENDFILE(48,IOSTAT=48)
ENDFILE(48,ERR=90,IOSTAT=48)
ENDFILE(48,IOSTAT=48,ERR=90)
C
C FIND STATEMENTS
FIND(UNIT=48,REC=48,ERR=90,IOSTAT=48)
FIND(IOSTAT=48,ERR=90,REC=48,UNIT=48)
FIND(48,REC=48,ERR=90,IOSTAT=48)
FIND(48,IOSTAT=48,ERR=90,REC=48)
FIND(48'48,ERR=90,IOSTAT=48)
FIND(48'48,IOSTAT=48,ERR=90)
C
C INQUIRE STATEMENTS
INQUIRE(UNIT=48,ERR=90,IOSTAT=48)
INQUIRE(IOSTAT=48,ERR=90,UNIT=48)
C
C OPEN STATEMENTS
OPEN(UNIT=48,ERR=90)
OPEN(ERR=90,UNIT=48)
OPEN(48,ERR=90)
C
C PRINT STATEMENTS
PRINT(FMT=90,ERR=90,IOSTAT=48)48
PRINT(ERR=90,FMT=90,IOSTAT=48)48
PRINT(IOSTAT=48,ERR=90,FMT=90)48
PRINT(IOSTAT=48,FMT=90,ERR=90)48
PRINT(FMT=*,ERR=90,IOSTAT=48)48
PRINT(IOSTAT=48,ERR=90,FMT=*)48
PRINT(FMT=90)
PRINT(ERR=90)
PRINT(FMT=90,ERR=90)
PRINT(ERR=90,FMT=90)
PRINT 90,48
PRINT *,48
PRINT 90
C
C PUNCH STATEMENTS
PUNCH(FMT=90,ERR=90,IOSTAT=48)48
PUNCH(ERR=90,FMT=90,IOSTAT=48)48
PUNCH(IOSTAT=48,ERR=90,FMT=90)48
PUNCH(IOSTAT=48,FMT=90,ERR=90)48
PUNCH(FMT=*,ERR=90,IOSTAT=48)48
PUNCH(IOSTAT=48,ERR=90,FMT=*)48
PUNCH(FMT=90)
PUNCH(ERR=90)
PUNCH(FMT=90,ERR=90)
PUNCH(ERR=90,FMT=90)
PUNCH 90,48
PUNCH *,48
PUNCH 90
C
C READ STATEMENTS
READ(UNIT=48,FMT=90,REC=48,ERR=90,END=90,IOSTAT=48)48
READ(IOSTAT=48,END=90,ERR=90,REC=48,FMT=90,UNIT=48)48
READ(UNIT=*,FMT=90,REC=48,ERR=90,END=90,IOSTAT=48)48
READ(IOSTAT=48,END=90,ERR=90,REC=48,FMT=90,UNIT=*)48
READ(UNIT=48,FMT=*,REC=48,ERR=90,END=90,IOSTAT=48)48
READ(IOSTAT=48,END=90,ERR=90,REC=48,FMT=*,UNIT=48)48
READ(UNIT=*,FMT=*,REC=48,ERR=90,END=90,IOSTAT=48)48
READ(IOSTAT=48,END=90,ERR=90,REC=48,FMT=*,UNIT=*)48
READ(48,FMT=90,REC=48,ERR=90,END=90,IOSTAT=48)48
READ(48,IOSTAT=48,END=90,ERR=90,REC=48,FMT=90)48
READ(48,FMT=*,REC=48,ERR=90,END=90,IOSTAT=48)48
READ(48,IOSTAT=48,END=90,ERR=90,REC=48,FMT=*)48
READ(48,90,REC=48,ERR=90,END=90,IOSTAT=48)48
READ(48,90,IOSTAT=48,END=90,ERR=90,REC=48)48
READ(48'48,FMT=90,ERR=90,END=90,IOSTAT=48)48
READ(48'48,IOSTAT=48,END=90,ERR=90,FMT=90)48
READ(48'48,90,ERR=90,END=90,IOSTAT=48)48
READ(48'48,90,IOSTAT=48,END=90,ERR=90)48
READ 90,48
READ *,48
READ 90
C
C REREAD STATEMENTS
REREAD(FMT=90,ERR=90,IOSTAT=48)48
REREAD(ERR=90,FMT=90,IOSTAT=48)48
REREAD(IOSTAT=48,ERR=90,FMT=90)48
REREAD(IOSTAT=48,FMT=90,ERR=90)48
REREAD(FMT=*,ERR=90,IOSTAT=48)48
REREAD(IOSTAT=48,ERR=90,FMT=*)48
REREAD(FMT=90)
REREAD(ERR=90)
REREAD(FMT=90,ERR=90)
REREAD(ERR=90,FMT=90)
REREAD 90,48
REREAD *,48
REREAD 90
C
C REWIND STATEMENTS
REWIND 48
REWIND(UNIT=48)
REWIND(ERR=90)
REWIND(UNIT=48,ERR=90)
REWIND(ERR=90,UNIT=48)
REWIND(UNIT=48,ERR=90,IOSTAT=48)
REWIND(ERR=90,UNIT=48,IOSTAT=48)
REWIND(UNIT=48,IOSTAT=48,ERR=90)
REWIND(48,ERR=90)
REWIND(48,IOSTAT=48)
REWIND(48,IOSTAT=48,ERR=90)
REWIND(48,ERR=90,IOSTAT=48)
C
C SKIPFILE STATEMENTS
SKIPFILE 48
SKIPFILE(UNIT=48)
SKIPFILE(ERR=90)
SKIPFILE(UNIT=48,ERR=90)
SKIPFILE(ERR=90,UNIT=48)
SKIPFILE(UNIT=48,ERR=90,IOSTAT=48)
SKIPFILE(ERR=90,UNIT=48,IOSTAT=48)
SKIPFILE(UNIT=48,IOSTAT=48,ERR=90)
SKIPFILE(48,ERR=90)
SKIPFILE(48,IOSTAT=48)
SKIPFILE(48,IOSTAT=48,ERR=90)
SKIPFILE(48,ERR=90,IOSTAT=48)
C
C SKIPRECORD STATEMENTS
SKIPRECORD 48
SKIPRECORD(UNIT=48)
SKIPRECORD(ERR=90)
SKIPRECORD(UNIT=48,ERR=90)
SKIPRECORD(ERR=90,UNIT=48)
SKIPRECORD(UNIT=48,ERR=90,IOSTAT=48)
SKIPRECORD(ERR=90,UNIT=48,IOSTAT=48)
SKIPRECORD(UNIT=48,IOSTAT=48,ERR=90)
SKIPRECORD(48,ERR=90)
SKIPRECORD(48,IOSTAT=48)
SKIPRECORD(48,IOSTAT=48,ERR=90)
SKIPRECORD(48,ERR=90,IOSTAT=48)
C
C TYPE STATEMENTS
TYPE(FMT=90,ERR=90,IOSTAT=48)48
TYPE(ERR=90,FMT=90,IOSTAT=48)48
TYPE(IOSTAT=48,ERR=90,FMT=90)48
TYPE(IOSTAT=48,FMT=90,ERR=90)48
TYPE(FMT=*,ERR=90,IOSTAT=48)48
TYPE(IOSTAT=48,ERR=90,FMT=*)48
TYPE(FMT=90)
TYPE(ERR=90)
TYPE(FMT=90,ERR=90)
TYPE(ERR=90,FMT=90)
TYPE 90,48
TYPE *,48
TYPE 90
C
C UNLOAD STATEMENTS
UNLOAD 48
UNLOAD(UNIT=48)
UNLOAD(ERR=90)
UNLOAD(UNIT=48,ERR=90)
UNLOAD(ERR=90,UNIT=48)
UNLOAD(UNIT=48,ERR=90,IOSTAT=48)
UNLOAD(ERR=90,UNIT=48,IOSTAT=48)
UNLOAD(UNIT=48,IOSTAT=48,ERR=90)
UNLOAD(48,ERR=90)
UNLOAD(48,IOSTAT=48)
UNLOAD(48,IOSTAT=48,ERR=90)
UNLOAD(48,ERR=90,IOSTAT=48)
C
C WRITE STATEMENTS
WRITE(UNIT=48,FMT=90,REC=48,ERR=90,END=90,IOSTAT=48)48
WRITE(IOSTAT=48,END=90,ERR=90,REC=48,FMT=90,UNIT=48)48
WRITE(UNIT=*,FMT=90,REC=48,ERR=90,END=90,IOSTAT=48)48
WRITE(IOSTAT=48,END=90,ERR=90,REC=48,FMT=90,UNIT=*)48
WRITE(UNIT=48,FMT=*,REC=48,ERR=90,END=90,IOSTAT=48)48
WRITE(IOSTAT=48,END=90,ERR=90,REC=48,FMT=*,UNIT=48)48
WRITE(UNIT=*,FMT=*,REC=48,ERR=90,END=90,IOSTAT=48)48
WRITE(IOSTAT=48,END=90,ERR=90,REC=48,FMT=*,UNIT=*)48
WRITE(48,FMT=90,REC=48,ERR=90,END=90,IOSTAT=48)48
WRITE(48,IOSTAT=48,END=90,ERR=90,REC=48,FMT=90)48
WRITE(48,FMT=*,REC=48,ERR=90,END=90,IOSTAT=48)48
WRITE(48,IOSTAT=48,END=90,ERR=90,REC=48,FMT=*)48
WRITE(48,90,REC=48,ERR=90,END=90,IOSTAT=48)48
WRITE(48,90,IOSTAT=48,END=90,ERR=90,REC=48)48
WRITE(48'48,FMT=90,ERR=90,END=90,IOSTAT=48)48
WRITE(48'48,IOSTAT=48,END=90,ERR=90,FMT=90)48
WRITE(48'48,90,ERR=90,END=90,IOSTAT=48)48
WRITE(48'48,90,IOSTAT=48,END=90,ERR=90)48
WRITE 90,48
WRITE *,48
WRITE 90
C
C NUMBERED STATEMENTS
100 CONTINUE
90 CONTINUE
81 CONTINUE
73 CONTINUE
66 CONTINUE
60 CONTINUE
55 CONTINUE
51 CONTINUE
48 CONTINUE
46 CONTINUE
45 CONTINUE
END
C RENBR(PUNCT/CHECK RECOGNITION OF OPERATORS AND PUNCTUATION
IF(I.GT.20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
IF(I.GE.20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
IF(I.LT.20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
IF(I.LE.20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
IF(I.EQ.20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
IF(I.NE.20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
IF(I.NOT.20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
IF(I.AND.20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
IF(I.OR.20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
IF(I.XOR.20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
IF(I.EQV.20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
IF(I.NEQV.20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
C
J.GT.17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
J.GE.17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
J.LT.17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
J.LE.17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
J.EQ.17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
J.NE.17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
J.NOT.17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
J.AND.17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
J.OR.17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
J.XOR.17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
J.EQV.17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
J.NEQV.17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
C
C OPERATORS REPRESENTED BY PUNCTUATION MARKS
IF(I**20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
IF(I^20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
IF(I-20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
IF(I+20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
IF(I*20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
IF(I/20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
IF(I>20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
IF(I>=20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
IF(I<20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
IF(I<=20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
IF(I==20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
IF(I#20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
C
J**17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
J^17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
J-17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
J+17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
J*17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
J/17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
J>17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
J>=17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
J<17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
J<=17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
J==17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
J#17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
C
C OTHER PUNCTUATION MARKS THAT MUST BE RECOGNIZED
IF(I=20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
IF(I:20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
IF(I,20H)GO TO 48;)GO TO 48;)GO TO 90;GO TO 90
J=17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
J:17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
J,17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
C
C THE PARENTHESES THEMSELVES
J(17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
J)17HGO TO 48;GO TO 48;GO TO 90;GO TO 90
C
C NUMBERED STATEMENTS
100 CONTINUE
90 CONTINUE
81 CONTINUE
73 CONTINUE
66 CONTINUE
60 CONTINUE
55 CONTINUE
51 CONTINUE
48 CONTINUE
46 CONTINUE
45 CONTINUE
END
PROGRAM NEWCOM
C RENBR(/TEST COMMENT CHARACTERS FOR FORTRAN10)
C
GO TO 90
D GO TO 90
d GO TO 90
C GO TO 48
c GO TO 48
* GO TO 48
! GO TO 48
$ GO TO 48
/ GO TO 48
C
C NUMBERED STATEMENTS
100 CONTINUE
90 CONTINUE
81 CONTINUE
73 CONTINUE
66 CONTINUE
60 CONTINUE
55 CONTINUE
51 CONTINUE
48 CONTINUE
46 CONTINUE
45 CONTINUE
END
SUBROUTINE ACCEP1
C RENBR(/TEST FORTRAN 77 VARIATIONS OF ACCEPT)
C
C ALL VERSIONS OF ACCEPT STATEMENT WITH FMT=NUMBER
C
ACCEPT(FMT=90)48
ACCEPT(ERR=90)48
ACCEPT(END=90)48
ACCEPT(IOSTAT=48)48
ACCEPT(FMT=90,ERR=90)48
ACCEPT(FMT=90,END=90)48
ACCEPT(FMT=90,IOSTAT=48)48
ACCEPT(ERR=90,FMT=90)48
ACCEPT(ERR=90,END=90)48
ACCEPT(ERR=90,IOSTAT=48)48
ACCEPT(END=90,FMT=90)48
ACCEPT(END=90,ERR=90)48
ACCEPT(END=90,IOSTAT=48)48
ACCEPT(IOSTAT=48,FMT=90)48
ACCEPT(IOSTAT=48,ERR=90)48
ACCEPT(IOSTAT=48,END=90)48
ACCEPT(FMT=90,ERR=90,END=90)48
ACCEPT(FMT=90,ERR=90,IOSTAT=48)48
ACCEPT(FMT=90,END=90,ERR=90)48
ACCEPT(FMT=90,END=90,IOSTAT=48)48
ACCEPT(FMT=90,IOSTAT=48,ERR=90)48
ACCEPT(FMT=90,IOSTAT=48,END=90)48
ACCEPT(ERR=90,FMT=90,END=90)48
ACCEPT(ERR=90,FMT=90,IOSTAT=48)48
ACCEPT(ERR=90,END=90,FMT=90)48
ACCEPT(ERR=90,END=90,IOSTAT=48)48
ACCEPT(ERR=90,IOSTAT=48,FMT=90)48
ACCEPT(ERR=90,IOSTAT=48,END=90)48
ACCEPT(END=90,FMT=90,ERR=90)48
ACCEPT(END=90,FMT=90,IOSTAT=48)48
ACCEPT(END=90,ERR=90,FMT=90)48
ACCEPT(END=90,ERR=90,IOSTAT=48)48
ACCEPT(END=90,IOSTAT=48,FMT=90)48
ACCEPT(END=90,IOSTAT=48,ERR=90)48
ACCEPT(IOSTAT=48,FMT=90,ERR=90)48
ACCEPT(IOSTAT=48,FMT=90,END=90)48
ACCEPT(IOSTAT=48,ERR=90,FMT=90)48
ACCEPT(IOSTAT=48,ERR=90,END=90)48
ACCEPT(IOSTAT=48,END=90,FMT=90)48
ACCEPT(IOSTAT=48,END=90,ERR=90)48
ACCEPT(FMT=90,ERR=90,END=90,IOSTAT=48)48
ACCEPT(FMT=90,ERR=90,IOSTAT=48,END=90)48
ACCEPT(FMT=90,END=90,ERR=90,IOSTAT=48)48
ACCEPT(FMT=90,END=90,IOSTAT=48,ERR=90)48
ACCEPT(FMT=90,IOSTAT=48,ERR=90,END=90)48
ACCEPT(FMT=90,IOSTAT=48,END=90,ERR=90)48
ACCEPT(ERR=90,FMT=90,END=90,IOSTAT=48)48
ACCEPT(ERR=90,FMT=90,IOSTAT=48,END=90)48
ACCEPT(ERR=90,END=90,FMT=90,IOSTAT=48)48
ACCEPT(ERR=90,END=90,IOSTAT=48,FMT=90)48
ACCEPT(ERR=90,IOSTAT=48,FMT=90,END=90)48
ACCEPT(ERR=90,IOSTAT=48,END=90,FMT=90)48
ACCEPT(END=90,FMT=90,ERR=90,IOSTAT=48)48
ACCEPT(END=90,FMT=90,IOSTAT=48,ERR=90)48
ACCEPT(END=90,ERR=90,FMT=90,IOSTAT=48)48
ACCEPT(END=90,ERR=90,IOSTAT=48,FMT=90)48
ACCEPT(END=90,IOSTAT=48,FMT=90,ERR=90)48
ACCEPT(END=90,IOSTAT=48,ERR=90,FMT=90)48
ACCEPT(IOSTAT=48,FMT=90,ERR=90,END=90)48
ACCEPT(IOSTAT=48,FMT=90,END=90,ERR=90)48
ACCEPT(IOSTAT=48,ERR=90,FMT=90,END=90)48
ACCEPT(IOSTAT=48,ERR=90,END=90,FMT=90)48
ACCEPT(IOSTAT=48,END=90,FMT=90,ERR=90)48
ACCEPT(IOSTAT=48,END=90,ERR=90,FMT=90)48
C
C NUMBERED STATEMENTS
100 CONTINUE
90 CONTINUE
81 CONTINUE
73 CONTINUE
66 CONTINUE
60 CONTINUE
55 CONTINUE
51 CONTINUE
48 CONTINUE
46 CONTINUE
45 CONTINUE
END
SUBROUTINE ACCEP2
C RENBR(/TEST FORTRAN 77 VARIATIONS OF ACCEPT)
C
C ACCEPT STATEMENTS WITH FMT=* RATHER THAN FMT=NUMBER
C
ACCEPT(FMT=*)48
ACCEPT(ERR=90)48
ACCEPT(END=90)48
ACCEPT(IOSTAT=48)48
ACCEPT(FMT=*,ERR=90)48
ACCEPT(FMT=*,END=90)48
ACCEPT(FMT=*,IOSTAT=48)48
ACCEPT(ERR=90,FMT=*)48
ACCEPT(ERR=90,END=90)48
ACCEPT(ERR=90,IOSTAT=48)48
ACCEPT(END=90,FMT=*)48
ACCEPT(END=90,ERR=90)48
ACCEPT(END=90,IOSTAT=48)48
ACCEPT(IOSTAT=48,FMT=*)48
ACCEPT(IOSTAT=48,ERR=90)48
ACCEPT(IOSTAT=48,END=90)48
ACCEPT(FMT=*,ERR=90,END=90)48
ACCEPT(FMT=*,ERR=90,IOSTAT=48)48
ACCEPT(FMT=*,END=90,ERR=90)48
ACCEPT(FMT=*,END=90,IOSTAT=48)48
ACCEPT(FMT=*,IOSTAT=48,ERR=90)48
ACCEPT(FMT=*,IOSTAT=48,END=90)48
ACCEPT(ERR=90,FMT=*,END=90)48
ACCEPT(ERR=90,FMT=*,IOSTAT=48)48
ACCEPT(ERR=90,END=90,FMT=*)48
ACCEPT(ERR=90,END=90,IOSTAT=48)48
ACCEPT(ERR=90,IOSTAT=48,FMT=*)48
ACCEPT(ERR=90,IOSTAT=48,END=90)48
ACCEPT(END=90,FMT=*,ERR=90)48
ACCEPT(END=90,FMT=*,IOSTAT=48)48
ACCEPT(END=90,ERR=90,FMT=*)48
ACCEPT(END=90,ERR=90,IOSTAT=48)48
ACCEPT(END=90,IOSTAT=48,FMT=*)48
ACCEPT(END=90,IOSTAT=48,ERR=90)48
ACCEPT(IOSTAT=48,FMT=*,ERR=90)48
ACCEPT(IOSTAT=48,FMT=*,END=90)48
ACCEPT(IOSTAT=48,ERR=90,FMT=*)48
ACCEPT(IOSTAT=48,ERR=90,END=90)48
ACCEPT(IOSTAT=48,END=90,FMT=*)48
ACCEPT(IOSTAT=48,END=90,ERR=90)48
ACCEPT(FMT=*,ERR=90,END=90,IOSTAT=48)48
ACCEPT(FMT=*,ERR=90,IOSTAT=48,END=90)48
ACCEPT(FMT=*,END=90,ERR=90,IOSTAT=48)48
ACCEPT(FMT=*,END=90,IOSTAT=48,ERR=90)48
ACCEPT(FMT=*,IOSTAT=48,ERR=90,END=90)48
ACCEPT(FMT=*,IOSTAT=48,END=90,ERR=90)48
ACCEPT(ERR=90,FMT=*,END=90,IOSTAT=48)48
ACCEPT(ERR=90,FMT=*,IOSTAT=48,END=90)48
ACCEPT(ERR=90,END=90,FMT=*,IOSTAT=48)48
ACCEPT(ERR=90,END=90,IOSTAT=48,FMT=*)48
ACCEPT(ERR=90,IOSTAT=48,FMT=*,END=90)48
ACCEPT(ERR=90,IOSTAT=48,END=90,FMT=*)48
ACCEPT(END=90,FMT=*,ERR=90,IOSTAT=48)48
ACCEPT(END=90,FMT=*,IOSTAT=48,ERR=90)48
ACCEPT(END=90,ERR=90,FMT=*,IOSTAT=48)48
ACCEPT(END=90,ERR=90,IOSTAT=48,FMT=*)48
ACCEPT(END=90,IOSTAT=48,FMT=*,ERR=90)48
ACCEPT(END=90,IOSTAT=48,ERR=90,FMT=*)48
ACCEPT(IOSTAT=48,FMT=*,ERR=90,END=90)48
ACCEPT(IOSTAT=48,FMT=*,END=90,ERR=90)48
ACCEPT(IOSTAT=48,ERR=90,FMT=*,END=90)48
ACCEPT(IOSTAT=48,ERR=90,END=90,FMT=*)48
ACCEPT(IOSTAT=48,END=90,FMT=*,ERR=90)48
ACCEPT(IOSTAT=48,END=90,ERR=90,FMT=*)48
C
C NUMBERED STATEMENTS
100 CONTINUE
90 CONTINUE
81 CONTINUE
73 CONTINUE
66 CONTINUE
60 CONTINUE
55 CONTINUE
51 CONTINUE
48 CONTINUE
46 CONTINUE
45 CONTINUE
END
CRENBR/A:2(SINGLE/TEST INDENTATION OF IF BLOCKS)
I=1
IF (I) THEN
J=1
J=1
DO 1 I=1,2
K=1
K=1
IF(K)THEN
L=1
L=1
END IF
K=1
1 CONTINUE
J=1
J=1
ELSE IF (J) THEN
J=1
J=1
IF(J) THEN
K=1
K=1
DO 2 WHILE (K)
L=1
L=1
DO WHILE (L)
M=1
M=1
IF(M)THEN
N=1
N=1
ELSE
N=1
N=1
END IF
M=1
M=1
END DO
L=1
2 CONTINUE
K=1
K=1
ELSE IF
K=1
K=1
DO WHILE (K)
L=1
L=1
DO 3 WHILE (L)
M=1
M=1
IF(I)THEN
END IF
M=1
M=1
DO WHILE (M)
END DO
M=1
3 CONTINUE
L=1
L=1
DO 4 WHILE (L)
M=1
M=1
IF(I)THEN
END IF
M=1
M=1
DO 4 WHILE (M)
N=1
N=1
IF(I)THEN
END IF
N=1
4 CONTINUE
L=1
L=1
END DO
K=1
K=1
ELSE
K=1
K=1
END IF
J=1
J=1
ELSE
J=1
J=1
END IF
I=1
I=1
END
CRENBR/A:2(TRIPLE/TEST INDENTATION OF IF BLOCKS)
I=1
IF (I) THEN;J=1
J=1;DO 1 I=1,2;K=1
K=1;IF(K)THEN;L=1
L=1;END IF;K=1
1 CONTINUE;J=1
J=1;ELSE IF (J) THEN;J=1
J=1;IF(J) THEN;K=1
K=1;DO 2 WHILE (K);L=1
L=1;DO WHILE (L);M=1
M=1;IF(M)THEN;N=1
N=1;ELSE;N=1
N=1;END IF;M=1
M=1;END DO;L=1
2 CONTINUE;K=1
K=1;ELSE IF;K=1
K=1;DO WHILE (K);L=1
L=1;DO 3 WHILE (L);M=1
M=1;IF(I)THEN;END IF;M=1
M=1;DO WHILE (M);END DO;M=1
3 CONTINUE;L=1
L=1;DO 4 WHILE (L);M=1
M=1;IF(I)THEN;END IF;M=1
M=1;DO 4 WHILE (M);N=1
N=1;IF(I)THEN;END IF;N=1
4 CONTINUE;L=1
L=1;END DO;K=1
K=1;ELSE;K=1
K=1;END IF;J=1
J=1;ELSE;J=1
J=1;END IF;I=1
I=1
END
CRENBR(OPEN/TEST OPEN DO BLOCK)A5
C 3 DO LOOPS TERMINATING ON SAME STATEMENT
I=1
DO 1 I=1,2
J=1
J=1
DO 1 I=1,2
K=1
K=1
DO 1 I=1,2
L=1
L=1
1 I=1
I=1
C 3 DO LOOPS STARTING ON SAME LINE
I=1
DO 4 I=1,2;DO 3 I=1,2;DO 2,I=1,2
L=1
L=1
2 K=1
K=1
3 J=1
J=1
4 I=1
I=1
C UNTERMINATED LOGICAL BLOCKS
I=1
DO WHILE (L)
J=1
DO WHILE (L)
K=1
DO WHILE (L)
L=1
L=1
END
CRENBR/A5(/MAKE SURE FORMER LOGICAL BLOCK CLOSED)
PROGRAM NONOPN
DO WHILE(L)
J=1
DOWHILE(L)
K=1
ENDDO
J=1
ENDDO
I=1
DO WHILE(L)
J=1;DO WHILE(L);K=1;ENDDO;J=1
J=1
ENDDO
I=1
DO WHILE(L)
J=1;DO WHILE(L);K=1
K=1;ENDDO;J=1
J=1
ENDDO
I=1
DO WHILE(L)
J=1;DO WHILE(L);K=1
ENDDO;J=1
J=1
ENDDO
I=1
END
SUBROUTINE AAAA
C FOLLOWING ROUTINES TEST FIX OF A BUG IN THE LISTING
C TABLE OF CONTENTS. THIS BUG CAUSED THE NAME ASSIGNED
C BY A CRENBR LINE TO NOT BE ALPHABETICALLY ORDERED.
C COMMENT BETWEEN START AND RENBR
C RENBR(ZZZZ)
END
SUBROUTINE CCCC
C COMMENT BETWEEN START AND RENBR
C RENBR(XXXX)
END
SUBROUTINE EEEE
C COMMENT BETWEEN START AND RENBR
C RENBR(VVVV)
END
SUBROUTINE GGGG
C COMMENT BETWEEN START AND RENBR
C RENBR(TTTT)
END
SUBROUTINE IIII
C COMMENT BETWEEN START AND RENBR
C RENBR(RRRR)
END
SUBROUTINE AAAA
C COMMENT BETWEEN START AND RENBR
C RENBR(RRRR)
END
SUBROUTINE CCCC
C COMMENT BETWEEN START AND RENBR
C RENBR(TTTT)
END
SUBROUTINE EEEE
C COMMENT BETWEEN START AND RENBR
C RENBR(VVVV)
END
SUBROUTINE GGGG
C COMMENT BETWEEN START AND RENBR
C RENBR(XXXX)
END
SUBROUTINE IIII
C COMMENT BETWEEN START AND RENBR
C RENBR(ZZZZ)
END
C RENBR(IFERRS/IF(EXPRES)THEN= INDENTATION)/A5
C
C THE RENBR PROGRAM USED TO INDENT EXTRA LEVEL AFTER
C IF(EXPRESSION)THEN= STATEMENT ALTHOUGH THIS
C REALLY SHOULD NOT HAVE STARTED ANOTHER LEVEL
C
C TEST IF THEN CAN BE USED AS VARIABLE NAME
I=0
IF(A.EQ.B)THEN
J=1
IF(A.EQ.B)THEN=2
J=1
IF(A.EQ.B)THENA=2
J=1
IF(A.EQ.B)THEN
K=2
END IF=2
K=2
END IF
J=1
END IF
I=0
C
C TEST WHETHER DO WHILE CAN BE USED AS ARRAY ELEMENT
I=0
DO WHILE (I.EQ.J)
J=1
DO WHILE (I)=2
J=1
DO WHILE =2
J=1
DO WHILE (I.EQ.J)
K=2
END DO=2
K=2
END DO
J=1
END DO
I=0
C
C TEST WHETHER DO 10 WHILE CAN BE USED AS ARRAY ELEMENT
I=0
DO 20 WHILE (I.EQ.J)
J=1
DO 10 WHILE (I)=2
J=1
DO 10 WHILE =2
J=1
DO 10 WHILE (I.EQ.J)
K=2
DO 30 WHILE =2,3
L=3
DO 40 WHILE (I)=2,3
M=4
40 CONTINUE
L=3
30 CONTINUE
K=2
END DO=2
K=2
10 CONTINUE
J=1
20 CONTINUE
I=0
END
C RENBR(IF2/MORE IF(EXPRES)THEN TESTS)/A5
C
C TEST IF THEN CAN BE USED AS VARIABLE NAME
I=0
IF(A.EQ.B)THEN !THIS IS A COMMENT
1 !THIS ALSO IS A COMMENT
2 ;J=1
J=1
IF(A.EQ.B)THEN !THIS IS A COMMENT
1 A
2 ;J=1
J=1
IF(A.EQ.B)THEN!THIS IS A COMMENT
1 !THIS ALSO IS A COMMENT
12;J=1
J=1
IF(A.EQ.B)THEN!THIS IS A COMMENT
1 !THIS ALSO IS A COMMENT
1;K=2
K=2;END IF=2;K=2;END IF;J=1
J=1
END IF
I=0
C
C TEST WHETHER DO WHILE CAN BE USED AS ARRAY ELEMENT
I=0
DO WHILE (I.EQ.J);J=1;DO WHILE (I)=2;J=1;DO
1WHILE =2;J=1;DO
2WHILE (I.EQ.J)!THIS COMMENT HAS AN = SIGN IN IT
K=2;END DO=2;K=2;EN
1D DO;J=1
J=2;END DO
I=0
C
C TEST WHETHER DO 10 WHILE CAN BE USED AS ARRAY ELEMENT
I=0
DO 20 WHILE (I.EQ.J);J=1;DO 10 WHILE (I)=2;J=1;
1DO 10 WHILE =2;J=1;DO 10 WHILE (I.EQ.J);K=2
K=2
DO 30 WHILE =2,3;L=3;DO 40 WHILE (I)=2,3;M=4
M=4
40 CONTINUE
L=3
30 CONTINUE;K=2;END DO!THIS IS A COMMENT
1=2
K=2
10 CONTINUE
J=1
20 CONTINUE
I=0
END