LupineManagerPrivate.mesa.
Copyright © 1985 by Xerox Corporation. All rights reserved.
Last edited by BZM on March 15, 1982 4:54 PM.
Last Edited by: Birrell, September 8, 1983 3:45 pm
Last Edited by: Swinehart, February 8, 1985 8:59:28 am PST
Bob Hagmann February 12, 1985 12:51:56 pm PST
DIRECTORY
IO USING [PutChar, PutRope, STREAM, Value],
LupineManager USING [
ErrorCode, ErrorHandlerProc, ErrorType, Language,
Options, ParamPassingMethod, String, StringNIL ],
Rope USING[ ROPE, Length ];
LupineManagerPrivate: DEFINITIONS
IMPORTS IO, Rope
= BEGIN
Lupine-wide types and constants.
String: TYPE = LupineManager.String;
StringNIL: String = LupineManager.StringNIL;
Options: TYPE = LupineManager.Options;
Language: TYPE = LupineManager.Language;
ParamPassingMethod: TYPE = LupineManager.ParamPassingMethod;
ErrorType: TYPE = LupineManager.ErrorType;
ErrorCode: TYPE = LupineManager.ErrorCode;
ErrorHandlerProc: TYPE = LupineManager.ErrorHandlerProc;
Code file output routines.
OpenCodeFile: PROCEDURE [codeModuleName: String, numberOfOutputFiles: INT ← 1 ];
OutputToAllFiles: PROCEDURE ;
NextOutputFile: PROCEDURE ;
StampCodeFile: PROCEDURE [codeModuleName: String];
CloseCodeFile: PROCEDURE;
formattedStream: PRIVATE IO.STREAM;
WFC: PROC[c: CHAR] =
INLINE BEGIN formattedStream.PutChar[c] END;
WF1: PROC[format: Rope.ROPE, v1: IO.Value];
WFS1, WriteFormattedString: PUBLIC PROCEDURE [s01: String] =
INLINE BEGIN formattedStream.PutRope[s01]; END;
WFS, WriteFormattedStrings: PROCEDURE [
s01, s02, s03: String←StringNIL ];
WFSL, WriteFormattedStringsLong: PROCEDURE [
s01, s02, s03, s04, s05, s06, s07, s08, s09, s10,
s11, s12, s13, s14, s15, s16, s17, s18: String←StringNIL];
WFL, WriteFormattedLine: PUBLIC PROCEDURE [
nest: Nest, s01, s02, s03: String←StringNIL ];
WFL1, WriteFormattedLine1: PUBLIC PROCEDURE [nest: Nest, s01: String];
WFLL, WriteFormattedLineLong: PUBLIC PROCEDURE [
nest: Nest, s01, s02, s03, s04, s05, s06: String←StringNIL ];
Nest: TYPE = INTEGER[0..LAST[INTEGER]];
Indent: PROCEDURE [nest: Nest] RETURNS [tabsAndSpaces: String];
Translation-time error handling.
ExplanationProc: TYPE = PROCEDURE [explanation: String];
ReportError: PROCEDURE [type: ErrorType, code: ErrorCode, problemText: String];
GiveExplanation: PROCEDURE [code: ErrorCode, explainer: ExplanationProc];
Abort: PUBLIC PROC [code: ErrorCode, problemText: String←StringNIL] =
INLINE {ReportError[abort, code, problemText]};
Error: PUBLIC PROC [code: ErrorCode, problemText: String←StringNIL] =
INLINE {ReportError[error, code, problemText]};
Warning: PUBLIC PROC [code: ErrorCode, problemText: String←StringNIL] =
INLINE {ReportError[warning, code, problemText]};
Random utilities.
ModuleTypes: TYPE = {
interface, openedInterface,
control, client, clientBinder, server,
rpcPublic, rpcPrivate,
lupineRuntime };
ModuleName: PROCEDURE [module: ModuleTypes] RETURNS [name: String];
StampTranslationOptions: PROCEDURE [options: Options];
SHORT: PROCEDURE [long: LONG INTEGER] RETURNS [INTEGER] =
INLINE {RETURN[ long ]};
IsNull: PROCEDURE [string: String] RETURNS [--yes:-- BOOLEAN] =
INLINE {RETURN[ string.Length[]=0 ]};
END. -- LupineManagerPrivate.
Bob Hagmann February 12, 1985 12:51:57 pm PST
changes to: ModuleTypes