<> <> DIRECTORY HashTable, Rope, TextNode; DefDWIM: CEDAR DEFINITIONS = { ROPE: TYPE = Rope.ROPE; Location: TYPE = TextNode.Location; FindDef: Finder; <> Finder: TYPE = PROC [subjectRope: ROPE, from: Place, deep, verbose: BOOL, interrupt: REF BOOL _ NIL] RETURNS [fp: FoundPlace]; <> <> <> <> Place: TYPE = RECORD [fileName: ROPE, loc: Location, searchOrder: SearchOrder]; noplace: Place = [NIL, [NIL, -1958], bkwdThenFwd]; SearchOrder: TYPE = {fwdThenBkwd, bkwdThenFwd, fromStart}; FoundPlace: TYPE = RECORD [where: Place, nameEnd: Location]; <> Failure: ERROR [where: Place, why: ROPE]; Register: PROC [languageTest: LanguageTest, finder: Finder]; LanguageTest: TYPE = PROC [Place] RETURNS [BOOL]; }.