2025-11-23 16:49:49 +09:00
|
|
|
|
//! JoinIR Lowering Functions
|
|
|
|
|
|
//!
|
|
|
|
|
|
//! Phase 27.9: Modular separation of MIR → JoinIR lowering implementations.
|
|
|
|
|
|
//!
|
|
|
|
|
|
//! このモジュールは各種 MIR 関数を JoinIR に変換する lowering 関数を提供します。
|
|
|
|
|
|
//!
|
|
|
|
|
|
//! ## 構成:
|
2025-11-23 22:51:30 +09:00
|
|
|
|
//! - `common.rs`: CFG sanity checks と lowering 共通ユーティリティ(Phase 27.10)
|
2025-11-24 03:58:30 +09:00
|
|
|
|
//! - `value_id_ranges.rs`: ValueId 範囲管理(Phase 27.13+)
|
2025-11-23 16:49:49 +09:00
|
|
|
|
//! - `min_loop.rs`: JoinIrMin.main/0 専用の最小ループ lowering
|
|
|
|
|
|
//! - `skip_ws.rs`: Main.skip/1 の空白スキップ lowering(手書き版+MIR自動解析版)
|
|
|
|
|
|
//! - `funcscanner_trim.rs`: FuncScannerBox.trim/1 の trim lowering
|
2025-11-24 02:34:36 +09:00
|
|
|
|
//! - `stage1_using_resolver.rs`: Stage1UsingResolverBox.resolve_for_source entries loop lowering(Phase 27.12)
|
2025-11-24 05:23:26 +09:00
|
|
|
|
//! - `funcscanner_append_defs.rs`: FuncScannerBox._append_defs/2 の配列結合 lowering(Phase 27.14)
|
2025-11-27 02:58:38 +09:00
|
|
|
|
//! - `if_select.rs`: Phase 33 If/Else → Select lowering
|
2025-11-23 16:49:49 +09:00
|
|
|
|
|
2025-11-23 22:51:30 +09:00
|
|
|
|
pub mod common;
|
2025-11-24 14:17:02 +09:00
|
|
|
|
pub mod exit_args_resolver;
|
2025-11-24 05:23:26 +09:00
|
|
|
|
pub mod funcscanner_append_defs;
|
2025-11-23 16:49:49 +09:00
|
|
|
|
pub mod funcscanner_trim;
|
2025-11-24 14:17:02 +09:00
|
|
|
|
pub mod generic_case_a;
|
2025-11-27 02:58:38 +09:00
|
|
|
|
pub mod if_select; // Phase 33
|
2025-11-24 14:17:02 +09:00
|
|
|
|
pub mod loop_form_intake;
|
2025-11-25 06:32:08 +09:00
|
|
|
|
pub mod loop_scope_shape;
|
2025-11-26 01:18:32 +09:00
|
|
|
|
pub mod loop_to_join;
|
2025-11-23 16:49:49 +09:00
|
|
|
|
pub mod min_loop;
|
|
|
|
|
|
pub mod skip_ws;
|
2025-11-24 02:34:36 +09:00
|
|
|
|
pub mod stage1_using_resolver;
|
2025-11-24 14:17:02 +09:00
|
|
|
|
pub mod stageb_body;
|
|
|
|
|
|
pub mod stageb_funcscanner;
|
|
|
|
|
|
pub mod value_id_ranges;
|
2025-11-23 16:49:49 +09:00
|
|
|
|
|
|
|
|
|
|
// Re-export public lowering functions
|
2025-11-24 05:23:26 +09:00
|
|
|
|
pub use funcscanner_append_defs::lower_funcscanner_append_defs_to_joinir;
|
2025-11-23 16:49:49 +09:00
|
|
|
|
pub use funcscanner_trim::lower_funcscanner_trim_to_joinir;
|
2025-11-26 01:18:32 +09:00
|
|
|
|
// Phase 31: LoopToJoinLowerer 統一箱
|
|
|
|
|
|
pub use loop_to_join::LoopToJoinLowerer;
|
2025-11-25 23:25:39 +09:00
|
|
|
|
// Phase 30 F-3: 旧 lower_case_a_loop_to_joinir_for_minimal_skip_ws は _with_scope に置き換え済みのため削除
|
2025-11-23 16:49:49 +09:00
|
|
|
|
pub use min_loop::lower_min_loop_to_joinir;
|
|
|
|
|
|
pub use skip_ws::lower_skip_ws_to_joinir;
|
2025-11-24 02:34:36 +09:00
|
|
|
|
pub use stage1_using_resolver::lower_stage1_usingresolver_to_joinir;
|
2025-11-24 14:17:02 +09:00
|
|
|
|
pub use stageb_body::lower_stageb_body_to_joinir;
|
|
|
|
|
|
pub use stageb_funcscanner::lower_stageb_funcscanner_to_joinir;
|