DIRECTORY IO USING [STREAM], RegularExpression USING [Finder], Rope USING [ROPE]; Grep: CEDAR DEFINITIONS = { Switches: TYPE = {oncePerLine, textOnly, locations, verbose, fileNamesOnly, except, quiet}; SwitchSettings: TYPE = ARRAY Switches OF BOOLEAN; GetSwitches: PROC[cmdLine: LIST OF Rope.ROPE, prefixLen: INT _ 2] RETURNS[ switches: SwitchSettings, remainder: LIST OF Rope.ROPE ]; RegularOutput: PROC[switches: SwitchSettings] RETURNS[ yes: BOOL ]; GrepStream: PROC[ pattern: RegularExpression.Finder, inStream, outStream: IO.STREAM, switches: SwitchSettings, fileName: Rope.ROPE, interrupt: REF BOOL ] RETURNS [numberOfHits: INT]; }. Grep.mesa Copyright Σ 1985, 1986 by Xerox Corporation. All rights reserved. Jim Donahue July 16, 1985 8:20:20 am PDT Peter Kessler May 12, 1987 5:31:20 pm PDT Ken Fishkin, June 19, 1991 4:24 pm PDT TRUE for the default settings of all of the switches Κ[˜codešœ ™ KšœB™BK™(K™)K™&—K˜šΟk ˜ Kšœœœ˜Kšœœ ˜!Kšœœœ˜—K˜šΟbœœ œ˜K˜Kšœ œM˜[K˜Kš œœœ œœ˜1K˜K•StartOfExpansion[SafeStorage.TypeIndex]šΟn œœ œœœ œœ'œœœ˜„K˜šŸ œœœœ˜CKšœ4™4—K˜KšŸ œœ:œœ+œ œœœœ˜Ά—˜K˜——…—ˆε