kvik - A Kvikkalkul Compiler
----------------------------

Written by Asher Hoskins. (ukrhosk@prl.philips.co.uk)



To make the compiler, first tweak the Makefile if you don't have gcc, then
type 'make'. Ignore the warning about OVERFLOW being redefined, this is a
niggle which will get sorted out in the next release.

Now copy/move the files 'kvik_obj_header.h', 'kvik_obj_tail.h',
'kvik_obj_types.h', 'kc', 'kvik', and 'libkvik.a' to whatever directory
you want to develop Kvikkalkul code in. 'make install' will copy these
files to '../kviksrc'. The compiler expects to be in a directory parallel
to the src directory (the code it generates references files in '../src').

To compile a program type 'kc <filename>'. To include a state dump in
a compiled program give the name of the state dump after the main code
filename.


Notes on the compiler
---------------------

Labels are currently stored as integers, this means that leading zeros
are ignored. This will get changed sometime... The maximum length of a label
is four digits.

The numeric precision of the compiler is given at the top of the file
'text/library_routines'. 16-bits are used to store each number but the
range is limited to 39999 values so that they tie in with decimal numbers
more easily. (Look in the file kvikmath.c to see how it's done.)


Any comments, etc. email me.

Asher.
