Short:        Create an Extended Trial Balance
Author:       alt.mcarter@gmail.com (Mark Carter)
Uploader:     alt mcarter gmail com (Mark Carter)
Type:         biz/misc
Version:      3
Architecture: generic

This distribution prepares an extended trial balancefrom a list of 
account names and transactions.It does not create a set of accounts.

Sundry notes:
- this software is pretty rubbish
- you need a C++ compiler. G++ 4.6.4 or higher should be fine.
- historical (hysterical?) versions are stored in folders v1 and v2.
- this program is released into the Public Domain.
- command-line only.



QUICKSTART
==========

+ Build it: make
+ Install it: make install
+ Run it: etb < etb.dat



DATA FILE FORMAT
================

In EBNF notation, input data is of the form:

<ledger> ::= {<descriptor>} "%n" {<transaction>}

<descriptor> ::= <code> "n" <description> "nn"

<transaction> := <code> "n" <description> "n" <amount> "nn"

<amount> ::= ["+"|"-"] <digit>+

<digit> ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"

<code> and <description> is any non-empty sequence of chars.

{} indicates that the expression may be repeated 0 or more times.

See the file `etb.dat' for an example. AMOUNT represents cents
(or pennies, if you like). CODE is an account code, which is 
case-dependent.


OUTPUT
======

The output from running `etb <etb.dat' is:

Bd    Balance B/d                                     10.00
cash  Cash                                           -65.00
rent  Rent                                             3.50
shop  Shopping                                        41.50
sund  Sundries                                        20.00
Grand: 1000

Use positive numbers for debits, and negative numbers for credits.



NOSTALGIA
=========

+ v3: 06-Oct-2017

It has been over 20 years since I released the first version of etb, 
and over a decade since I released the last one. Time for an update, 
then! I doubt that I have too many more decades in me. The program was 
rewritten in C++, and now only takes up 79 lines of code. Version 2 
was 982 lines long. The functionality of the two versions is similar,
but C++ has certainly sped up the development time and reduced 
the line count. 


+ v2: 19-Mar-2005

This project is a rebuild from Amiga 600 to Aros; the original
distribution is included. It is known to work with Aros version
20050308 hosted on Slackware 10.1.


+ v1: 30-Apr-1995

This package is the culmination of over 2 months work. It is the
first  project  that I have done in the C programming language -
most of my other programs have been in Basic - especially  Blitz
Basic.  I  am a fully qualified Chartered Accountant,  so I know
all about bookkeeping.  I have forsaken accountancy to pursue  a
career  in research.  Currently,  I am half way through studying
for my PhD on the Diffraction of Reaction-Diffusion waves.