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 CODEGEN_MODULE TRUE
§2. This module defines the following classes:
enum I6T_intervention_CLASS enum codegen_pipeline_CLASS enum pipeline_step_CLASS enum uniqueness_count_CLASS enum text_literal_holder_CLASS enum routine_body_request_CLASS enum pipeline_stage_CLASS enum code_generation_target_CLASS enum code_generation_CLASS enum generated_segment_CLASS enum link_instruction_CLASS enum tree_inventory_CLASS enum tree_inventory_item_CLASS enum index_page_CLASS enum index_element_CLASS enum index_tlexicon_entry_CLASS enum simplified_scene_CLASS enum simplified_end_CLASS enum simplified_connector_CLASS enum command_index_entry_CLASS enum faux_instance_CLASS enum connected_submap_CLASS enum EPS_map_level_CLASS enum rubric_holder_CLASS
DECLARE_CLASS(I6T_intervention) DECLARE_CLASS(codegen_pipeline) DECLARE_CLASS(pipeline_step) DECLARE_CLASS(uniqueness_count) DECLARE_CLASS(text_literal_holder) DECLARE_CLASS(routine_body_request) DECLARE_CLASS(pipeline_stage) DECLARE_CLASS(code_generation_target) DECLARE_CLASS(code_generation) DECLARE_CLASS(generated_segment) DECLARE_CLASS(link_instruction) DECLARE_CLASS(tree_inventory) DECLARE_CLASS(tree_inventory_item) DECLARE_CLASS(index_element) DECLARE_CLASS(index_page) DECLARE_CLASS(index_tlexicon_entry) DECLARE_CLASS(simplified_scene) DECLARE_CLASS(simplified_end) DECLARE_CLASS(simplified_connector) DECLARE_CLASS(command_index_entry) DECLARE_CLASS(faux_instance) DECLARE_CLASS(connected_submap) DECLARE_CLASS(EPS_map_level) DECLARE_CLASS(rubric_holder)
§3. Like all modules, this one must define a start and end function:
void CodegenModule::start(void) { Register this module's memory allocation reasons3.2; Register this module's stream writers3.3; Register this module's debugging log aspects3.5; Register this module's debugging log writers3.6; } void CodegenModule::end(void) { }
enum INDEX_SORTING_MREASON enum CODE_GENERATION_MREASON enum SCENE_SORTING_MREASON enum MAP_INDEX_MREASON
§3.2. Register this module's memory allocation reasons3.2 =
Memory::reason_name(CODE_GENERATION_MREASON, "code generation workspace for objects"); Memory::reason_name(SCENE_SORTING_MREASON, "scene index sorting"); Memory::reason_name(INDEX_SORTING_MREASON, "index sorting"); Memory::reason_name(MAP_INDEX_MREASON, "map in the World index");
- This code is used in §3.
§3.3. Register this module's stream writers3.3 =
;
- This code is used in §3.
enum TEMPLATE_READING_DA enum RESOLVING_CONDITIONAL_COMPILATION_DA enum EXTERNAL_SYMBOL_RESOLUTION_DA enum ELIMINATION_DA enum CONSTANT_DEPTH_CALCULATION_DA enum SPATIAL_MAP_DA enum SPATIAL_MAP_WORKINGS_DA
§3.5. Register this module's debugging log aspects3.5 =
Log::declare_aspect(TEMPLATE_READING_DA, L"template reading", FALSE, FALSE); Log::declare_aspect(RESOLVING_CONDITIONAL_COMPILATION_DA, L"resolving conditional compilation", FALSE, FALSE); Log::declare_aspect(EXTERNAL_SYMBOL_RESOLUTION_DA, L"external symbol resolution", FALSE, FALSE); Log::declare_aspect(ELIMINATION_DA, L"code elimination", FALSE, FALSE); Log::declare_aspect(CONSTANT_DEPTH_CALCULATION_DA, L"constant depth calculation", FALSE, FALSE); Log::declare_aspect(SPATIAL_MAP_DA, L"spatial map", FALSE, FALSE); Log::declare_aspect(SPATIAL_MAP_WORKINGS_DA, L"spatial map workings", FALSE, FALSE);
- This code is used in §3.
§3.6. Register this module's debugging log writers3.6 =
;
- This code is used in §3.