|
| ForCheck |
| Static analyzer for FORTRAN code |
|
|
|
|
|
|
|
| Forcheck operates on the source code and analyses the individual program units (main programs, modules, external procedures, block data's) to verify the entire program integrity. It produces extensive documentation. Forcheck supports FORTRAN 66, FORTRAN 77, FORTRAN 90, HPF, FORTRAN 95 and many language extensions. |
|
| Window Vista Support |
|
| ForCheck is compatible with the latest Windows Vista. |
|
| Program-unit Analysis |
|
| During Program-unit analysis Forcheck verifies the syntax and static semantics of the program unit precisely. Optionally the syntax can be verified for conformance to the FORTRAN 77, FORTRAN 90 or FORTRAN 95 standard. Obsolescent and deleted FORTRAN 90 and FORTRAN 95 syntax can be flagged. |
|
| Forcheck signals unassigned variables, data type conflicts, illegal transfer of control, inconsistent usage of procedures, illegal usage of intrinsic procedures, extensions of common-blocks through equivalencies, etc. |
|
| Program-unit Information |
|
| Forcheck lists the source code and composes cross-reference tables for all syntactic elements program and procedure entries, named constants, labels, variables, derived types, referenced procedures common blocks and external input/output. For all of these items the data types and operation codes (action performed) are presented. |
|
| Reference Structure |
|
| Forcheck can compose a hierarchical call-tree of all referenced procedures for all or specified roots. Recursive references are flagged. Unreferenced procedures with their references are presented in separate trees. |
|
| Global Program Analysis |
|
| Forcheck verifies the type of all referenced procedures and argument lists. Beside inspection of the number of arguments and argument data types, Forcheck informs you if an argument is a constant, expression, or occurrence more than once in the actual argument list, while a new value is assigned to the dummy argument in the procedure. You are also informed whether an actual array or character datum is shorter than the dummy or if the ranks of non-character arrays differ. |
|
| The consistency of common blocks is verified for data types and length. If the number, data type, data type length, array rank or array size in the various occurrences of a common block differ you will be informed. When analyzing a complete program Forcheck signals unreferenced and unassigned common-block elements. |
|
| Global Program Information |
|
| Forcheck lists all analyzed program units and procedures with the names of files in which they are stored and page numbers of the source code listings. Cross-reference tables are constructed for referenced procedures, modules, common blocks, common block elements, include files and external files, with types and operation codes. |
|
| The analysis is concluded by a summary of all messages presented, and a list with the number of messages given, the number of statements, the number of program units, the number of files, etc. |
|
| Interface |
|
| The Windows implementation provides an integrated development environment. In the UNIX and other implementations the filenames of the files to be analyzed and options can be entered by command-line, by questions and answer or by specifying a command-file. The human interface of each implementation is specifically designed to conform to the host operating system. Options can be specified to tune the analysis and output. On-line documentation is supplied. |
|