Copyright Digital Equipment Corp. All rights reserved.

MODULE

 A module is a set of instructions that can be compiled, but  not
 executed,  by  itself.  Module blocks contain only a declaration
 section and TO BEGIN DO and TO END DO sections.

 Syntax:

    [[attribute-list]]
    MODULE comp-unit-identifier [[({file-identifier},...)]];
      [[declaration-section]]
      [[TO BEGIN DO statement;]]
      [[TO END DO statement;]]
      END.


 The 'attribute-list' is one or  more  identifiers  that  provide
 additional information about the compilation unit.

 The 'comp-unit-identifier' specifies the name  of  the  program.
 The  identifier  appears  only  in  the heading and has no other
 purpose within the compilation unit.

 The 'file-identifier' specifies the names of any file  variables
 associated with the external files used by the compilation unit.

 The 'declaration-section' is a VSI Pascal declaration section.

 The 'statement' is any VSI Pascal statement.

 Each module must  be  in  a  separate  file;  you  cannot  place
 multiple  modules  (or a module and a program) in the same file.
 You can compile modules and a  program  together  or  separately
 (the  syntax  of  compilation  depends  on  the operating system
 command-line interpreter you are using).

 The module syntax of VSI Pascal is slightly different than  that
 of Extended Pascal.  However, the concepts in both languages are
 the same.

 The module heading includes all information preceding the module
 block.   If  your program contains any input or output routines,
 you must list all the external file variables that you are using
 in  the  compilation unit's heading.  File variables listed in a
 heading must also be declared locally in the block,  except  for
 the predeclared file variables INPUT and OUTPUT.

 The INPUT identifier corresponds to a predefined  external  file
 that  accepts  input  from  the  default  device  (usually, your
 terminal); the OUTPUT identifier  corresponds  to  a  predefined
 external  file that sends output to the default device (usually,
 your terminal).

 If you redeclare INPUT or OUTPUT in a  nested  block,  you  lose
 access to the default input or output devices.