Readme
------
Version $Id: Makefile,v 1.3 1996/06/19 09:02:29 ae59 Exp ae59 $

Description : This is the makefile for building a simple (and possibly) 
              incorrect software measurement tool for programs
              written in Pascal-XSC. It is called pmetric.
              It is based on a flex/bison compatible grammar and parser 
              description adapted from the common BSI Pascal version.
              It calculates and displays all functions, procedures 
              and operators of a pxsc program. It determines
              several software metrics like SLOC, ELOC, CCM (Mccabe)
              It determines number of real and interval data
              (with some limitations!)
              Metrics per routine (-a) follow (CCM=Mccabes,BB=basic blocks
              REC= No. simple recursion, SLOC=source lines, ELOC=exec lines
              EXOP= exact dot operations, REAL=real data, 
              INV=interval date, ARIOP=arithmetic operations
              Name of subroutines are separated
              by F(unction) P(rocedure) O(operator)| 
              Note that only non-aliases arithmetic data is traced and
              static values do not represent actual dynamic occurrence!

Disclaimer:
              This software does not grant for anything and you can't make
              the autor responsible for any possible damages or errors!

Ackowledgement: The BSI version comes from a friendly person 
              that did not stored his name somewhere. I guess
              he has been from Finnland. Thank you very much.

              Also thanks to Michael Neaga from Numerik Software GmbH
              for the free available version of Pascal-XSC.
              (ftp iamk4515.mathematik.uni-karlsruhe.de/pub/pascal-xsc)

Copyright:    This package is proprietary of the author. It may be 
              freely distributed but must not be changed or used for 
              commercial purposes without permission of the author.

Availability: This package is available at:
              http://www.uni-karlsruhe.de/~ae59/pmetric0-0.Z

Author   :    Heinrich Berlejung
              Institut fuer Angewandte Mathematik
              Universitaet Karlsruhe
              Email:Heiner.Berlejung@math.uni-karlsruhe.de

Tests :       It was tested on :
              Sun Solaris 2.3 with gcc 2.6.7, bison 1.22, flex 2.4.7. 
              HPUX with lex,gcc (make LEX=lex)
              
              I tested pmetric on the toolbox programs and
              pxsc's standard libraries and parsing works right.
              It will only works on a UNIX system (at the moment)

Usage and building:        
              make run # should build and run a demo.
              pmetric -h prints out all options. For example:
              pmetric -a nlss.p produced:
               F| nlss F| AllNLSSErrMsg : CCM = 7 BB = 8 REC = 0 
                  SLOC = 15 ELOC = 15 EXOP = 0 REAL = 0 INTV = 0 ARIOP = 2
              408 lines of nlss.p parsed
              pmetric -t nlss.p adds begin/end to control flow.
              pmetric -m nlss.p provide summary of metrics.

Future Development:
              - correction of many many errors 
              - documentation
              - change control
              - increase number of metrics
              - PC porting   
              - a graphical environment (tk based) which already works, 
                but can't be given away  at the moment.
Comments:
              - Any comments are appreciated, send them to the author.
              - I am willing to add all meaningfull extensions that
                might be proposed from potential users.

 Files:
 Makefile  
 config.h     - simple configuration
 misc.c       - string routines
 mktoken_name - script to generate token names
 nlss.p       - demo pxsc program (cant be compiled as it is)
 pxsc.l       - parser for pxsc
 pxsc.y       - grammar for pxsc
 readme       - documentation file
 utils.c      - misc routines
 utils.h
 version.h    - version info 

 Start:       1995-01-28

