1 ! ***** PRODUCE DICTIONARY FROM SEQUENTIAL TEXT FILE ***** 2 ! 3 ! TEXT INPUT SHOULD HAVE EXTENSION ".TXT" 4 ! DICTIONARY OUTPUT WILL HAVE EXTENSION ".DCT" 5 ! TEMPORY FILES USED: ".A01" 6 ! 7 ! IMPLEMENTED BY TRYGVE LODE (LODE/AM) (8/26/85) 8 ! OF LODE DATA CORPORATION, DENVER, COLORADO 9 ! 10 ! USE WITH DO FILE "DICTON.DO" 20 STRSIZ 100 30 MAP1 S,S,100 40 RECSIZ = 1 100 INPUT "File to produce dictionary for: ",N$ : OPEN #1,N$+".TXT",INPUT 110 OPEN #2,N$+".DCT",OUTPUT : ? "Creating initial word list." 120 INPUT LINE #1,S : IF EOF(1)=1 THEN 210 130 K = 1 : S = UCS(S) 140 IF (K > LEN(S)) THEN 120 150 IF NOT((S[K,K]<"0") OR (S[K,K]>"9" AND S[K,K]<"A") OR (S[K,K]>"Z")) THEN 170 153 K=K+1 : GOTO 140 160 IF (K > LEN(S)) THEN 120 170 J = 0 : W$ = "" 180 IF (S[K,K]<"0") OR (S[K,K]>"9" AND S[K,K]<"A") OR (S[K,K]>"Z") THEN 190 181 J=J+1 : W$=W$+S[K,K] 183 K=K+1 : IF (K <= LEN(S)) THEN 180 190 PRINT #2,W$ : IF RECSIZ < LEN(W$) THEN RECSIZ = LEN(W$) 200 GOTO 140 210 CLOSE #1 : CLOSE #2 220 OPEN #1,N$+".DCT",INPUT : OPEN #2,N$+".A01",OUTPUT 230 ? "Maximum word length = ";RECSIZ : ? "beginning sort." 240 XCALL BASORT,1,2,RECSIZ,RECSIZ,1,0 250 ? "Sort completed." : ? "Writing dictionary." : ? : ? 260 CLOSE #1 : CLOSE #2 270 OPEN #1,N$+".A01",INPUT : OPEN #2,N$+".DCT",OUTPUT 280 Z$="" 290 INPUT #1,S$ : IF EOF(1)=1 THEN 320 300 IF S$=Z$ THEN ? "*"; ELSE Z$=S$ : PRINT #2,S$ : ?:? S$; 310 GOTO 290 320 CLOSE #1 : CLOSE #2 : ? : ? "Done."