Download User guide for Windows with IDE
Transcript
54 CHAPTER 5. ANALYSIS 5.1.2 Lay-out of source code listing A source code listing is generated if a listing file has been requested, and both the show program unit (/SB) and the list source lines (/SS) options are in effect. To make clear which part of fixed source records is being ignored, the source record past column 72 of non-comment records is printed at column 83 and higher. Comment records, however, are printed as they are. If the analyze all columns (/AC) or the free source form (/FF) option is enabled, all records are printed as they are. Source input lines or statements are numbered as described in the section "Line or statement numbering" of the chapter "Operation". If the list included lines (/SH) option is specified, input records which are read from an include file are presented with hierarchical line numbers. The pages on the listing file are numbered. When you use FORCHECK’s library facility a hierarchical page numbering system is provided. In that case FORCHECK maintains a library version number which is updated each time you insert or replace program units in the library. The page numbers printed on the listing present the library version number and the page sequence number as "version.page". 5.1.3 Syntax analysis FORCHECK verifies the syntax of each program unit. If the Fortran standard conformance (/ST) option is in effect the the syntax will be verified for conformance to the Fortran standard of the level that is currently in effect. If the Fortran 77 conformance (/F77), Fortran 90 conformance (/F90), Fortran 95 conformance (/F95), Fortran 2003 conformance (/F03), or Fortran 2008 conformance (/F08) option is in effect, the syntax will be verified for conformance to the FORTRAN 77, Fortran 90, Fortran 95, Fortran 2003 or Fortran 2008 standard respectively, as close as possible during static analysis. For Fortran 90 and up all constraints, as specified in the standard, are verified. By specifying the flag obsolescent syntax (/OB) option FORCHECK signals all obsolescent features as specified in the Fortran standard which is in effect. You can also instruct FORCHECK to accept certain vendor specific Fortran language extensions. The appendix "Supported Fortran syntax" describes all language extensions supported. By default FORCHECK accepts common extensions of the default compiler of the system on which FORCHECK operates. To emulate a different compiler or to enable a different set of language extensions, see the section "The usage of language extensions" of the chapter "Operation". Beside performing a lexical analysis and parsing the syntax, FORCHECK performs a semantic analysis. FORCHECK presents a message if a variable is referenced without being defined. Unless the rigorous syntax analysis (/RI) option has been enabled this is limited to statements which are certainly executed sequentially. Loop structures, IF-THEN-ELSE blocks and CASE constructs are verified. Because of this, extended DO loops (though this is a language extension of some compilers) will always be flagged as an error by FORCHECK. 5.1.4 Type verification As part of the syntax analysis FORCHECK detects type conflicts. In general the typing rules are applied more strictly than most compilers do. Type checking is relaxed for type less data