-- file LiteralOps.Mesa
-- last modified by Satterthwaite, August 28, 1978  12:48 PM

DIRECTORY
  Literals: FROM "literals",
  StringDefs: FROM "stringdefs" USING [SubString];

LiteralOps: DEFINITIONS =
  BEGIN
  OPEN Literals;

  Initialize, Finalize: PROCEDURE;
 
 -- procedural interface for standard literals

  CopyLiteral: PROCEDURE [LTId] RETURNS [LTIndex];
  DescriptorValue: PROCEDURE [LTIndex] RETURNS [LitDescriptor];
  FindDescriptor: PROCEDURE [DESCRIPTOR FOR ARRAY OF WORD] RETURNS [LTIndex];
  Find: PROCEDURE [WORD] RETURNS [LTIndex];
  ForgetEntries: PROCEDURE RETURNS [currentSize: CARDINAL];
  Value: PROCEDURE [LTIndex] RETURNS [WORD];


 -- procedural interface for string literals

  EnumerateLocalStrings: PROCEDURE [STIndex, PROCEDURE [MSTIndex]];
  EnumerateMasterStrings: PROCEDURE [PROCEDURE [MSTIndex]];
  FindLocalString: PROCEDURE [STIndex] RETURNS [STIndex];
  FindString: PROCEDURE [StringDefs.SubString] RETURNS [STIndex];
  MasterString: PROCEDURE [sti: STIndex] RETURNS [MSTIndex];
  ResetLocalStrings: PROCEDURE RETURNS [STIndex];
  StringReference: PROCEDURE [STIndex];
  StringValue: PROCEDURE [STIndex] RETURNS [STRING];

  END.