INTEGER NVAL(4,20) LOGICAL*1 MATRIX(20,32),FINAME(30),FONAME(30) WRITE(5,1980) 1980 FORMAT('$Name of input file (containing symbol definitions): ') READ(5,1981)FINAME 1981 FORMAT(30A1) WRITE(5,1982) 1982 FORMAT('$Name of output file (to be used with XPR /S): ') READ(5,1981)FONAME DO 1983 I=30,1,-1 1983 IF(FINAME(I).GT.' ')GOTO1984 I=0 1984 FINAME(I+1)=0 DO 1985 I=30,1,-1 1985 IF(FONAME(I).GT.' ')GOTO1986 I=0 1986 FONAME(I+1)=0 OPEN(UNIT=1,NAME=FONAME,TYPE='NEW',CARRIAGECONTROL='LIST') OPEN(UNIT=3,NAME=FINAME,READONLY,TYPE='OLD') 1000 READ(3,1,END=99)NCHR,NWID 1 FORMAT(3I4) IF(NCHR.LT.32.OR.NCHR.GT.127.OR.NWID.LT.1.OR.NWID.GT.20)GOTO9888 DO 2 J=1,32 2 READ(3,3,END=9777)(MATRIX(K,J),K=1,NWID) 3 FORMAT(24A1) DO 5 L=1,NWID DO 5 JJ=4,1,-1 J=JJ*8-7 NV=0 DO 4 K=7,0,-1 NV=NV*2 4 IF(MATRIX(L,J+K).NE.' ')NV=NV+1 5 NVAL(JJ,L)=NV WRITE(1,52)NCHR,NWID 52 FORMAT(I3,',',I2,',') WRITE(1,55)((NVAL(J,K),J=1,4),K=1,20) 55 FORMAT((4(O3,','))) GOTO1000 99 CLOSE(UNIT=1) CALL EXIT 9888 WRITE(5,9889)NCHR,NWID 9889 FORMAT(' BAD DEFINITION: NCHR=',I6,', NWID=',I6) GOTO99 9777 WRITE(5,9778) 9778 FORMAT(' END-OF-FILE IN INPUT BEFORE COMPLETE CHARACTER READ') GOTO99 END