(****************************************
*                                       *
*     MODULA-2 Multi-Pass Compiler      *
*     ****************************      *
*                                       *
*       VAX/VMS Implementation          *
*                                       *
*                                       *
*     MVCPublic:                        *
*                                       * 
*     public part of the common base    *
*     of the Modula-2 compiler          *
*                                       * 
*     Version 3.1 of  1-FEB-1983        *
*                                       *
*                                       *
*                                       *
*                                       *
*     Based on PDP11 Implementation:    *
*     Version M22 of 17.03.81           *
*					*
*     Institut fuer Informatik          *
*     ETH-Zuerich                       *
*     CH-8092 Zuerich                   *
*                                       *
****************************************)

(****************************************
* Updates: see implementation module    *
****************************************)

DEFINITION MODULE MVCPublic;

  FROM FileNames IMPORT FileName;
  FROM FileSystem IMPORT File;

  EXPORT QUALIFIED
         Compilerstatus, Statset,
         MVCompilerVersion,
         compstat, comptime, symfileextension, source,
         optStrings,
         InterInFile, InterOutFile, modFile, lstFile, symFile, objFile;


  TYPE
    Compilerstatus = (globerrs, passerrs, symerrs, defs, syms, compiles,
                      checks, crossrefs, debugs, listings, logs,
                      machinecodes, objects, querys, symfiles);
    Statset = SET OF Compilerstatus;

  VAR
    (* files used by the compiler *)
    InterInFile,   (* input-interpass file *)
    InterOutFile,  (* output-interpass file *)
    modFile,       (* compiler input file *)
    lstFile,       (* listing file *)
    symFile,       (* symbol file *)
    objFile: File; (* object file file *)

    MVCompilerVersion: ARRAY [0..23] OF CHAR;
    optStrings: ARRAY [checks..symfiles] OF ARRAY [0..30] OF CHAR;
    source : FileName;
    compstat : Statset; (* status communication in compiler *)
    comptime : ARRAY [0..1] OF CARDINAL;
    symfileextension : ARRAY [0..3] OF CHAR; (* filename extension of
                                                symbol files *)

END MVCPublic.
