XTAB is a logical programming language. It is designed primarily to do cross tabulations, but can be used for file processing and report generation as well.

XTAB operates by reading an input file, one record at a time, and giving the user the capability to interigate, and alter the data of each record, as well as specify the parameters for one or more cross tabulation tables.

XTAB is a lower case language.

An XTAB program consits of a set of sections, with each section containing a set of commands.

The sections:


The *files section is manditory, and the sections must appear in the above order.
The *section must begin in column 1.
A comment is line that begins with "* ". (Star space)
A blank line is acceptable.

Within each section a set of commands is valid.

 *section  Abbreviation  Section Description
 *files  *f  Defines files and global values.
 *variables  *v  Defines variables used by the program. Both those that are positions in the input file, and those that stand alone. Variables are either strings or numbers (or both).
 *init    Same as *instructions, however executed once before any records are read.
 *instructions  *i  Executed after each record is read.
 *term    Same as *instructions, however executed once after all records are read.
 *tables  *t  Defines parameters for cross tabulation table specification.