DIRECTORY LupineManagerPrivate USING [Language, Nest, Options, String, StringNIL], LupineSymbolTable USING [SymbolHandle, TypeHandle]; LupineDeclare: DEFINITIONS = BEGIN OPEN LupineManagerPrivate, ST: LupineSymbolTable; TransferName: PROCEDURE [transfer: ST.SymbolHandle] RETURNS[name: String]; WriteTransferName: PROCEDURE [transfer: ST.SymbolHandle]; ParameterName: PROCEDURE [ parameter: ST.SymbolHandle, parameterNumber: INTEGER] RETURNS [name: String]; WriteParameterName: PROCEDURE [ parameter: ST.SymbolHandle, parameterNumber: INTEGER]; WriteSymbolName: PROCEDURE [symbol: ST.SymbolHandle]; WriteSymbolType: PROCEDURE [symbol: ST.SymbolHandle]; WriteTypeName: PROCEDURE [type: ST.TypeHandle, includeReadonly: BOOLEAN_TRUE]; DirectoryItem: TYPE = RECORD [ module: String, usingAll, usingSome: String_StringNIL, -- Use just one, not both. openName: String_StringNIL, usedIn: PACKED ARRAY InterfaceUse OF FalseBoolean_ALL[FALSE], forLanguage: PACKED ARRAY Language OF FalseBoolean_ALL[TRUE] ]; InterfaceUse: TYPE = {imports, exports, shares, beginOpen}; FalseBoolean: TYPE = BOOLEAN _ FALSE; DirectoryList: TYPE = LONG DESCRIPTOR FOR READONLY ARRAY OF DirectoryItem; EmptyDirectoryList: DirectoryList = NIL; ModuleNameList: TYPE = LONG DESCRIPTOR FOR READONLY ARRAY OF String; Directory: PROCEDURE [ includeInterfaceDirectory: BOOLEAN_TRUE, extraDirectories: DirectoryList_EmptyDirectoryList, options: Options, nest: Nest_0 ]; ModuleHead: PROCEDURE [ moduleNames: ModuleNameList, moduleType: String, interfaceList: DirectoryList_EmptyDirectoryList, options: Options, nest: Nest_0 ]; InterfaceList: PROCEDURE [ use: InterfaceUse, targetSystem: Language, interfaceList: DirectoryList, beginText, endText: String_StringNIL, nest: Nest ]; ImportExport: TYPE = {import, export}; BindingInterface: PROCEDURE [options: Options]; BindingRoutinesStandard: PROCEDURE [kind: ImportExport, options: Options]; BindingRoutinesDynamic: PROCEDURE [kind: ImportExport, options: Options]; BindingRoutinesPrivate: PROCEDURE [kind: ImportExport, options: Options]; ProcedureIndex: PROCEDURE [nest: Nest_1]; SignalIndex: PROCEDURE [nest: Nest_1]; DispatcherType: TYPE = {client, server, callback, none}; DispatcherHead: PROCEDURE [type: DispatcherType, nest: Nest]; DispatcherSelect: PROCEDURE [type: DispatcherType, nest: Nest]; DispatcherTail: PROCEDURE [type: DispatcherType, nest: Nest]; TransferDeclaration: TYPE = {inInterface, inRoutine}; TransferSite: TYPE = {caller, callee}; PktSite: TYPE = {stubFrame, rpcRuntime}; ProcedureStub: PROCEDURE [ transfer: ST.SymbolHandle, transferType: ST.TypeHandle, transferDeclaration: TransferDeclaration, signalDispatcherType: DispatcherType, options: Options, nest: Nest ]; DispatcherStubArm: PROCEDURE [ transfer: ST.SymbolHandle, transferType: ST.TypeHandle, transferDeclaration: TransferDeclaration, options: Options, nest: Nest ]; DispatcherStubBody: PROCEDURE [ transfer: ST.SymbolHandle, transferType: ST.TypeHandle, transferDeclaration: TransferDeclaration, inlineBody: BOOLEAN, options: Options, nest: Nest ]; SignalCode: PROCEDURE [ transfer: ST.SymbolHandle, transferType: ST.TypeHandle, transferDeclaration: TransferDeclaration, options: Options, nest: Nest ]; SignalCatchStub: PROCEDURE [ transfer: ST.SymbolHandle, transferType: ST.TypeHandle, transferDeclaration: TransferDeclaration, signalDispatcherType: DispatcherType _ none, options: Options, nest: Nest ]; END. -- LupineDeclare. |File [Ivy]Lupine>LupineDeclare.mesa. Last edited by BZM on 10-May-82 18:41:34. LupineDeclare is exported by modules LupineDeclare*Impl. Last Edited by: Birrell, September 8, 1983 4:35 pm General symbol and type routines: Directory and interface manipulation routines: Binding code generation routines: Other code generation routines: Stub code generation routines: Ê­˜Jšœ,™,Jšœ)™)J˜Jšœ8™8J™2J˜šÏk ˜ Jšœœ.˜HJšœœ˜3J˜J˜—šœ œ˜Jšœœœ˜7J˜J˜—Jšœ!™!˜šÏn œ œ œ˜3Jšœ˜J˜—Jšžœ œ œ˜9J˜šž œ œ˜Jšœ œ˜Jšœœ˜Jšœ˜J˜—šžœ œ˜Jšœ œ˜Jšœœ˜J˜—Jšžœ œ œ˜5J˜Jšžœ œ œ˜5J˜Jš ž œ œœœœ˜NJ˜—J˜Jšœ.™.˜šœœœ˜J˜Jšœ(Ïc˜BJ˜Jš œœœœœœ˜=Jš œ œœ œœœ˜?J˜—Jšœœ)˜;Jšœœœœ˜%Jšœœœ œœœœœ˜JJšœ$œ˜(Jšœœœ œœœœœ˜DJ˜šž œ œ˜Jšœœœ˜(J˜3J˜J˜J˜—šž œ œ˜J˜J˜J˜0J˜J˜J˜—šž œ œ˜˜J˜—J˜J˜%J˜ J˜——J˜Jšœ!™!˜Jšœœ˜&J˜Jšžœ œ˜/J˜Jšžœ œ(˜JJ˜Jšžœ œ(˜IJ˜Jšžœ œ(˜IJ˜J˜J˜J˜—Jšœ™˜Jšžœ œ˜)J˜Jšž œ œ˜&J˜J˜Jšœœ$˜8J˜Jšžœ œ$˜=J˜Jšžœ œ$˜?J˜Jšžœ œ$˜=J˜—J˜Jšœ™˜Jšœœ˜5Jšœœ˜&Jšœ œ˜(J˜šž œ œ˜Jšœ œ˜Jšœœ ˜J˜)J˜%J˜J˜ J˜—šžœ œ˜Jšœ œ˜Jšœœ ˜J˜)J˜J˜ J˜—šžœ œ˜Jšœ œ˜Jšœœ ˜J˜)Jšœ œ˜J˜J˜ J˜—šž œ œ˜Jšœ œ˜Jšœœ ˜J˜)J˜J˜ J˜—šžœ œ˜Jšœ œ˜Jšœœ ˜J˜)J˜,J˜J˜ J˜—JšœŸ˜J˜——…— œÅ