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

Functions

std::string register_name (const Compiler_Bytecode_Register_Id id)
 
std::string constant_name (const Compiler_Bytecode_Constant_Id id)
 
std::string block_name (const Compiler_Bytecode_Block_Id id)
 
std::string local_slot_name (const Compiler_IR_Local_Slot_Id id)
 
std::string global_slot_name (const Compiler_IR_Global_Slot_Id id)
 
std::string function_name (const Compiler_Bytecode_Function_Id id)
 
const char * token_name (const Compiler_Operator_Kind kind) noexcept
 
void append_indented_text (std::ostream &out, const std::string &text, const size_t indent)
 
bool parse_integer (const std::string &text, long long &value) noexcept
 
std::string decode_escape_string (const std::string &raw)
 
char decode_escape_char (const std::string &raw)
 
Compiler_Bytecode_Constant classify_constant (const Compiler_IR_Instruction &inst)
 
bool same_constant (const Compiler_Bytecode_Constant &lhs, const Compiler_Bytecode_Constant &rhs) noexcept
 
Compiler_Bytecode_Constant_Id intern_constant (DynArray< Compiler_Bytecode_Constant > &pool, const Compiler_Bytecode_Constant &constant)
 
bool contains_pc (const DynArray< Compiler_Bytecode_Block_Info > &blocks, const Compiler_Bytecode_PC pc) noexcept
 
std::string constant_to_string (const Compiler_Bytecode_Constant &constant)
 

Function Documentation

◆ append_indented_text()

void Aleph::Compiler_Bytecode_Detail::append_indented_text ( std::ostream &  out,
const std::string &  text,
const size_t  indent 
)
inline

Definition at line 364 of file Bytecode.H.

References Aleph::blossom_maximum_cardinality_matching(), and out.

Referenced by Aleph::compiler_dump_bytecode_module().

◆ block_name()

std::string Aleph::Compiler_Bytecode_Detail::block_name ( const Compiler_Bytecode_Block_Id  id)
inline

◆ classify_constant()

◆ constant_name()

std::string Aleph::Compiler_Bytecode_Detail::constant_name ( const Compiler_Bytecode_Constant_Id  id)
inline

Definition at line 328 of file Bytecode.H.

Referenced by Aleph::compiler_dump_bytecode_function().

◆ constant_to_string()

std::string Aleph::Compiler_Bytecode_Detail::constant_to_string ( const Compiler_Bytecode_Constant &  constant)
inline

◆ contains_pc()

bool Aleph::Compiler_Bytecode_Detail::contains_pc ( const DynArray< Compiler_Bytecode_Block_Info > &  blocks,
const Compiler_Bytecode_PC  pc 
)
inlinenoexcept

Definition at line 547 of file Bytecode.H.

Referenced by Aleph::validate_bytecode_function().

◆ decode_escape_char()

char Aleph::Compiler_Bytecode_Detail::decode_escape_char ( const std::string &  raw)
inline

Definition at line 448 of file Bytecode.H.

Referenced by classify_constant().

◆ decode_escape_string()

std::string Aleph::Compiler_Bytecode_Detail::decode_escape_string ( const std::string &  raw)
inline

Definition at line 400 of file Bytecode.H.

References Aleph::and, and Aleph::blossom_maximum_cardinality_matching().

Referenced by classify_constant().

◆ function_name()

std::string Aleph::Compiler_Bytecode_Detail::function_name ( const Compiler_Bytecode_Function_Id  id)
inline

Definition at line 352 of file Bytecode.H.

Referenced by Aleph::compiler_dump_bytecode_function().

◆ global_slot_name()

std::string Aleph::Compiler_Bytecode_Detail::global_slot_name ( const Compiler_IR_Global_Slot_Id  id)
inline

◆ intern_constant()

◆ local_slot_name()

std::string Aleph::Compiler_Bytecode_Detail::local_slot_name ( const Compiler_IR_Local_Slot_Id  id)
inline

Definition at line 340 of file Bytecode.H.

Referenced by Aleph::compiler_dump_bytecode_function().

◆ parse_integer()

bool Aleph::Compiler_Bytecode_Detail::parse_integer ( const std::string &  text,
long long &  value 
)
inlinenoexcept

Definition at line 388 of file Bytecode.H.

References Aleph::and, and value.

Referenced by classify_constant().

◆ register_name()

std::string Aleph::Compiler_Bytecode_Detail::register_name ( const Compiler_Bytecode_Register_Id  id)
inline

Definition at line 322 of file Bytecode.H.

Referenced by Aleph::compiler_dump_bytecode_function().

◆ same_constant()

bool Aleph::Compiler_Bytecode_Detail::same_constant ( const Compiler_Bytecode_Constant &  lhs,
const Compiler_Bytecode_Constant &  rhs 
)
inlinenoexcept

Definition at line 523 of file Bytecode.H.

References Aleph::and.

Referenced by intern_constant().

◆ token_name()

const char * Aleph::Compiler_Bytecode_Detail::token_name ( const Compiler_Operator_Kind  kind)
inlinenoexcept