(****************************************
*                                       *
*     MODULA-2 Multi-Pass Compiler      *
*     ****************************      *
*                                       *
*       VAX/VMS Implementation          *
*                                       *
*                                       *
*     MVCIO4:                           *
*                                       *
*     Input/Output handling in Pass 4   *
*                                       * 
*     Version 3.1 of  1-FEB-1983        *
*                                       *
*                                       *
*                                       *
*     Based on PDP11 Implementation     *
*     Version M22 of 22.01.81           *
*                                       *
*     Institut fuer Informatik          *
*     ETH-Zentrum                       *
*     CH-8092 Zuerich                   *
*                                       *
****************************************)

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

DEFINITION MODULE MVCIO4; (* PDP11: A. Gorrengourt / Ch. Jacobi *)
                          (* VAX:   M. Mall                     *)

  FROM SYSTEM IMPORT BYTE, SHORTWORD, WORD;
  FROM MVCompiler IMPORT Idptr, Stptr, Constval, Symbol;

  EXPORT QUALIFIED sy, val, nptr, csptr, line, pos, firstsy, printlc,
                   testIndex, testSubrange, debug,
                   PutByte, PutShortWord, PutWord, PutRecord,
                   GetSy, StartIO,
                   Assert, CompError, Error;

  VAR
    sy: Symbol;
    val: Constval;
    nptr:  Idptr;
    csptr: Stptr;
    line, pos: CARDINAL;
    firstsy: BOOLEAN; (* symbol returned in sy is first symbol on current line *)
    testIndex, testSubrange, debug: BOOLEAN;
    printlc: CARDINAL;

  PROCEDURE PutByte (b : BYTE);

  PROCEDURE PutShortWord (s: SHORTWORD);

  PROCEDURE PutWord (w: WORD);

  PROCEDURE PutRecord;

  PROCEDURE GetSy;

  PROCEDURE StartIO;

  PROCEDURE Assert (b : BOOLEAN);

  PROCEDURE CompError;

  PROCEDURE Error (n : CARDINAL);

END MVCIO4.
