-- BcdComData.mesa
-- last edited by Satterthwaite on September 14, 1982 4:00 pm

DIRECTORY
  Alloc: TYPE USING [Handle],
  BcdDefs: TYPE USING [FTIndex, NameRecord, VersionStamp],
  CommandUtil: TYPE USING [PairList],
  File: TYPE USING [Capability],
  OSMiscOps: TYPE USING [Stamp],
  Stream: TYPE USING [Handle],
  Strings: TYPE USING [String];

BcdComData: PROGRAM = PUBLIC {

 -- mode
 
  op: {bind, conc} ← $bind;
  
 -- scratch storage
 
  table: Alloc.Handle;
  zone: UNCOUNTED ZONE;
  
 -- input

  rootName:      Strings.String ← NIL;

  sourceName:    Strings.String ← NIL;
  sourceVersion: BcdDefs.VersionStamp;
  sourceStream:  Stream.Handle;

  commandArgs:   CommandUtil.PairList;

 -- error reporting

  logStream:     Stream.Handle;
  errorStream:   Stream.Handle;

  textIndex:     CARDINAL;
  currentName:   BcdDefs.NameRecord;

  errors:        BOOL;
  warnings:      BOOL;
  nErrors:       CARDINAL;
  nWarnings:     CARDINAL;
  aborted:	 BOOL;

 -- output

  objectStream:  Stream.Handle;
  outputFile:    File.Capability;
  outputFti:     BcdDefs.FTIndex;

  bcdName:       Strings.String ← NIL;
  objectStamp:   OSMiscOps.Stamp;
  codeName:      Strings.String ← NIL;
  symbolName:    Strings.String ← NIL;

  nConfigs:      CARDINAL;
  nModules:      CARDINAL;
  nImports:      CARDINAL;
  nExports:      CARDINAL;
  nPages:        CARDINAL;
  typeExported:  BOOL;
  
 -- global info for config
 
  binderVersion: BcdDefs.VersionStamp;
  copyCode:      BOOL;
  copySymbols:   BOOL;
  debug:         BOOL;

  }.