Name

f90parse — Shell scripts that executes the right parsers and IL analyzers

Synopsis

f90parse { Fortran file } [ -F ] [ -I directory ] [ -M directory ] [ -R ] [ -r ] [ -U ] [ -u ] [ -A ] [ -Llfile ]

Description

Fortran file is the source file for which a program database (PDB) file is generated. The filename of the PDB file will have the basename of the Fortran file and the suffix ".pdb".

You can also specify additional flags necessary for your program to compile. The configure script will determine most, if not all, flags and incorporate these in cparse. Local options, such as an application include directory, can be specified here.

Options

-F Fixed form for source. By default, the form is free. In fixed form positions (columns) 1-5 can be used only for lables, position 6 is for continuation and a "C" or "*" is for comment lines. The main program must fall in positions 7-72.

-I<dir> Adds a directory dir to the list of directories searched for INCLUDE statements.

-M<dir> Specifies a list of directories for searching module definition files. Members of the list must be separated by semicolon. While modules are defined or used this option is mandatory.

-R Suppress folding constant expressions but those that either are public constant values of modules or define parameters of type.

-r Issue remarks, which are diagnostic messages even milder than warnings.

-U Case sensitivity for identifiers.

-u Disable implicit typing of identifiers. This has the same effect as IMPLICIT NONE statement as applied to the file.

-A Warn about use of non-F90 features, disable features that conflict with F90.

-Llfile Generate raw listing information in the file lfile. This information is used to generate a formatted listing where each line begins with a key character that identifies the type: N - Normal line S - Comment line R - Remark diagnostics W - Warning diagnostics E - Error diagnostics C - Catastrophic error diagnostics.

Note

The Fortran 90 parser included in PDT adheres very strictly to the F90 language specification and does not comply with extensions to the language typically implemented by vendors. This includes real*8 or integer*8 types, kind parameters, and some continuation fields in fixed form. In some cases, the source must be modified to comply with the standard before the PDT front-end can parse the program. f95parse may be used to parse codes that f90parse cannot handle.

Example

f90parse example.f90