1 RATFIV
 Ratfiv is a structured Fortran preprocessor  providing  SWITCH,  IF  -
 ELSE,  WHILE,  FOR,  DO,  REPEAT  -  UNTIL, STRING, and BREAK and NEXT
 constructs.  Also supported are INCLUDE  files,  DEFINE  for  symbolic
 constants  and macros with arguments, conditional compilation, formats
 in read, write, encode, and decode  statements,  use  of  >,  <,  etc.
 instead  of  .GT.,  .LT.,  etc.,  and  the  RETURN  VALUE construct in
 functions.  Ratfiv is descended from the  Ratfor  compiler  originally
 described in the book "Software Tools", by Kernighan and Plauger.

 For complete documentation, print ICR$DOCUMENT:RATFIV.DOC.
2 Compiling
 The COMPILE utility is used to compile Ratfiv programs.  COMPILE first
 invokes  the  Ratfiv  preprocessor  to translate Ratfiv programs (file
 type .RAT) into Fortran, then invokes the Fortran 77 compiler.   After
 a  successful  Fortran  77  compilation, COMPILE deletes the .FOR file
 automatically unless  the  /KEEP  switch  is  specified  on  COMPILE's
 command  line.   Note  that normal Fortran 77 switches (such as /LIST)
 may be passed to COMPILE.  For example,


      $ COMPILE/LIST/NODEBUG FILE

 produces FILE.FOR, FILE.OBJ, and FILE.LIS.  The .FOR file  is  deleted
 automatically  unless there is an error since the /KEEP switch was not
 specified on COMPILE's command line.
2 Errors
 If the Ratfiv preprocessor detects an error in the Ratfiv source code,
 Ratfiv prints an error message to the terminal and to the .FOR file at
 the point where the error occurred, and COMPILE does  not  invoke  the
 Fortran compiler.

 Many Fortran errors cannot be detected by Ratfiv;  when  these  occur,
 check  the  Fortran  77  listing  file  for  the error message.  It is
 usually not too hard to figure out where  in  the  Ratfiv  source  the
 error is, once it has been found in the Fortran source.
2 Qualifiers
/SYMBOLS
 The /SYMBOLS switch causes Ratfiv to look on the default directory for
 a  file  named  "SYMBOLS.";   this file is opened and read as a prefix
 file to the other files on the command line.  If "SYMBOLS." is not  on
 the  default  directory,  Ratfiv  opens  "SYS$PUBLIC:SYMBOLS.",  which
 contains some standard defines in it, such as EOS, EOF, etc.

/F77 (D)
 The /F77 switch causes Ratfiv to produce VAX Fortran 77 output instead
 of  "standard"  Fortran.   The  Fortran  77  output is compatible with
 Digital Equipment Corporation VAX Fortran 77;  it is not ANSII Fortran
 77, as it uses the DO WHILE and END DO statements.

/HOLLERITH
 The /HOLLERITH switch causes  Ratfiv  to  put  out  hollerith  strings
 instead  of  quoted  strings.   This  switch  is  included  mainly for
 compatibility with versions of Ratfor which put out hollerith strings.
 So far, this switch has been needed only when compiling routines which
 call DEC VAX macro routines which expect hollerith strings  for  their
 arguments  instead  of  character  descriptors.  Since Ratfiv normally
 produces  quoted  strings,  Fortran  "open"   statements   and   other
 statements  which  require  quoted  strings  may  be  used  in  Ratfiv
 programs.

