tinytool-v5:

Following on from tinytool-v4, now we change the specification to allow
dynamic setting of the whole output template at any time:

Hence, a suitable 'fullinput' might now read:

  TEMPLATE,int int_<0>( int a, int b ) { return (a<1>b); }
  plus,+
  minus,-
  ...
  TEMPLATE,double double_<0>( double a, double b ) { return (a<1>b); }
  plus,+
  minus,-
  ...

To implement this new version, we add:

perlgen5		A standalone Perl script to generate functions
			including type names, width formatting - using
			the current template in force.

On Unix systems, make it executable and run it via:

  chmod +x perlgen*
  ./perlgen5 < fullinput

On Windows systems, use the following to run it:

  perl perlgen5 < fullinput

The output produced will be of the form:

  int int_plus            ( int a, int b ) { return (a+b); }
  int int_minus           ( int a, int b ) { return (a-b); }
  ...
  double double_plus         ( double a, double b ) { return (a+b); }
  double double_minus        ( double a, double b ) { return (a-b); }
  ...


I also include:

fullinput	An example of the new input format

fullinput.bad	A broken example of the new input format - with a missing
		initial template line

fullinput.badtemplate
		Another broken example of the new input format - with a
		template that accesses <2>

cgen5.c		A C version of perlgen5

Makefile	a Makefile to compile cgen5.c
