WHAT THIS S/W IS:

This is a  Market Research like Tabulation software to generate tables from
data. I have put in a few features which I thought were necessary for a S/W like
this to be able to assist a DP in his/her work. It's in a very nascent stage,
but generates tables on absolutes with a limited number of keywords. Sample
input to the program in "input2" present with this distribution.

LICENSE:
I am releasing it under the GNU General Public license. I call it XtCC.

	xt for Cross Tabulations and cc for compiler. Maybe someday it will even
have data analysis features.
	


CURRENT STATUS, DESCRIPTION, FEATURES: 

	Although the intention is to write a compiler - right now
the program runs as a interpreter. It builds a "Tree" out of the edit section 
and then runs the statements. 

	At our office we use a proprietary software for this purpose - but I
thought that it lacked many features - I would describe it as more like a 
half language.
	
	For example the "if" statement does not have an else if. Also there are
no variable types to hold 'punch' data etc. There is a lot of work required to 
be done on the symbol table and function procedure bodies. However the grammar
accepts if, else if, else statements.
	
	The tabulation section is ready and for now the input file demonstrates
part of the language. There is a full blown expression grammar and the operators
are similar to their 'C' Counterparts, although I havent implemented the postfix
and prefix operators as well as the += and operators that come in this class.
I hope to add them - the intention being that the input grammar be as close to 
'C' as possible.

	The limit on the length of a line in the Titling section is about 8K
(8192 bytes)  and not 200. I found this another very irritating thing about the
proprietary S/W. Thats because I use flex as the tokenizer, and default tokens
are that big . 

	xtcc also does table checking for single punch columns of a table. It
prints a report in CHECK.RPT. It also prints a map into AX_MAP.RPT . The
intention is to save paper. One way this could be done is check the map against
the  .qax file or .qts file which is exported. If your setup is correct the two
maps should match. The Table checker will then warn you about filters etc.
However for now this is just a start. For the Table checker you need to give it
a special holecount with a "usethis" directive.

	Read INSTALL for installation instructions.

Cheers!
Neil

NxD_in@yahoo.com
