27 lines
1 KiB
Text
27 lines
1 KiB
Text
string 0; \use zero-terminated strings
|
|
int MaxLen, Pass, I, Ch, Ch0;
|
|
char Word(25);
|
|
def LF=$0A, CR=$0D, EOF=$1A;
|
|
[FSet(FOpen("unixdict.txt", 0), ^I);
|
|
MaxLen:= 0;
|
|
for Pass:= 1 to 2 do
|
|
[OpenI(3);
|
|
repeat I:= 0; Ch0:= 0;
|
|
loop [repeat Ch:= ChIn(3) until Ch # CR; \remove possible CR
|
|
if Ch=LF or Ch=EOF then
|
|
[if I > MaxLen then MaxLen:= I;
|
|
if I=MaxLen & Pass=2 then
|
|
[Word(I):= 0; Text(0, Word); CrLf(0)];
|
|
quit;
|
|
];
|
|
Word(I):= Ch;
|
|
if Ch < Ch0 then
|
|
[repeat Ch:= ChIn(3) until Ch=LF or Ch=EOF;
|
|
quit;
|
|
];
|
|
Ch0:= Ch;
|
|
I:= I+1;
|
|
];
|
|
until Ch = EOF;
|
|
];
|
|
]
|