with Token_Definition, Get_User_Info;
package Corrector is

    Abandon_Operation : exception;
    Bad_Word_Flag : Boolean;


    --------------------------------------------------------------------------
    -- Abstract   : This operation will determine if a word has already been
    --            : corrected.
    --------------------------------------------------------------------------
    -- Parameters : WORD : in TOKEN_DEFINITION.TOKEN_TYPE is the string being
    --            : check for.
    --            : LIST : in LIST_TYPE is the access value to the list
    --            : of words which have already been corrected.
    --------------------------------------------------------------------------
    -- Algorithm  : (An optional paragraph describing any special algorithms
    --               used by the package or routine.)
    --------------------------------------------------------------------------


    function Was_Corrected (Token : Token_Definition.Token_Type) return Boolean;


    --**************************************************************************
    --**************************************************************************



    --------------------------------------------------------------------------
    -- Abstract   : This operation will manage the requests to possible
    --            : correct a misspelled word.
    --------------------------------------------------------------------------
    -- Parameters : WORD : in TOKEN_DEFINITION.TOKEN_TYPE is the word to be
    --            : corrected.
    --            : TO   : inTOKEN_DEFINITION.TOKEN_TYPE is what the word was
    --            : corrected to.
    --            : COMPLETED : out BOOLEAN indicates that the word has been
    --            : corrected.
    --------------------------------------------------------------------------
    -- Algorithm  :
    --
    --------------------------------------------------------------------------


    procedure Correct (User_Info : Get_User_Info.User_Info_Type;
                       Word : Token_Definition.Token_Type);




    procedure Insert_Word (Token, Corrected_Token :
                              Token_Definition.Token_Type);

    procedure Initialize;


end Corrector;