# include <string.h>
# include <stdlib.h>

# include <mylib.h>
# include <slowo2.h>
# include <slowo3.h>
# include <grammar.h>
# include <core.h>

/***************************************************************************/
int main( short argc, char *argv[] )
{  char  Sou[1000],Dst[1000] ;
   long  i,i1,z,N,L,J ;
   char *mass ;
   FILE *fr,*fw ;
   t_rStruct *pV ;
      
   read_grammar( ".." );

   fr=fopen( "tst/test1.txt","r" );
   L=FileLength( fr );
   mass=(char *)malloc( L );
   fread( mass,L,1,fr );

   long n_frasa,n_figna,n_variant,n_ok ;
   n_frasa=n_figna=n_variant=n_ok=0 ;

   fw=Fopen("perevod1.err","w");

   for( J=z=i=0 ; i<L ; i++ )
   {  if( mass[i]=='.' || mass[i]=='?' || mass[i]=='!' )
      {
	  strncpy( Sou,mass+z,i-z+1 ); Sou[i-z+1]=0 ;
	  Core.translate( Sou, Dst );
	  for( N=i1=0 ; i1<Core.n_antwort() ; i1++ )
	  {
	     if( Core.variants( 0,i_main_struct )->Variant.j<=i1 ) continue ;
	     pV=Core.variant( 0,i_main_struct,i1 );
	     if( pV->i_last_word==Core.from().j ) N++ ;

	  }
	  if( N==0 ) n_figna++ ;
	      else { n_ok++ ; n_variant+=N ;  }
          n_frasa++ ;
	  printf("\n %ld %s",N,Dst );
	  if( N==0 ) fprintf(fw,"\n%s\n %s",Sou,Dst );
	  z=i+1 ;   
      }
      if( mass[i]==':' ) 
      {  z=i+1 ;
         printf("\n test%ld",++J );
      }
   }
   Fclose(fw);
   
   printf("\n");
   printf("\n число фраз           = %ld",n_frasa );
   printf("\n число непереведенных = %ld",n_figna );
   printf("\n число вариантов      = %ld",n_variant );
   printf("\n число вариантов/фразу= %f",(float)n_variant/(float)n_ok );
   return (0) ;
}