
    <<LiteralOps.Mesa>>
        <<Copyright  1985 by Xerox Corporation.  All rights reserved.>>
        <<Satterthwaite, June 19, 1986 10:07:19 am PDT>>
        <<Paul Rovner, September 7, 1983 5:58 pm>>
        <<Russ Atkinson (RRA) March 6, 1985 10:06:31 pm PST>>

    DIRECTORY
        Alloc: TYPE USING [Handle],
        ConvertUnsafe: TYPE USING [SubString],
        Literals: TYPE,
        Symbols: TYPE USING [Type];

    LiteralOps: DEFINITIONS = {
        OPEN Literals;

        Initialize: PROC[Alloc.Handle];
        Finalize: PROC;

    <<procedural interface for standard literals>>

        CopyLiteral: PROC[LTId] RETURNS[LTIndex];
        DescriptorValue: PROC[LTIndex] RETURNS[LitDescriptor];
        FindDescriptor: PROC[LONG DESCRIPTOR FOR PACKED ARRAY OF Byte] RETURNS[LTIndex];
        Find: PROC[CARD] RETURNS[LTIndex];
        ForgetEntries: PROC RETURNS[currentSize: CARD];
        Value: PROC[LTIndex] RETURNS[CARD];


    <<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[STIndex];
        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];

        }.

