Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
Compiler_Module_Resolver.H File Reference

Reusable source-name module dependency resolution helpers. More...

#include <sstream>
#include <string>
#include <ah-source.H>
#include <tpl_dynArray.H>
Include dependency graph for Compiler_Module_Resolver.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Aleph::Compiler_Module_Dependency
 One source-name dependency edge originating from one module. More...
 
struct  Aleph::Compiler_Module_Descriptor
 One module descriptor consumed by the reusable resolver. More...
 
struct  Aleph::Compiler_Module_Resolution_Issue
 One structured issue emitted by the reusable module resolver. More...
 
struct  Aleph::Compiler_Module_Resolution_Result
 Resolution result for one set of source-name module descriptors. More...
 

Namespaces

namespace  Aleph
 Main namespace for Aleph-w library functions.
 
namespace  Aleph::Compiler_Module_Resolver_Detail
 

Enumerations

enum class  Aleph::Compiler_Module_Resolution_Issue_Kind { Aleph::Missing_Dependency , Aleph::Cyclic_Dependency }
 Structural issue kinds produced by module dependency resolution. More...
 

Functions

const char * Aleph::compiler_module_resolution_issue_name (const Compiler_Module_Resolution_Issue_Kind kind) noexcept
 Returns the stable debug name of one module-resolution issue kind.
 
std::string Aleph::compiler_render_module_order (const DynArray< size_t > &order, const DynArray< Compiler_Module_Descriptor > &modules)
 Renders one deterministic text artifact for a module order.
 
size_t Aleph::Compiler_Module_Resolver_Detail::find_module_index (const DynArray< Compiler_Module_Descriptor > &modules, const std::string &name) noexcept
 
bool Aleph::Compiler_Module_Resolver_Detail::resolve_visit (const DynArray< Compiler_Module_Descriptor > &modules, const size_t index, DynArray< unsigned char > &states, Compiler_Module_Resolution_Result &result)
 
Compiler_Module_Resolution_Result Aleph::compiler_resolve_module_order (const DynArray< Compiler_Module_Descriptor > &modules)
 Resolves one dependency-first order for exact-name module imports.
 

Detailed Description

Reusable source-name module dependency resolution helpers.

This header provides a deliberately small dependency resolver for frontends whose imports are identified by exact source names. It computes one stable merge order, reports missing dependencies and cycles structurally, and can render the resulting order as a deterministic text artifact.

Definition in file Compiler_Module_Resolver.H.