DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(chill.info.gz) Separate compilation

Info Catalog (chill.info.gz) Conversions (chill.info.gz) Top (chill.info.gz) Differences
 
 Separate compilation
 ********************
 
    The GNU CHILL compiler supports modular programming.  It allows the
 user to control the visibility of variables and modes, outside of a
 MODULE, by the use of GRANT and SEIZE directives.  Any location or mode
 may be made visible to another MODULE by GRANTing it in the MODULE
 where it is defined, and SEIZEing it in another MODULE which needs to
 refer to it.
 
    When variables are GRANTed in one or more modules of a CHILL source
 file, the compiler outputs a grant file, with the original source file
 name as the base name, and the extension `.grt'.  All of the variables
 and modes defined in the source file are written to the grant file,
 together with any use_seize_file directives, and the GRANT directives.
 A grant file is created for every such source file, except if an
 identical grant file already exists.  This prevents unnecessary
 makefile activity.
 
    The referencing source file must:
 
   1. specify the grant file in a use_seize_file directive, and
 
   2. SEIZE each variable or mode definition that it needs.
 
    An attempt to SEIZE a variable or mode which is not GRANTed in some
 seize file is an error.
 
    An attempt to refer to a variable which is defined in some seize
 file, but not explicitly granted, is an error.
 
    An attempt to GRANT a variable or mode which is not defined in the
 current MODULE is an error.
 
    Note that the GNU CHILL compiler will *not* write out a grant file
 if:
 
    * there are no GRANT directives in the source file, or
 
    * the entire grant file already exists, and is      identical to the
      file which the compiler has just built.  (This latter "feature"
      may be removed at some point.)
 
    Otherwise, a grant file is an automatic, unsuppressable result of a
 successful CHILL compilation.
 
    A future release will also support using remote spec modules in a
 similar (but more Blue Book-conforming) manner.
 
Info Catalog (chill.info.gz) Conversions (chill.info.gz) Top (chill.info.gz) Differences
automatically generated byinfo2html