    class
    	STRING_SEARCHER

    General
    	cluster: base
    	description:
    		"Helper to perform efficient search of a string in another one.
    		Note: The algorithm used is the one described in Communications of the ACM,
    		volume 33, number 8, August 1990, by Daniel M. Sunday. The fuzzy
    		version was presented by Peter R. Sibbald in Communications of the
    		ACM, volume 35, number 4, April 1992 (Technical Correspondance)."
    	create: make

    Ancestors
    	ANY

    Queries
    	fuzzy_index (a_string, a_pattern: STRING_GENERAL; start_pos, end_pos, fuzzy: INTEGER_32): INTEGER_32
    	Max_ascii_character_value: INTEGER_32
    	substring_index (a_string, a_pattern: STRING_GENERAL; start_pos, end_pos: INTEGER_32): INTEGER_32
    	substring_index_with_deltas (a_string, a_pattern: STRING_GENERAL; start_pos, end_pos: INTEGER_32): INTEGER_32

    Commands
    	initialize_deltas (a_pattern: STRING_GENERAL)

    Constraints
    	deltas not void
    	deltas valid