-- Lookup.mesa last edit, Bruce July 15, 1980 12:23 PM
DIRECTORY
DebugFormat USING [BBHandle, BitAddress, Foo],
Literals USING [LitRecord],
MachineDefs USING [FHandle, GFHandle, MaxParmsInStack, SVPointer],
PrincOps USING [ProcDesc, SignalDesc],
Symbols USING [CTXIndex, HTIndex, HTNull, ISEIndex, SEIndex];
Lookup: DEFINITIONS =
BEGIN OPEN DebugFormat, MachineDefs, Symbols;
HTIndex: TYPE = Symbols.HTIndex;
InCtx: PROC [id: HTIndex, ctx: CTXIndex] RETURNS [Foo];
InGF: PROC [id: HTIndex, gf: GFHandle ← NIL, check: BOOLEAN ← TRUE]
RETURNS [Foo];
InMod: PROC [id: HTIndex, mod: HTIndex ← Symbols.HTNull] RETURNS [Foo];
InLF: PROC [id: HTIndex, lf: FHandle ← NIL, check: BOOLEAN ← TRUE]
RETURNS [Foo];
InBreakBlock: PROC [id: HTIndex, bb: BBHandle] RETURNS [Foo];
OnStack: PROC [id: HTIndex, lf: FHandle ← NIL, check: BOOLEAN ← TRUE]
RETURNS [Foo];
Signal: PROC [PrincOps.SignalDesc] RETURNS [ISEIndex];
Proc: PROC [PrincOps.ProcDesc] RETURNS [ISEIndex];
StateCtx: PROC [
sei: SEIndex, sv: SVPointer, io: InOut,
max: CARDINAL ← MaxParmsInStack]
RETURNS [f: Foo];
XferCtx: PROC [SEIndex, LONG POINTER, InOut] RETURNS [Foo];
InOut: TYPE = {in,out};
StringToHti: PROC [STRING] RETURNS [HTIndex];
HtiToString: PROC [HTIndex, STRING];
Flavor: TYPE = {manifest, refVal, refProc, val, inline, controlLink,
unrelocatedControlLink};
Mode: PROCEDURE [isei: Symbols.ISEIndex] RETURNS [Flavor];
MakeFoo: PROC [
isei: ISEIndex, ba: BitAddress ← [NIL, 0], sizeInc: CARDINAL ← 0]
RETURNS [Foo];
CopyLiteral: PROC [info: Literals.LitRecord]
RETURNS [p: POINTER, length: CARDINAL];
CopyMore: PROC [tsei: SEIndex, doVariants: BOOLEAN ← FALSE];
Complete: PROC [ictx: CTXIndex, variants: BOOLEAN ← FALSE];
Fail: SIGNAL [s: STRING];
NotRelocated: SIGNAL RETURNS [LONG POINTER];
END.