/****************************************************************************/
//              "Меркурий"-"Правда" - open source переводчик
//          распространяется в соответсвии с лицензией GNU v 2.0
//
//                         Грамматический словарь
//       Анисимов Д.В.                                    сегодня
/****************************************************************************/
# ifndef SLOWO2_H
# define SLOWO2_H
# include <grammar.h>


struct t_Slowo2
{
   t_Lang     *Lang ;   // язык, которому принадлежит словарь
   t_Format   *Format ; // формат словаря

   long        n_Word ; // число слов
   short       n_Form ; // число форм
   char       *Mass ;   // Массив, в котором лежат слова
   long       *Word ;   // ссылки на начала слов [n_Word*n_Form]
   long       *reverce ;// алфавитный список форм

   t_Slowo2( void );
   void    set_lf( t_Lang *_Lang, t_Format *_Format );
   void    read( char *File, t_Lang *Lang, t_Format *Format );
   void    freverce( void );
   char   *normal( long index );
   char   *form( char *Str, t_Form *Form );
   short   quest( char *Str, long *Ant, t_Form *Form );
   char    word_exist( char *str );
   void    print_word( FILE *fw, long index );
private:
   long    find( char *str );
   t_Form  add_form( t_Form *Post,t_Form *Var );
   char   *form( long i, t_Form *Form );
};

# endif