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