(****************************************
*                                       *
*     MODULA-2 Multi-Pass Compiler      *
*     ****************************      *
*                                       *
*         PDP11 Implementation          *
*                                       *
*                                       *
*     M2CPublic:                        *
*                                       * 
*     public part of the common base    *
*     of the M2M compiler               *
*                                       * 
*                                       *
*     Institut fuer Informatik          *
*     ETH-Zuerich                       *
*     CH-8092 Zuerich                   *
*                                       *
*     Modified for UNIX by              *
*     Mick Jordan                       *
****************************************)

DEFINITION MODULE MCPublic;


  EXPORT QUALIFIED
    FileName,
    Compile,
    il1File, il2File, ascFile,
    tempname,
    modFile, lstFile, symFile, refFile, objFile,
    Compilerstatus, Statset, compstat,
    filenam, sourcefilename,
    comptime, symfileextension;


TYPE
    tempname = ARRAY [0..18] OF CHAR;
    FileName = ARRAY [0..79] OF CHAR;
  VAR
    (* file numbers of files used by the compiler *)
    il1File : CARDINAL; (* interpass file *)
    il2File : CARDINAL; (* interpass file *)
    ascFile : CARDINAL; (* identifier table file *)
    modFile : CARDINAL; (* compiler input file *)
    lstFile : CARDINAL; (* listing file *)
    symFile : CARDINAL; (* symbol file *)
    refFile : CARDINAL; (* reference file *)
    objFile : CARDINAL; (* code and linker instruction file *)
    filenam, sourcefilename : FileName;

  TYPE
    Compilerstatus = (globerrs, passerrs, symerrs, defs, syms,
                      listings, querys, compiles, finis);
    Statset = SET OF Compilerstatus;

  VAR
    compstat  : Statset; (* status communication in compiler *)

  VAR
    comptime : ARRAY [0..2] OF CARDINAL;
      (* date, minute, millisecond *)

    symfileextension : ARRAY [0..2] OF CHAR; 
      (* filename extension of symbol files *)

  PROCEDURE Compile;
  (*  Initiate the compilation *)

    
END MCPublic.
