
      .oooooo.   oooo                              .o        .o
     d8P'  `Y8b  `888                            o888      o888
    888           888   .oooo.    .ooooo.         888       888
    888           888  `P  )88b  d88' `"Y8        888       888
    888           888   .oP"888  888              888       888
    `88b    ooo   888  d8(  888  888   .o8        888  .o.  888
     `Y8bood8P'  o888o `Y888""8o `Y8bod8P'       o888o Y8P o888o


                 FREEWARE, 1994 (C) Eero Tamminen


Clac is an expression evaluating program (ie. calculator) which has some
functions rarily found in any other calculator. This text documents the
Clac package. Refer to other documents for all the operators and
functions included into Clac.


Clac is composed of two internally separate components.

- The user interface (=UI) which gets the expressions, takes care of the
variables and output.
- The 'expression engine' just calculates the expression strings given
to it by UI.

This imposes some limits as the UI can't get sub totals for the
expression, but IMO the advantages of this approach far exceed that
minor 'inconvenience'. Some of the advantages are:

- The expression engine is OS independent as it includes only ANSI C.
- There can be several different UIs. The current text interface is
  also OS independent.
- More complex expressions can be evaluated without making the
  program exessively complex, thus easing up the debugging and
  addition of new features.


The complete Clac package (1.10) contains files:

bin:
total 96
 37323 clac.prg*	GEM version of Clac compiled with SozobonX C
			& xgemfast. Works both as an acc or prg.
 50691 clac.ttp*	Text version of Clac compiled with GCC & pml.
  4112 clac_rsc.rsc	Clac.prg resource file.
   850 clac_rsc.rso	Resource editor index file for gui.rsc.
   388 clacicon.rsc	Two b&w (desktop) icons for Clac.prg.
    87 cli.ini		An examplary initialization file for clac.ttp.
   329 example.gui	An example expression file for clac.prg.

doc:
total 64
  1700 changes.txt	Changes made to Clac since version 1.0.
  8548 clac.dvi		Dvi file documenting the expression engine.
  9342 clac.man		Ascii manual for the text version of Clac.
 11011 clac.hyp		A compiled ST-Guide manual for Clac.
  8874 clac.stg		ST-Guide manual in ascii format.
  6165 clac.tex		TeX file documenting the expression engine.
  1379 clac.txt		Some info on how to add functions into Clac.
  5528 cli.dvi		Dvi file documenting the text user interface.
  4072 cli.tex		TeX file documenting the text user interface.
  3989 readme.1st	This text.

total 112
 23523 clac.c		Main expression engine code.
  2855 clac.h		Expression engine header.
  2893 clac_rsc.h	Resource indexes for gui.c.
  8723 cli.c		Text user interface code.
  5709 common.c		Some common user interface functions.
   598 common.h		Header for common.c.
  2525 complex.c	Code for complex number operations
			(not included into an ANSI C).
  1465 complex.h	Header for complex.c.
  6084 function.c	Code for Clac functions.
  1360 function.h	Header for function.c. Includes function names.
 33043 gui.c		Code for GEM interface.
   843 makefile		Makefile for the text version.
   379 makegui		Makefile for the GEM version.
 15114 readline.c	Readline code from GnuPlot package for the cli.c.


	- Eero -		/* t150315@cc.tut.fi */

