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.