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

End-to-end multi-file driver for the compiler-support pipeline. More...

#include <sstream>
#include <string>
#include <string_view>
#include <utility>
#include <Bytecode.H>
#include <Compiler_Backend_C.H>
#include <Compiler_Driver_Contracts.H>
#include <Compiler_HIR_Lowering_MVP.H>
#include <Compiler_IR_Lowering_MVP.H>
#include <Compiler_Module_Resolver.H>
#include <Compiler_Parser.H>
#include <Interpreter_Runtime.H>
#include <tpl_dynArray.H>
Include dependency graph for Compiler_Driver.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Aleph::Compiler_Driver_Options
 Immutable configuration shared by all runs of one driver object. More...
 
class  Aleph::Compiler_Driver
 Reusable orchestration object for compiler pipeline experiments. More...
 

Namespaces

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

Detailed Description

End-to-end multi-file driver for the compiler-support pipeline.

This header stitches together the reusable compiler components already present in Aleph-w:

  • parsing from one or more source files
  • typed semantic analysis
  • lowering to HIR and explicit IR
  • optional lowering to bytecode
  • execution through the HIR interpreter runtime
  • emission of portable C through Compiler_Backend_C.H

The driver does not introduce a CLI by itself. Instead, it provides a reusable orchestration layer that higher-level tools can call to implement commands such as parse-only, sema-only, hir, ir, run, emit-c, and emit-bytecode.

Multi-file support is still intentionally conservative:

  • each input file is parsed independently
  • top-level import "name"; declarations are resolved by exact source name
  • the resulting modules are merged in dependency order
  • top-level functions and statements still share one merged namespace
  • per-node spans still point back to the original input file

This provides a reusable import-aware orchestration layer without yet claiming a full module system with namespaces or exports.

Definition in file Compiler_Driver.H.