Copyright (C) 1997, Digital Equipment Corporation
All rights reserved.
See the file COPYRIGHT for a full description.
Last modified on Mon Jan 27 18:37:50 PST 1997 by heydon
INTERFACE BuiltInSlots;
Records the slots numbers for the built-in APPLY and CLOSE procedures.
These are represented as user-defined procedures, but they are treated
specially by the compiler and assembler.
IMPORT JunoAST, JunoScope, Rd, Wr;
PROCEDURE Init(scp: JunoScope.T);
Initialize the globals in this module from the scope scp. This procedure
must be called before any compilations/assemblies are performed.
PROCEDURE IsApplySlot(slot: CARDINAL): BOOLEAN;
PROCEDURE IsCloseSlot(slot: CARDINAL): BOOLEAN;
Return TRUE iff slot is the slot for the APPLY or CLOSE procedure,
respectively.
PROCEDURE IsApplyProc(nm: JunoAST.QId): BOOLEAN;
PROCEDURE IsCloseProc(nm: JunoAST.QId): BOOLEAN;
Return TRUE iff nm is an annotated name for the APPLY or CLOSE
procedure, respectively.
PROCEDURE Save(wr: Wr.T);
PROCEDURE Restore(rd: Rd.T);
Save/restore close and apply to/from wr/rd.
END BuiltInSlots.