What syntax checkers are available?
Syntax checkers look for common portability problems and especially dark corners of the language where language standards are unclear, or decree that compiler behavior is implementation defined. All code developers should use them routinely. For Fortran (66, 77, 90, 95, and HPF), use the excellent ftnchek. It also has options to produce prettyprinted declarations. If you develop Fortran code, then you should be using ftnchek as often as a Fortran compiler, because it is the only tool that we have that can do cross-module checking. Module interface errors are not diagnosed by any Fortran compiler that we know of, because those compilers process each routine in isolation. For C and C++, use splint, or if unavailable, its predecessor lclint. Otherwise, fall back to lint (Compaq/DEC OSF/1 Alpha, FreeBSD, NetBSD, OpenBSD, SGI IRIX MIPS, and Sun Solaris). Other tools that can be helpful in detecting portability and security problems are antic, flawfinder, its4, and rats. We do not know of an