                                Class.Txt
                                =========

The program CLASS.EXE is a preconverter for the object code to make the
handling somewhat more transparent.

It does the following :-

Scans the included file for class definitions. These use double colons

        e.g.    <Class>::<Method>

The methods are the labels for the method handlers, and are replaced
by a label CL_<Class>_MT_<Method>.

Also, the following can be found (after the spaces). This simply invokes the
method on the current object.

        e.g.    ::<Method>


At the end of the "scan" 2 things happen.

Firstly, for each class found, the "dispatcher routine" called
CL_<Class>_HANDLER is output. This consists of "ld a,c" followed
by a series of cp OM_<Method> ; jp z,CL_<Class>_<Method> pairs,
terminated by jp CL_DEFAULT_HANDLER to call the default handler if
none of these messages are handled.

Secondly, a routine is output called "__InitialiseHandlers" which copies
all the method handlers into the VM table.

        ld      hl,CL_<Class>_HANDLER
        ld      (DispatchTable+(2*CL_<Class>)),hl


