Abstract base class for file readers that parse text files.
You should not use this class directly, but rather use the specific file reader implementations like RulesFileReader and ConstantsFileReader.
This class provides common functionality for reading file content either line by line or block by block (separated by empty lines),
and defines the abstract parse method that must be implemented by subclasses to handle the specific parsing logic for rules or constants.
Abstract base class for file readers that parse text files. You should not use this class directly, but rather use the specific file reader implementations like RulesFileReader and ConstantsFileReader. This class provides common functionality for reading file content either line by line or block by block (separated by empty lines), and defines the abstract parse method that must be implemented by subclasses to handle the specific parsing logic for rules or constants.