refactor(phase-91): Modularize P5b escape pattern recognizer
### Changes #### 1. New Module: escape_pattern_recognizer.rs (255 lines) - Dedicated module for P5b (Escape Sequence Handling) pattern - Single Responsibility Principle: handles only escape pattern detection - Clean interface: exports only `detect_escape_skip_pattern()` and `EscapeSkipPatternInfo` - Private helpers for pattern-specific analysis **Moved functions**: - `detect_escape_skip_pattern()` - main recognizer - `find_break_in_if()` - break detection - `find_escape_in_if()` - escape check detection - `extract_delta_pair_from_if()` - delta extraction - `try_extract_increment_assignment()` - increment parsing #### 2. ast_feature_extractor.rs (1046 lines, was 1345) - Removed deprecated `extract_escape_delta_from_if()` function - Removed P5b-specific implementation (moved to escape_pattern_recognizer) - Added re-export for backward compatibility - **Result**: 299 lines removed (77% of original), cleaner focus on general pattern analysis #### 3. mod.rs (patterns/) - Registered new `escape_pattern_recognizer` module - Updated documentation to reflect modularization ### Results ✅ **File Size Reduction**: 1345 → 1046 lines in ast_feature_extractor ✅ **Code Organization**: Single-responsibility modules ✅ **Reusability**: P5b helpers isolated for Phase 92+ reuse ✅ **Test Status**: 1062/1062 tests PASS (no regressions) ✅ **Dead Code**: Removed deprecated function ### Architecture Improvement **Before**: ``` ast_feature_extractor.rs (1345 lines) ├─ Generic pattern detection (detect_continue, detect_parse_*, etc.) └─ P5b-specific helpers (deeply nested, hard to navigate) ``` **After**: ``` ast_feature_extractor.rs (1046 lines) - Generic patterns only escape_pattern_recognizer.rs (255 lines) - P5b-specific, organized ├─ Main recognizer └─ Focused private helpers ``` ### Next Steps - Phase 92: Implement JoinIR lowering for P5b using this recognizer - Phase 93: Pattern P5 (guard-bounded) detection Boxification/modularity complete! 🎉 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
@ -40,8 +40,13 @@
|
||||
//!
|
||||
//! Phase 179-B: Generic Pattern Framework
|
||||
//! - pattern_pipeline.rs: Unified preprocessing pipeline for Patterns 1-4
|
||||
//!
|
||||
//! Phase 91 P5b: Escape Pattern Recognizer
|
||||
//! - escape_pattern_recognizer.rs: P5b (escape sequence handling) pattern detection
|
||||
//! - Extracted from ast_feature_extractor for improved modularity
|
||||
|
||||
pub(in crate::mir::builder) mod ast_feature_extractor;
|
||||
pub(in crate::mir::builder) mod escape_pattern_recognizer; // Phase 91 P5b
|
||||
pub(in crate::mir::builder) mod common_init;
|
||||
pub(in crate::mir::builder) mod condition_env_builder;
|
||||
pub(in crate::mir::builder) mod conversion_pipeline;
|
||||
|
||||
Reference in New Issue
Block a user