[comp.lang.forth] Forth Source Format

MARKETON@SUNRISE.BITNET (JOHN MARKETON) (04/14/89)

A short intro.  My name is John Marketon, and I am studying at Syracuse
University.  I am currently preparing for a MAJOR project, in which I will
be using Forth as the system implementation language.

Now the dilemma.  It is well known that Forth is extremely memory efficient.
It is also well known that Forth wastes mass storage (let's just say disk)
space in source code format.  Since my project is targeted for systems which
have limited memory and disk capacities, an efficient source format is
required.  My current intentions concerning the format are:

  Initial release - Text format, each line terminated with a return, as the
    primary format.  The 16 x 64, space padded, format, as the alternative
    format.  The softwre will default to the text format.

  Some future release - Text format as the only format.  A conversion program
    to convert the 16 x 64 format to text format (basically nukes the trailing
    spaces and sticks a carraige return at the end of the line, and nukes the
    blank lines).

Any source code in the text format will appear as a file, tagged as a source
file.  The block format will also appear as a file, but will have no control
characters, and will be tagged as a block file.

I have been folowing the conversation going on about this, and I don't think
there's a whole lot of choice in this matter.  Either Forth uses text files
for it's source code, or it goes the way of the dinosaurs.  An additional
incentive to use regular text files for source code is that people can use
their favorite word processor to work with the source files.

Any comments or suggestions, let me know.

John Marketon

MARKETON @ SUNRISE  (Bitnet)

andrew@idacom.UUCP (Andrew Scott) (04/14/89)

In article <8904131653.AA10280@jade.berkeley.edu>, MARKETON@SUNRISE.BITNET (JOHN MARKETON) writes:
>   Some future release - Text format as the only format.  A conversion program
>     to convert the 16 x 64 format to text format (basically nukes the trailing
>     spaces and sticks a carraige return at the end of the line, and nukes the
>     blank lines).

By "nuking the blank lines", I assume you mean trailing blank lines in a block.
In that case, you might want to replace them with a form feed character similar
to how trailing blanks on a line are replaced by a carriage return.  This way,
you can convert the file back to block format exactly as it was.
-- 
Andrew Scott			andrew@idacom
			- or -	{att, watmath, ubc-cs}!alberta!idacom!andrew