(the .c generated prior to optimization contains a zero-sized union though, which is wrong)
also: TRUE and FALSE were wrong way round (oops) and I have removed ABORT.. explicit error mesgs on stderr now.
renamed some procedures. some silly little { onto new lines. important change: added the print functions and prototypes.
parsing done, just needs decs updating now..