Setting up the use of this module.

§1. This section simoly sets up the module in ways expected by foundation, and contains no code of interest. The following constant exists only in tools which use this module:

    define INDEX_MODULE TRUE

§2. To begin with, this module needs to allocate memory:

    enum documentation_ref_MT
    enum index_page_MT
    enum index_element_MT
    enum lexicon_entry_MT
    ALLOCATE_INDIVIDUALLY(documentation_ref)
    ALLOCATE_INDIVIDUALLY(index_element)
    ALLOCATE_INDIVIDUALLY(index_page)
    ALLOCATE_INDIVIDUALLY(lexicon_entry)

§3. Like all modules, this one must define a start and end function:

    void IndexModule::start(void) {
        <Register this module's memory allocation reasons 3.1>;
        <Register this module's stream writers 3.2>;
        <Register this module's debugging log aspects 3.3>;
        <Register this module's debugging log writers 3.4>;
    }
    void IndexModule::end(void) {
    }

The function IndexModule::start appears nowhere else.

The function IndexModule::end appears nowhere else.

§3.1. <Register this module's memory allocation reasons 3.1> =

        ;

This code is used in §3.

§3.2. <Register this module's stream writers 3.2> =

        ;

This code is used in §3.

§3.3. <Register this module's debugging log aspects 3.3> =

        ;

This code is used in §3.

§3.4. <Register this module's debugging log writers 3.4> =

        ;

This code is used in §3.