-- ModuleSymbols.mesa
--   Last edited by Lewis on  5-Jan-82 15:31:11
--   Last edited by Satterthwaite, December 28, 1982 1:21 pm

DIRECTORY
  BcdDefs: TYPE USING [MTIndex],
  PackageSymbols: TYPE USING [
    ConstRecord, InnerPackRecord, JISeq, OPIndex, OuterPackRecord, PCSeq],
  String: TYPE USING [SubString];

ModuleSymbols: DEFINITIONS={
  OPEN PackageSymbols;

  outerPackArray: READONLY LONG DESCRIPTOR FOR ARRAY OF OuterPackRecord;
  innerPackArray: READONLY LONG DESCRIPTOR FOR ARRAY OF InnerPackRecord;
  constArray:     READONLY LONG DESCRIPTOR FOR ARRAY OF ConstRecord;
  
  loadCodeOffsetTable: READONLY PCSeq;
  loadCodeByteOffsetTable: READONLY PCSeq;
  jumpIndirectTable: READONLY JISeq;
  
  Initialize: PROC [nModules: CARDINAL];
  Finalize: PROC;

  Load: PROC [mti: BcdDefs.MTIndex];
  Unload: PROC;

  FindProc: PROC [ss: String.SubString] RETURNS [OPIndex];

  InvalidSymbols: ERROR;
  SymbolsProblem: SIGNAL;

  }.