DIRECTORY Rope, SymTab, TextNode; MesaAnalyses: CEDAR DEFINITIONS = { ROPE: TYPE = Rope.ROPE; MesaAnalysis: TYPE = REF MesaAnalysisPrivate; MesaAnalysisPrivate: TYPE = RECORD [ moduleName: ROPE, moduleType: ModuleType, globalDefs: SymbolTable, interfaceRecords, interfaceTypes, interfaceElements: SymbolTable, openedWithoutUsingList: IRList _ NIL, bodyStart, prefixEnd: INT ]; ModuleType: TYPE = {defs, prog, monitor}; SymbolTable: TYPE = SymTab.Ref; --Domain is ROPEs, case sensitive PositionRange: TYPE = RECORD [before, after: INT]; InterfaceType: TYPE = REF InterfaceTypePrivate; InterfaceTypePrivate: TYPE = RECORD [ namePos: PositionRange, name, typeClass, fileHint: ROPE, usingList: SymbolTable--name _ $T-- _ NIL ]; IRList: TYPE = LIST OF InterfaceRecord; InterfaceRecord: TYPE = REF InterfaceRecordPrivate; InterfaceRecordPrivate: TYPE = RECORD [ namePos: PositionRange, name: ROPE, type: InterfaceType ]; InterfaceElement: TYPE = REF InterfaceElementPrivate; InterfaceElementPrivate: TYPE = RECORD [ name: ROPE, interface: InterfaceRecord ]; TiogaNode: TYPE = TextNode.Ref; GetAnalysis: PROC [doc: TiogaNode, docName: ROPE, verbose: BOOL] RETURNS [ma: MesaAnalysis]; }. ¦MesaAnalyses.mesa Mike Spreitzer January 22, 1987 9:55:08 pm PST Covers chars in [before .. after). If verbose, pacifiers will be printed in the MessageWindow. Κψ– "cedar" style˜code™K™.—K˜KšΟk œ˜!K˜šΟn œœ œ˜#K˜Kšœœœ˜K˜Kšœœœ˜-šœœœ˜$Kšœ œ˜K˜K˜K˜AKšœ!œ˜%Kšœ˜K˜—K˜Kšœ œ˜)K˜Kšœ œΟc!˜AK˜šœœœœ˜2K™"—K˜Kšœœœ˜/šœœœ˜%Kšœ˜Kšœœ˜ KšœŸΠcmŸœ˜)K˜—K˜Kšœœœœ˜'Kšœœœ˜3šœœœ˜'Kšœ˜Kšœœ˜ Kšœ˜K˜—K˜Kšœœœ˜5šœœœ˜(Kšœœ˜ Kšœ˜K˜—K˜Kšœ œ˜K˜š ž œœœ œœ˜\K™;—K˜K˜——…—ͺH