Summary
The IR optimizer has incomplete Grammar structure transformation code with a TODO comment indicating the implementation needs to be fixed for the new Grammar structure.
Location
- File:
ir/src/optimizer.rs
- Line: 527-528
- Code:
// TODO: Fix this for new Grammar structure
// grammar.rules.retain(|_, r| r.lhs \!= original_symbol);
Issue
The optimizer cannot properly transform grammar rules due to incomplete implementation. The commented-out code suggests this functionality existed but was disabled during a Grammar structure refactor.
Impact
- Grammar optimizations may not work correctly
- Left-recursion elimination may be incomplete
- Could lead to incorrect parser generation
Proposed Solution
- Review the current Grammar structure and determine correct API
- Implement proper rule retention/removal logic
- Add tests to verify optimization correctness
- Update related optimization passes that may depend on this
Priority
High - This affects core grammar transformation functionality
Context
Found during codebase analysis. This appears to be a remnant from a Grammar structure refactor that wasn't fully completed.
Related Files
ir/src/lib.rs - Grammar structure definition
ir/src/optimizer.rs - Other optimization passes that may be affected
Summary
The IR optimizer has incomplete Grammar structure transformation code with a TODO comment indicating the implementation needs to be fixed for the new Grammar structure.
Location
ir/src/optimizer.rsIssue
The optimizer cannot properly transform grammar rules due to incomplete implementation. The commented-out code suggests this functionality existed but was disabled during a Grammar structure refactor.
Impact
Proposed Solution
Priority
High - This affects core grammar transformation functionality
Context
Found during codebase analysis. This appears to be a remnant from a Grammar structure refactor that wasn't fully completed.
Related Files
ir/src/lib.rs- Grammar structure definitionir/src/optimizer.rs- Other optimization passes that may be affected