{
 History
 -------

 28/10/85 - Remove StartAncillaries, AppendEntry. (agh)
 07/11/85 - Add spec for RefSize. (agh)
 04/12/85 - Modify specs for InxReference and InxWReference. (agh)
                                                                      }

procedure GetEntry(var Entry: StackEntry);
  extern;

procedure FreeEntry(Entry: StackEntry);
  extern;

procedure Push(Entry: StackEntry);
  extern;

procedure Pop(var Entry: StackEntry);
  extern;

procedure InitStack;
  extern;

procedure GetReference(var NewEntry: StackEntry);
  extern;

procedure PushNewAccess(var Entry: StackEntry; ForAPartWord: Boolean);
  extern;

procedure PreserveAccess(var Entry: StackEntry);
  extern;

procedure StackReference(Indirect: Boolean; Location: RunTimeAddress);
  extern;

procedure InxReference(PackedArray: Boolean;
                       LowBound, HighBound: ObjectValue;
                       Element: TypeRepresentation);
  extern;

procedure InxWReference(PackedArray: Boolean;
                        LowBound, HighBound: ObjectValue;
                        Element: TypeRepresentation);
  extern;

procedure InxCAPReference(PackedSchema, InnerMost: Boolean;
                          LowBound, HighBound: CAPBound;
                          Component: TypeRepresentation);
  extern;

procedure InxCAPWReference(PackedSchema, InnerMost: Boolean;
                           LowBound, HighBound: CAPBound;
                           Component: TypeRepresentation);
  extern;

procedure DoVariantChecks(VarPart: TypEntry; FieldId: IdEntry);
  extern;

procedure FieldReference(Filed: FieldOffset; TagField: Boolean);
  extern;

procedure IndirectReference(APointer: Boolean);
  extern;

procedure PnterReference;
  extern;

procedure BufferReference(PackedFile, TextFile: Boolean;
                          Element: TypeRepresentation);
  extern;

function SimpleReference(Entry: StackEntry): Boolean;
  extern;

function RefSize(Entry: StackEntry): ByteRange;
  extern;