
  README file for 'ccount' analysis tools
===========================================

'ccount' is a set of simple tools for the analysis of the syntactic
readability of C source programs.

The attributes computed by the ccount tools are things such as
  - length of modules/functions/blocks/ifs/whiles/switches, 
  - number of control structures
  - number of operators in expressions,
  - nesting depth of blocks    etc.

ccount consists of the kernel analysis tool 'ccount', which performs
syntactic analysis of C programs WITHOUT running the preprocessor,
a simple front end 'ccounter' to simplify the use of 'ccount',
and a number of statistical analysis tools that generate reports
from the tons of data produced by running 'ccount' on a lot of C
source files.

These statistics include
   - averages
   - medians
   - 25%, 75%, 90%, 95%, 98%, and 99% quantiles
   - sums
   - fractions
of various of the attributes (and combinations of them) over a set of
analyzed source files.


Environment:
------------

'ccount' is implemented as one C program (using a LEX scanner and
a YACC parser) and a set of scripts (Bourne-Shell and Perl).
To compile and run ccount you only need a C compiler, sh, and perl.

Installation:
-------------

To compile 'ccount' just type 'make'.
This should generate a single executable 'ccount'.
Put this executable and the scripts 'statty*' and 'ccounter' into
any directory that is in your $PATH. That's all.


Manifest:
----------

The ccount package consists of the following files:

README      (this file)
README.1    Description of 'ccount' and 'ccounter'
README.2    Description of statistical tools 'statty*'
Makefile    Makefile
ccount      Executable 'ccount' command [must be generated by make]
ccount.l    Source file of LEX scanner
ccount.y    Source file of YACC parser
ccounter    Script to simplify use of 'ccount'
lex.yy.c    C code generated by LEX from ccount.l
statty      "Generate all reports"-script
stattyB     Blocks report script
stattyCSE   Control structure and expression report script
stattyF     Function report script
stattyM     Module report script
y.tab.c     C code generated by YACC from ccount.y
y.tab.h     C header file generated by YACC from ccount.y
