SLOCCount is a set of tools for counting physical Source Lines of Code
(SLOC) in a large number of languages. It can measure 19 different
languages, including C, C++, Perl, LISP/Scheme, and Python (A complete
list is available on the home page).

SLOCCount includes a number of heuristics, so it can automatically
detect file types, even those that don't use the "standard" extensions,
and conversely, it can detect many files that have a standard extension
but aren't really of that type. The SLOC counters have enough smarts to
handle oddities of several languages. For example, SLOCCount examines
assembly language files, determines the comment scheme, and then
correctly counts the lines automatically. It also correctly handles
language constructs that are often mishandled by other tools, such as
Python's constant strings when used as comments and Perl's "perlpod"
documentation.

SLOCCount will even automatically estimate the effort, time, and money
it would take to develop the software (if it was developed as
traditional proprietary software). Without options, it will use the
basic COCOMO model, which makes these estimates solely from the count of
lines of code. You can get better estimates if you have more information
about the project; see the SLOCCount documentation for information on
how to control the estimation formulas used in SLOCCount.