Edit this page

Fronds source format

Fronds stores it's source internally, and currently doesn't have any export or import mechanism.

When Jason Woofenden generates the initial Fronds image in herkforth the Fronds source is generated along with the image.

Object Format

Objects are cell-aligned. They consist of a count cell followed by that many bytes of data, and however much padding necessary to be cell-aligned again (these padding bytes need not be preserved when the object is moved, but must be reserved for the object, because an object can expand into those bytes without being moved.) Pointers to objects point to the beginning of the data not the count.

Dictionary Format

The dictionary is several large arrays, one array for each dictionary field. These arrays store things like the CFAs, the word names, flags, etc.. All these arrays use the same indexes and have accessing words with the same naming scheme. In the stack diagrams and word names such an index is referred to as "dict". Example words: dict->cfa token->dict dict-cfa!

The dictionary is made of the following arrays:

Definition format

A definition is a object. The data of an object is an array of 16-bit source tokens. The high 13 bits are the index into the dictionary, and the low 3 bits are the "color". The color specifies what the compiler does with that word...

Source Colors

Note: it is convenient to refer to it as color, since most of us can easily distinguish them that way, but really the "color" bits specify what sort of actions are taken with that source token. The following colors are defined:

Image Format

Here's the stuff stored in low memory, the left column is the memory address:

See Also

Hacking Fronds

Fronds docs

Fronds

Edit this page · home ·