CLOC
Count Lines of Code
- Overview
- Download (latest version: 1.56, released 2012-04-09)
- SourceForge Project Page
- License
- Why Use cloc?
- Other Counters
- Basic Use
- Options
- Recognized Languages
- How it Works
- Advanced Use
- Limitations
- Author
- Acknowledgments
- Copyright
- License
Overview
cloc
counts blank lines, comment lines,
and physical lines of source code in many programming languages .
Given two versions of a code base, cloc can compute
differences in blank, comment, and source lines.
It is written entirely in Perl with no dependencies outside the
standard distribution of Perl v5.6 and higher
(code from some external modules is embedded within cloc )
and so is quite portable.
cloc is known to run on many flavors of Linux,
Mac OS X, AIX, Solaris, IRIX, z/OS, and Windows.
(To run the Perl source version of cloc on Windows one needs
ActiveState Perl 5.6.1 or higher, Cygwin, or MobaXTerm with
the Perl plug-in installed.
Alternatively one can use the
Windows binary of cloc generated with
perl2exe
to run on Windows computers that have neither Perl nor Cygwin.)cloc contains code from David Wheeler's
SLOCCount ,
Damian Conway and Abigail's Perl module
Regexp::Common ,
Sean M. Burke's Perl module
Win32::Autoglob , and Tye McQueen's Perl module
Algorithm::Diff .
Language scale factors were derived from Mayes Consulting, LLC web site http://softwareestimator.com/IndustryData2.htm .
License
cloc is licensed under the
GNU General Public License, v2
, excluding
portions which are copied from other sources. Code copied from the
Regexp::Common, Win32::Autoglob, and Algorithm::Diff Perl
modules is subject to the
Artistic License .
Why Use cloc?
cloc has many features that make it easy to use, thorough,
extensible, and portable:
- Exists as a single, self-contained file that requires minimal
installation effort---just download the file and run it.- Can read language comment definitions from a file and thus
potentially work with computer languages that do not yet exist.- Allows results from multiple runs to be summed together
by language and by project.- Can produce results in a variety of formats:
plain text, SQL, XML, YAML, comma separated values.- Can count code within compressed archives (tar balls, Zip files,
Java .ear files).- Has numerous troubleshooting options.
- Handles file and directory names with spaces and other unusual
characters.- Has no dependencies outside the standard Perl distribution.
- Runs on Linux, FreeBSD, NetBSD, Mac OS X, AIX, HP-UX, Solaris, IRIX,
and z/OS systems that have Perl 5.6 or higher.
The source version runs on Windows with either ActiveState
Perl or cygwin. Alternatively on Windows one can run
the Windows binary which has no dependencies.