// @Структура2 гр_глагола_с
//

@Перевод
{  @Структура гр_глагола_а( см_глагола S1, форма Ф ) = !глагол( &S1, &Ф ) хвост_а ;
   @Структура гр_глагола_а( verb_param ) = 
              !глагол( S,Ф,@0,Ч,В,Р,%Актив,П ) хвост_а ;
}
@Перевод
{  @Структура гр_be_а( форма Ф ) = @0[be] хвост_be ;
   @Структура гр_be_а( verb_param ) = 
              глагол[быть]( S,Ф,@0,Ч,В,Р,%Актив,П ) хвост_be( Ч,Р,%Н,%В ) ;
}
@Перевод
{  @Структура гр_have_been_а( форма Ф ) = @0[have] @0[been] хвост_be ;
   @Структура гр_have_been_а( verb_param ) = 
              глагол[быть]( S,Ф,@0,Ч,В,Р,%Актив,П ) хвост_be( Ч,Р,%Н,%В ) ;
}
@Перевод
{  @Структура гр_have_а( форма Ф ) = @0[have] хвост_have ;
   @Структура гр_have_а( verb_param ) = 
              глагол[быть]( S,Ф,@0,Ч1,В,Р1,%Актив,П ) хвост_have( &Ч1, %И, &Р1 ) ;
}
@Перевод
{  @Выбор     гр_глагола( см_глагола S1, форма Ф ) = 
              !гр_глагола_а  ( &S1, &Ф )
	      гр_be_а       ( &Ф )
	      гр_have_been_а( &Ф )
	      гр_have_а     ( &Ф )
	      гр_глагола_п  ( &Ф )
	      гр_be_пп      ( &Ф )
	      гр_be1_пп     ( &Ф )
	      гр_have_п     ( &Ф )
	      ;
   @Выбор     гр_глагола( verb_param ) = 
              !гр_глагола_а  ( S,Ф,Ч,В,Р,З,П )
	      гр_be_а       ( S,Ф,Ч,В,Р,З,П )
	      гр_have_been_а( S,Ф,Ч,В,Р,З,П )
	      гр_have_а     ( S,Ф,Ч,В,Р,З,П )
	      гр_глагола_п  ( S,Ф,Ч,В,Р,З,П )
	      гр_be_пп      ( S,Ф,Ч,В,Р,З,П )
	      гр_be1_пп     ( S,Ф,Ч,В,Р,З,П )
	      гр_have_п     ( S,Ф,Ч,В,Р,З,П )
	      ;
}
@Перевод
{  @Структура чтобы_to_inf_akt( см_глагола S1 ) = 
              _Not @0[to] !гр_глагола( &S1, %Inf ) ;
   @Структура чтобы_to_inf_akt  = 
               @0[для_того_чтобы] _Not !гр_глагола( %Несов,%Inf,@0,@0,@0,%Актив,@0 ) ;
}
@Перевод
{  @Структура to_inf_akt( см_глагола S1 ) = 
              _Not @0[to] !гр_глагола( &S1, %Inf ) ;
   @Структура to_inf_akt  = _Not !гр_глагола( %Несов,%Inf,@0,@0,@0,%Актив,@0 ) ;
}
@Перевод
{  @Структура to_inf_pass( см_глагола S1 ) =
              _Not @0[to] @0[be] !гр_глагола( &S1, %Form3 ) ;
   @Структура to_inf_pass( число &Ч, род &Р ) = 
              _Not @0[быть] !гр_глагола( %Сов,%причастие,Ч,@0,Род,%Пассив,@0 ) ;
}
@Перевод
{
   @Выбор     to_inf( см_глагола S1 ) =
              !to_inf_akt ( &S1 )
	      !to_inf_pass( &S1 ) ;
   @Выбор     to_inf( число &Ч, род &Р ) =
              !to_inf_akt
	      !to_inf_pass( Ч, Р ) ;
}
/*
@Перевод
{  @Структура to_inf  = _Not @0[to] гр_глагола( %Inf ) ;
   @Структура to_inf  = _Not гр_глагола( %Несов,%Inf,@0,@0,@0,%Актив,@0,%Нет ) ;
}
*/
@Перевод
{  @Структура to_inf1( см_глагола S1 ) = _Not @0[to] !гр_глагола( &S1, %Inf ) ;
   @Структура to_inf1 = _Not !гр_глагола( %Сов,%деепричастие,@0,@0,@0,@0,@0 ) ;
}
@Перевод
{  @Структура to_inf2( см_глагола S1 ) = _Not @0[to] !гр_глагола( &S1, %Inf ) ;
   @Структура to_inf2( число &Число, род &Род ) =
              _Not !гр_глагола( %Сов,%глагол,Число,%прошлое,Род,%Актив,@0 ) ;
}
@Перевод
{  @Структура гр_inf_причастие( см_глагола S1 ) = _Not @0[to] гр_глагола( &S1, %Inf ) ;
   @Структура гр_inf_причастие( род &Род, падеж &Падеж, число &Число ) =
              _Not гр_глагола( %Сов,%причастие,Число,%прошлое,Род,%Актив,Падеж ) ;
}
@Перевод
{  @Структура гр_ing( см_глагола S1 )  = !гр_глагола( &S1, %Ing ) ;
   @Структура гр_ing  = !гр_глагола( %Несов,%Inf,@0,@0,@0,%Актив,@0 ) ;
}
@Перевод
{  @Структура гр_ing1( см_глагола S1 ) = !гр_глагола( &S1, %Ing ) ;
   @Структура гр_ing1( род &Род, падеж &Падеж, число &Число ) =
              !гр_глагола( %Несов,%причастие,Число,%настоящее,Род,%Актив,Падеж ) ;
}
@Перевод
{  @Структура союз_глагол( см_глагола S1 ) = 
              Предлог союз гр_глагола( &S1, %Inf ) ;
   @Структура союз_глагол = 
              Предлог( &Падеж ) союз гр_глагола( %Несов,%Inf,@0,@0,@0,%Актив,@0 ) ;
}
@Перевод
{  // ------- для "предлог в хвосте" --------
   @Структура to_inf_предлог = 
              @0[to] гр_глагола( &S1, %Inf ) Предлог ;
   @Структура to_inf_предлог( род &Род, число &Число ) = 
              гр_глагола( %Несов,%Inf,@0,@0,@0,%Актив,@0 ) 
	      Предлог( &Падеж ) прил[он]( Род, %Н ,Падеж, Число ) ;
}
@Перевод
{  @Выбор2     доп_глагол( см_глагола S1 ) = 
              !to_inf_akt( &S1) !to_inf1( &S1) !гр_ing( &S1) ;
   @Выбор2     доп_глагол = !to_inf_akt !to_inf1 !гр_ing ;
}
/********************************************************************************/
@Перевод
{  @Структура but_do = _and_or _do _Not ;
   @Структура but_do = _and_or     _Not ; 
}
@Перевод
{  @Выбор     but_do1 = but_do  and_or ;
   @Выбор     but_do1 = but_do  and_or ; 
}

@Перевод
{  // ------- для but do print --------
   (надо бы вставить праметры, но сейчас их не хочется тащить через STRUCT2)
   @Структура but_do_глагол = 
              but_do1   глагол( &S1, %Inf ) хвост_а ;
   @Структура but_do_глагол = 
              but_do1 
	      глагол( %Несов, %глагол, %3е, %Ед, %настоящее, @0, %Актив, @0 )
	      хвост_а ;
}





