1 ftnchek FAQ 2 3This is a very preliminary FAQ. Originally written February 28, 41999. Slightly updated September 22, 2000 and August 23, 2002. 5 6Q1) Where can I get the latest version of ftnchek? 7 8Q2) Are there any plans for ftnchek to support Fortran 90? 9 10Q3) What other Fortran syntax checkers are there? 11 12Q4) Why is ftnchek not spelled ftncheck? 13 14Q5) What are some sources of Fortran information? 15 16Q6) Is ftnchek Year-2000 compliant? 17 18Q7) Ftnchek ignores my "#include" file (or other preprocessor directives) 19 20Q8) Ftnchek's error messages aren't interpreted properly by Emacs (or 21 other development tool) to allow it to jump automatically to the 22 location of the error. 23 24Q9) Is the Mike Myers mentioned in the comment section of average.f 25 the same as the Mike Myers who plays Austin Powers in the movies? 26 27================================================================== 28 29Q1) Where can I get the latest version of ftnchek? 30 31A1) Many places. Probably the most reliable place to get it is Netlib, 32 whose net address is netlib.org. The URL is 33 ftp://netlib.org/fortran/ftnchek.tar.gz 34 Unlike most software archives, the netlib maintainers keep naming the 35 file ftnchek.tar.gz regardless of the version. But don't worry. I 36 always make sure they have the newest version as soon as it is 37 released. 38 39 Ftnchek has its own home page. The URL is 40 http://www.dsm.fordham.edu/~ftnchek 41 This site has current information about the status of the ftnchek 42 project, as well as links for downloading the software. This is 43 always the very most up-to-date site, since it is the location 44 where ftnchek is maintained. But the server is old and slow, so if 45 you just want the software, you are better off finding a Netlib 46 mirror near you. 47 48 Ftnchek has also been placed onto many Linux software archives. 49 For instance, it can be found in 50 http://www.ibiblio.org/pub/Linux/devel/lang/fortran/ 51 A Debian package is available at 52 http://www.debian.org/Packages/unstable/devel/ftnchek.html 53 The version available at these and other Linux sites is not always 54 the very latest, however, since it takes some time for the new 55 version to find its way there. 56 57 58Q2) Are there any plans for ftnchek to support Fortran 90? 59 60A2) Eventually, I hope so. But basically, I work on ftnchek in my 61 spare time, of which I don't have much these days. At the present 62 level of effort, progress is slow. I am trying to recruit 63 volunteers to help get ftnchek to support more Fortran 90 features: 64 see http://www.dsm.fordham.edu/~ftnchek/f90-project.html for more 65 details if you are interested in volunteering. 66 67 On the bright side, Fortran 90 itself has many features to help avoid 68 the pitfalls that ftnchek was designed to catch. 69 70 Also, there are other static analyzer programs that do understand 71 Fortran 90 (see Q3). Unfortunately they are not free, however. 72 73 74Q3) What other Fortran syntax checkers are there? 75 76A3) Here are a few I happen to have URL's for. None of them are free. 77 They are listed in alphabetical order, with no ranking or endorsement 78 implied. 79 80 1. forcheck: 81 Forcheck group 82 Leiden University 83 P.O. Box 9604 84 2300 RC Leiden 85 The Netherlands 86 Fax: +31 71 527 6782 87 E-mail: info@forcheck.nl 88 Website: http://www.forcheck.nl 89 90 2. FORTRAN-lint (flint and flint90) 91 Cleanscape Software International 92 1530 Meridian Ave Ste. 200 93 San Jose, CA 95125-5318 94 Phone: (408) 978-7000 and (800) 944-5468. 95 FAX: (650) 978-7002. 96 URL: http://www.cleanscape.net/ 97 98 3. Forwarn 99 Quibus Enterprises, Inc. 100 3340 Marble Terrace 101 Colorado Springs, CO 80906 USA 102 +1-719-527-1384 103 URL: http://kumo.swcp.com/fortran/quibus_forwarn.html 104 105 4. OpenVMS Source Code Analyzer SCA 106 Available from Digital (now a division of Compaq). 107 URL: http://www.digital.com 108 109 Note: forcheck and flint90 support Fortran 90. SCA supports 110 multiple languages including Fortran 90. 111 112Q4) Why is ftnchek not spelled ftncheck? 113 114A4) Originally, ftnchek was named forchek, which seemed like a spiffy 115 name at the time. However, the Forcheck people (See Q3) objected 116 (rightly) that the two names were sufficiently similar to cause 117 confusion. Since their program was first on the scene, mine had to 118 be renamed. So I changed "for" to "ftn," and continued leaving the 119 "c" out of the name so as to increase the difference between it and 120 Forcheck. 121 122 By the way, you may pronounce the name any way you like. Personal- 123 ly, I usually pronounce it "Eff-Tee-En-Chek." 124 125 126Q5) What are some sources of Fortran information? 127 128A5) The Fortran-FAQ, posted occasionally to comp.lang.fortran, is full 129 of useful information. The Fortran Company has links to many 130 sources of information on the World-Wide-Web. Its URL is 131 http://www.fortran.com/ 132 133 134Q6) Is ftnchek Year-2000 compliant? 135 136A6) Yes, ftnchek is safe for the Year 2000. It cannot suffer from the 137 Millenium Bug any more than a bald man can have dandruff. Since 138 ftnchek is a very simple application, and does not make any use of 139 date or time functions, it is immune to the Y2K problem. 140 141 Of course, ftnchek relies on the underlying operating system on 142 which it runs. If the operating system fails due to a Y2K problem, 143 then ftnchek, like all other software on that system, may become 144 unavailable. 145 146 147Q7) Ftnchek ignores my "#include" file (or other preprocessor directives) 148 and gives all sorts of bogus errors as a result. 149 150A7) Ftnchek does not process any "#" directives except for "# line". If 151 you want to use "#include" or "#define" in your program, then you must 152 run it through the preprocessor before giving it to ftnchek. Since 153 ftnchek does process the "# line" directives generated by the 154 preprocessor, the error messages will have the correct file names and 155 line numbers. Consult your compiler manual for how to make it run the 156 preprocessor only. 157 158 There is a program named ftnpp for use as a preprocessor with more 159 Fortran-awareness than cpp. (The advantage of ftnpp over cpp is 160 that replacements and conditional compilation extend into files 161 included using the Fortran-standard INCLUDE statement.) The ftnpp 162 program is available by anonymous ftp from ftp.dsm.fordham.edu. 163 At this writing, ftnpp has only been tested on a few platforms. 164 Fixes for operation on other platforms are requested. 165 166 Note that ftnchek does process INCLUDE statements, which are part 167 of Fortran 90 (unlike #include). These have a completely different 168 syntax. If you replace the "#include" statements by INCLUDE 169 statements, your program will be more portable. 170 171 172Q8) Ftnchek's error messages aren't interpreted properly by Emacs (or 173 other development tool) to allow it to jump automatically to the 174 location of the error. 175 176A8) Use the -nonovice flag. This changes the format of the error 177 messages to one that is more similar to the messages generated by 178 typical compilers. I designed ftnchek to give friendlier output 179 for novices by default, since novices by definition don't know how 180 to change the defaults. Advanced users who need this feature know 181 how to read the docs to find the options they need. 182 183 184Q9) Is the Mike Myers mentioned in the comment section of average.f 185 the same as the Mike Myers who plays Austin Powers in the movies? 186 187A9) No. 188 189================================================================== 190 191Bob Moniot 192Fordham University 193Fordham College at Lincoln Center 194New York, NY 10023 (212) 636-6311 195 196Email: moniot@fordham.bogus.edu (remove the .bogus of course) 197URL: http://www.dsm.fordham.edu/~moniot/ 198