Trailing-Edge
-
PDP-10 Archives
-
decuslib20-02
-
decus/20-0034/retest.for
There are 2 other files named retest.for 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 TABS
C FOLLOWING COMMENTS HAVE ASTERISK WHERE TABS APPEAR
C IN INPUT, ALSO SLASHES HAVE REPLACED THE DIGIT NINE
CC
CC MOVE TO LEFT IF START BEYOND COLUMN 7
CGO TO 48
C GO TO 48
C GO TO 48
C GO TO 48
C GO TO 48
C GO TO /0
C GO TO /0
C GO TO /0
C GO TO /0
CC
CC INITIAL TABS (NEW STATEMENT IF START WITH
CC NON-DIGIT REGARDLESS OF PLACEMENT)
C*GO TO /0
C**GO TO /0
C***GO TO /0
C****GO TO /0
C*****GO TO /0
C******GO TO /0
C*******GO TO /0
C********GO TO /0
C*********GO TO /0
CC
CC COMBINATION INITIAL TAB AND BLANKS
C *GO TO /0
C * *GO TO /0
C * * *GO TO /0
C * * * *GO TO /0
C* GO TO /0
C* * GO TO /0
C* * * GO TO /0
C* * * * GO TO /0
CC
CC CONTINUATION LINES
C GO
C 1TO /0
C GO
C ATO /0
C GO
C 1TO /0
C GO
C 1TO /0
C GO
C 1TO /0
C*GO
C*1TO /0
C GO
C*1TO /0
C*GO
C 1TO /0
C*GO
C 1TO /0
C*GO
C ATO /0
CC
CC ZERO IN CONTINUATION COLUMN
CC INITIAL BLANKS
C 0GO TO /0
C 0GO TO /0
C 0GO TO /0
C 0GO TO /0
CC INITIAL TABS
C*0GO TO /0
C**0GO TO /0
C***0GO TO /0
CC INITIAL TABS AND BLANKS
C *0GO TO /0
C * *0GO TO /0
C * * *0GO TO /0
C * * * *0GO TO /0
CC
CC NUMBERED STATEMENTS
CD 100 CONTINUE
C /0*CONTINUE
C 8 10CONTINUE
C7 3**CONTINUE
CD66 CONTINUE
C 60 CONTINUE
CI 55*CONTINUE
C51* 0CONTINUE
C48 0CONTINUE
C 460CONTINUE
CD 450CONTINUE
C END
C
C MOVE TO LEFT IF START BEYOND COLUMN 7
GO TO 48
GO TO 48
GO TO 48
GO TO 48
GO TO 48
GO TO 90
GO TO 90
GO TO 90
GO TO 90
C
C INITIAL TABS (NEW STATEMENT IF START WITH
C NON-DIGIT REGARDLESS OF PLACEMENT)
GO TO 90
GO TO 90
GO TO 90
GO TO 90
GO TO 90
GO TO 90
GO TO 90
GO TO 90
GO TO 90
C
C COMBINATION INITIAL TAB AND BLANKS
GO TO 90
GO TO 90
GO TO 90
GO TO 90
GO TO 90
GO TO 90
GO TO 90
GO TO 90
C
C CONTINUATION LINES
GO
1TO 90
GO
ATO 90
GO
1TO 90
GO
1TO 90
GO
1TO 90
GO
1TO 90
GO
1TO 90
GO
1TO 90
GO
1TO 90
GO
ATO 90
C
C ZERO IN CONTINUATION COLUMN
C INITIAL BLANKS
0GO TO 90
0GO TO 90
0GO TO 90
0GO TO 90
C INITIAL TABS
0GO TO 90
0GO TO 90
0GO TO 90
C INITIAL TABS AND BLANKS
0GO TO 90
0GO TO 90
0GO TO 90
0GO TO 90
C
C NUMBERED STATEMENTS
D 100 CONTINUE
90 CONTINUE
8 10CONTINUE
7 3 CONTINUE
D66 CONTINUE
60 CONTINUE
I 55 CONTINUE
51 0CONTINUE
48 0CONTINUE
460CONTINUE
D 450CONTINUE
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
SU BROUTINE T ABS
C ROUTINE TO TEST TABS WITHIN STATEMENTS
C FOLLOWING COMMENTS HAVE ASTERISK WHERE TABS APPEAR
C IN INPUT, ALSO SLASHES HAVE REPLACED THE DIGIT NINE
C
C*SU*BROUTINE T*ABS
C*GO*TO*/*0*
C*RE*AD*(*48,*/*0*)READ(48,48)
C*WRITE*(4*8,/*0*)*READ(48,48)
C*I*F(A.E*Q.B)*GO*TO*/0
C**D*O*/*0*I*=*48,48
C100*CONTINUE
C/ 0*CONTINUE
C8 1*CONTINUE
C7 3*CONTINUE
C6 6*CONTINUE
C6 0*CONTINUE
C55*CONTINUE
C5 1*CONTINUE
C4 8*CONTINUE
C4 6*CONTINUE
C45*CONTINUE
C*E*N*D**
C
GO TO 9 0
RE AD ( 48, 9 0 )READ(48,48)
WRITE (4 8,9 0 ) READ(48,48)
I F(A.E Q.B) GO TO 90
D O 9 0 I = 48,48
C
C NUMBERED STATEMENTS
100 CONTINUE
9 0 CONTINUE
8 1 CONTINUE
7 3 CONTINUE
6 6 CONTINUE
6 0 CONTINUE
55 CONTINUE
5 1 CONTINUE
4 8 CONTINUE
4 6 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
CFOLLOWING LINES TEST TAB CONVERSION IN LISTER OUTPUT
C2345678*0123456*8+01234*678+012*45678+0*2345678*0
C *
C * * * * * *
CCC* *CC* *CC* *CC* *CC* *CC* *
CCCCC* *CCCC* *CCCC* *CCCC* *CCCC* *CCCC* *
C2345678*0123456*8+01234*678+012*45678+0*2345678*0
C R E N B R R / (COMENT/TABS AND NUMBERS IN COMMENTS)
C STATEMENT NUMBER /90 SHOULD BE REPLACED BY 2
C /90 48 / 90 48 /NOTHING 48 / 90 /
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
CRENBR (TABZROTEST/TEST TABS AND ZEROES AT START OF LINE)
CFOLLOWING LINES HAVE ASTERISKS * WHEN TABS ARE USED
CAND THESE COMMENTS HAVE / IN PLACE OF DIGIT NINE
C*IF(TAB)GO TO /0
C**IF(TAB TAB)GO TO /0
C* *IF(TAB BLANK TAB)GO TO /0
CD*IF(D TAB)GO TO /0
CD**IF(D TAB TAB)GO TO /0
CD* *IF(D TAB BLANK TAB)GO TO /0
C IF(6-BLANKS)GO TO /0
C IF(12-BLANKS)GO TO /0
CD IF(D 5-BLANKS)GO TO /0
CD IF(D 11-BLANKS)GO TO /0
C100 IF(100 10-BLANKS)GO TO /0
C/0 0 CONTINUE
C81*0**IF(81 TAB 0 TAB TAB)GO TO /0
C 7 3 0 IF(BLANK 7 BLANK 3 BLANK 0 5-BLANKS)GO TO /0
C66 IF(66 10-BLANKS)GO TO /0
C60 0 IF(60 10-BLANKS 0 5-BLANKS)GO TO /0
C55**0IF(55 TAB TAB 0)GO TO /0
C51**0*IF(51 TAB TAB 0 TAB)GO TO /0
CD48**0 CONTINUE
CD46**0 *IF(D 46 TAB TAB 0 2-BLANKS TAB)GO TO /0
C45 0 IF(45 3-BLANKS 0 3-BLANKS)GO TO /0
C*END
IF(TAB)GO TO 90
IF(TAB TAB)GO TO 90
IF(TAB BLANK TAB)GO TO 90
D IF(D TAB)GO TO 90
D IF(D TAB TAB)GO TO 90
D IF(D TAB BLANK TAB)GO TO 90
IF(6-BLANKS)GO TO 90
IF(12-BLANKS)GO TO 90
D IF(D 5-BLANKS)GO TO 90
D IF(D 11-BLANKS)GO TO 90
100 IF(100 10-BLANKS)GO TO 90
90 0 CONTINUE
81 0 IF(81 TAB 0 TAB TAB)GO TO 90
7 3 0 IF(BLANK 7 BLANK 3 BLANK 0 5-BLANKS)GO TO 90
66 IF(66 10-BLANKS)GO TO 90
60 0 IF(60 10-BLANKS 0 5-BLANKS)GO TO 90
55 0IF(55 TAB TAB 0)GO TO 90
51 0 IF(51 TAB TAB 0 TAB)GO TO 90
D48 0 CONTINUE
D46 0 IF(D 46 TAB TAB 0 2-BLANKS TAB)GO TO 90
45 0 IF(45 3-BLANKS 0 3-BLANKS)GO TO 90
END
CRENBR(CONTINUATION LINES/TEST CONTINUE AFTER COMMENT)
CFOLLOWING SPACINGS SHOULD BE OBTAINED IF REMOVE INITIAL C
C********5IF(TAB 5)GO TO 48
C****************5IF(TAB TAB 5)GO TO 48
C*****5IF(5-BLANKS 5)GO TO 48
C*****5*****IF(5-BLANKS 5 5-BLANKS)GO TO 48
C******IF(TAB TAB
C*****1**TAB TAB 1 TAB
C*****2**TAB 1 TAB ) GO TO 2
C*****0IF(5-BLANKS 0 5-BLANKS
C*****1*****5-BLANKS 1 5-BLANKS
C*****2**********5-BLANKS 1 10-BLANKS)GO TO 2
CD***1*IF(D 100 10-BLANKS
CD****1**********10-BLANKS 1 10-BLANKS)GO TO 2
C****2*CONTINUE
C****3*CONTINUE
C****4*IF(73 TAB TAB
C*****1**********TAB 1 TAB TAB)GO TO 2
C****5*CONTINUE
C****6*CONTINUE
C****7*CONTINUE
C****8*CONTINUE
C****/*CONTINUE
C***10*CONTINUE
C***11*CONTINUE
C******END
CCONTINUATION LINES AFTER COMMENTS SHOULD BE LEFT UNCHANGED
5IF(TAB 5)GO TO 48
5IF(TAB TAB 5)GO TO 48
5IF(5-BLANKS 5)GO TO 48
5 IF(5-BLANKS 5 5-BLANKS)GO TO 48
CTEST WRAPAROUND PREVENTION WHEN REMOVE INITIAL BLANKS
CFROM FIRST LINE OF STATEMENT
IF(TAB TAB
1 TAB TAB 1 TAB
1 TAB 1 TAB ) GO TO 90
0 IF(5-BLANKS 0 5-BLANKS
1 5-BLANKS 1 5-BLANKS
1 5-BLANKS 1 10-BLANKS)GO TO 90
D100 IF(D 100 10-BLANKS
1 10-BLANKS 1 10-BLANKS)GO TO 90
90 CONTINUE
81 CONTINUE
73 IF(73 TAB TAB
1 TAB 1 TAB TAB)GO TO 90
66 CONTINUE
60 CONTINUE
55 CONTINUE
51 CONTINUE
48 CONTINUE
46 CONTINUE
45 CONTINUE
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