.NH 1 Introduction .PP C [1][2] is a dangerous programming language. The programmer is allowed to do almost anything, as long as the syntax of the program is correct. This has a reason. In this way it is possible to make a fast compiler which produces fast code. The compiler will be fast because it doesn't do much checking at compile time. The code is fast because the compiler doesn't generate run time checks. The programmer should protect himself against producing error prone code. One way to do that is to obey the .I Ten Commandments for C programmers .R [appendix B]. This document describes an implementation of the .I lint program, as referred to in Commandment 1. It is a common error to run .I lint only after a few hours of debugging and some bug can't be found. .I Lint should be run when large pieces of new code are accepted by the compiler and as soon as bugs arise. Even for working programs it is useful to run .I lint, because it can find constructions that may lead to problems in the future. .bp