file LiteralOps.Mesa
last modified by Satterthwaite, February 18, 1983 9:16 am
Last Edited by: Maxwell, July 27, 1983 11:43 am
DIRECTORY
Alloc: TYPE USING [Handle],
ConvertUnsafe: TYPE USING [SubString],
Literals: TYPE,
Symbols: TYPE USING [Type];
LiteralOps: DEFINITIONS = {
OPEN Literals;
Initialize: PROC [Alloc.Handle, UNCOUNTED ZONE];
Finalize: PROC;
discrimination
WordIndex: PROC [index: LitIndex] RETURNS [LTIndex] = INLINE {
RETURN [NARROW[index, LitIndex.word].lti]};
StringIndex: PROC [index: LitIndex] RETURNS [STIndex] = INLINE {
RETURN [NARROW[index, LitIndex.string].sti]};
procedural interface for standard literals
ValueDescriptor: TYPE = LONG DESCRIPTOR FOR ARRAY OF WORD;
CopyLiteral: PROC [LTId] RETURNS [LitIndex.word];
DescriptorValue: PROC [LTIndex] RETURNS [LitDescriptor];
FindDescriptor: PROC [LiteralOps.ValueDescriptor] RETURNS [LitIndex.word];
Find: PROC [WORD] RETURNS [LitIndex.word];
ForgetEntries: PROC RETURNS [currentSize: CARDINAL];
Value: PROC [LTIndex] RETURNS [WORD];
procedural interface for string literals
EnumerateHeapStrings: PROC [PROC [STIndex]];
EnumerateLocalStrings: PROC [STIndex, PROC [MSTIndex]];
EnumerateMasterStrings: PROC [PROC [MSTIndex]];
FindHeapString: PROC [STIndex, Symbols.Type] RETURNS [STIndex];
FindLocalString: PROC [STIndex] RETURNS [STIndex];
FindString: PROC [ConvertUnsafe.SubString] RETURNS [LitIndex.string];
MasterString: PROC [sti: STIndex] RETURNS [MSTIndex];
ResetLocalStrings: PROC RETURNS [STIndex];
StringReference: PROC [STIndex];
StringValue: PROC [STIndex] RETURNS [LONG STRING];
TextType: PROC [STIndex] RETURNS [Symbols.Type];
}.