**********************************************
README file: vast90 for SPARC Solaris 2.x
**********************************************
Files:
f90.Z -- Fortran 90 driver
libvast90.a.Z -- runtime library of Fortran 90 instrinsics
vast90 -- VAST-90 executable
**********************************************
Update: 09/07/93 Version 1.02V
**********************************************
How to install vast90:
To install vast90, after tar'ing the contents of the 2 diskettes
simply execute the script, BUILD.vast90
> BUILD.vast90
This will create the vast90 executable.
Also, do:`
uncompress libvast90.a.Z
uncompress f90.Z
How to run vast90:
To translate a Fortran 90 to Fortran 77 file or vice-versa,
simply type the following on the command line:
vast90 file.f[90]
If the file suffix is '.f', vast90 translates from F77 --> F90 and
puts the output in 'Vfile.f90'
If the file suffix is '.f90' or '.m' (for modules), vast90 translates
from F90 --> F77 and puts the output in 'Vfile.f'
Modules do not have to be located in '.m' files, but MUST always
be translated before they are used !
If you wish to generate a listing file then use
the '-l' option as follows:
vast90 -l lst file.f90 ! translates from F90 --> F77, puts the
! output to Vfile.f, and listing to lst
-OR-
vast90 -pl file.f90 ! which puts the listing file to stdout
For further information on how to invoke vast90, see the
VAST-90 User's Guide.
NOTE: Not all new F90 I/O enhancements are translated. Non-advancing
output is translated while non-advancing input is not. Some
edit descriptors are translated, such as the repeat count before
a slash (2/)
All other features of Fortran 90 --> Fortan 77 have been implemented.
These features include (but not limited to): All array syntax;
Interfaces (generic, operators,assignments); derived types; modules;
internal procedures; Fortran 90 control statements ( while, where,
cycle, exit, case,...); allocatable arrays.
The following Fortan 77 --> Fortan 90 features are available with
this version: Generate Array syntax; change branches to loop bottom
to CYCLEs, branches after the loop to BREAKs;
change IF..ELSEIF...ELSE to Case constructs; remove lables from DOs;
create modules from common; create modules from includes;
generate free form format.
Fortran 77 --> Fortran 90 features not available: change hollerith
to character, change statement functions to internal procedures,
get rid of alternate returns, generation of interface files.
VAST-90 makes several default assumptions that should be noted here:
Fortran 77 input is assumed to be fixed form : use -xa if source is
free form
Fortran 90 input is assumed to be free form : use -ya if source is
fixed form.
When translating F77 --> F90, vast90 generates Free form by default:
use -yb to generate fixed form output.
When translating F90 --> F77, vast90 generates Fixed form by default:
use -xb to generate free form output.
When translating F77 --> F90, vast90 attempts to create modules
from commons. This feature is controlled by the 'm' option and may
be turned off by specifying the switch -ym. Additionally, vast90
attempts to create modules based upon commons and parameters from
INCLUDEs. This mode has higher priority than generating modules
based on the common name. Creating modules from includes is
controlled by the 'h' switch and may be turned off by specifying
'-yh'.
***********************************************
Included among these files is the Fortran 90 intrinsics library,
libvast90.a, this will be needed when the translated output has references
to intrinsics and a v90 executable that enables you to execute vast and
the Fortran 77 compiler in one step. It is not necessary to specify
the library, libvast90.a, on the compilation command as long as libvast90.a
exists somewhere in your search path. If libvast90.a is not in your search
path, then you must specify the pathname explicitly.
How to use VAST-90 or F90 to create an executable:
> v90 -o executable -Wvpl file.m file.f90
! this will execute VAST-90 on file.m and file.f90
! and generate a listing file to stdout (you might want to redirect
! the output). The resulting translation
! files will then be compiled by the f77 compiler and linked with
! the executable created named executable
OR run VAST-90 and the Compiler/Linker Separately
> vast90 -pl file.m file.f90
> f77 -o executable Vfile_m.f Vfile.f
execute executable
Note: when using the v90 driver, if compilation is successful
the translated source file (Vfilename.f) is deleted.
ALSO, remember to translate modules before they are used !!!
*** Problems with installation ***
In executing VAST90, system message complains of a library that
is not found (ld.so: libF77.so.1: not found) :
try executing the following command in your .login or .cshrc file
> setenv LD_LIBRARY_PATH library-path
"library-path" is system dependent but is usually in
/usr/lang/SC1.0
If this works, you should include this command in your .login or
.file
If you experience any other problems, please contact us.
***********************************************
If you have any questions or suggestions, please contact the
Computer Products Group, Pacific-Sierra Research, (310) 314-2338
attention: David McNamara (dave@psrv.com), FAX: (310) 314-2323
***********************************************

21. Aug 1997
Wilhelm
Gehrke
gehrke@rrzn.uni-hannover.de