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; ]; ]