Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
Aleph::Compiler_HIR_Lowering Class Reference

Lowers the MVP typed AST into HIR. More...

#include <Compiler_HIR_Lowering_MVP.H>

Collaboration diagram for Aleph::Compiler_HIR_Lowering:
[legend]

Public Member Functions

 Compiler_HIR_Lowering (Compiler_HIR_Context &context, const Compiler_Typed_Semantic_Analyzer &analysis) noexcept
 Constructs a lowering helper.
 
Compiler_HIR_Function * lower_function (const Compiler_Function_Decl *function)
 Lowers one function declaration into HIR.
 
Compiler_HIR_Module * lower_module (const Compiler_Module *module)
 Lowers one module into HIR.
 

Private Member Functions

Compiler_Type_Id invalid_type () const noexcept
 
Compiler_Type_Id expr_type (const Compiler_Expr *expr) const noexcept
 
Compiler_Type_Id function_type (const Compiler_Function_Decl *function) const noexcept
 
Compiler_HIR_Expr * lower_expr (const Compiler_Expr *expr)
 
Compiler_HIR_Stmt * lower_stmt (const Compiler_Stmt *stmt)
 

Private Attributes

Compiler_HIR_Context * hir = nullptr
 
const Compiler_Typed_Semantic_Analyzer * typed = nullptr
 

Detailed Description

Lowers the MVP typed AST into HIR.

Definition at line 49 of file Compiler_HIR_Lowering_MVP.H.

Constructor & Destructor Documentation

◆ Compiler_HIR_Lowering()

Aleph::Compiler_HIR_Lowering::Compiler_HIR_Lowering ( Compiler_HIR_Context &  context,
const Compiler_Typed_Semantic_Analyzer &  analysis 
)
inlinenoexcept

Constructs a lowering helper.

Parameters
contextHIR allocation context.
analysisTyped semantic analysis results.

Definition at line 252 of file Compiler_HIR_Lowering_MVP.H.

Member Function Documentation

◆ expr_type()

Compiler_Type_Id Aleph::Compiler_HIR_Lowering::expr_type ( const Compiler_Expr *  expr) const
inlineprivatenoexcept

◆ function_type()

Compiler_Type_Id Aleph::Compiler_HIR_Lowering::function_type ( const Compiler_Function_Decl *  function) const
inlineprivatenoexcept

◆ invalid_type()

Compiler_Type_Id Aleph::Compiler_HIR_Lowering::invalid_type ( ) const
inlineprivatenoexcept

◆ lower_expr()

◆ lower_function()

◆ lower_module()

Compiler_HIR_Module * Aleph::Compiler_HIR_Lowering::lower_module ( const Compiler_Module *  module)
inline

◆ lower_stmt()

Member Data Documentation

◆ hir

Compiler_HIR_Context* Aleph::Compiler_HIR_Lowering::hir = nullptr
private

Definition at line 51 of file Compiler_HIR_Lowering_MVP.H.

Referenced by lower_expr(), lower_function(), lower_module(), and lower_stmt().

◆ typed

const Compiler_Typed_Semantic_Analyzer* Aleph::Compiler_HIR_Lowering::typed = nullptr
private

The documentation for this class was generated from the following file: