Setting up the use of this module.


§1. Introduction.

    define ARCH_MODULE TRUE

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

    enum inter_architecture_MT
    enum target_vm_MT
    enum compatibility_specification_MT
    enum semantic_version_number_holder_MT
    enum semver_range_MT
    ALLOCATE_INDIVIDUALLY(inter_architecture)
    ALLOCATE_INDIVIDUALLY(target_vm)
    ALLOCATE_INDIVIDUALLY(compatibility_specification)
    ALLOCATE_INDIVIDUALLY(semantic_version_number_holder)
    ALLOCATE_INDIVIDUALLY(semver_range)

§3. The beginning.

    void ArchModule::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>;
        <Register this module's command line switches 3.5>;
        Architectures::create();
        TargetVMs::create();
    }

The function ArchModule::start 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> =

        Writers::register_writer('v', &VersionNumbers::writer);

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.

§3.5. <Register this module's command line switches 3.5> =

        ;

This code is used in §3.

§4. The end.

    void ArchModule::end(void) {
    }

The function ArchModule::end appears nowhere else.