// **************************************************************************
//            wh-фразы
//
//            фраза_whether
//            фраза_that
//            фраза_определение
//            фраза_дополнение
//            фраза_обстоятельство
//            фраза_дополнение_сущ
//
// **************************************************************************
@Перевод
{  @Выбор     _about = @0[about]  @00 ;
   @Выбор     _about = @0[о]      @00 ;
}
// ---------- специфичные хвосты -------------------------------
@Перевод 
{  @Структура or_not = @0[or]  @0[not] ;
   @Структура or_not = @0[или] @0[нет] ;
}
@Перевод 
{  @Структура or_to_inf = @0[or]  гр_глагола( &S1, %Inf ) ;
   @Структура or_to_inf = @0[или] гр_глагола( %Несов,%Inf,@0,@0,@0,%Актив,@0 ) ;
}
@Перевод 
{  @Выбор _or_not = or_not or_to_inf @00 ;
   @Выбор _or_not = or_not or_to_inf @00 ;
}
@Перевод
{  @Выбор     whether = @0[whether] @0[if] ;
   @Выбор     whether = @0[_]       @0[_]  ;
}
// -------------------------------------------------------------
@Перевод
{  @Структура вопрос_прил    = @0[how] прил( &Смысл ) ;
   @Структура вопрос_прил    = @0[как] прил( %С, %Н, %В, %Ед ) ;
}
@Перевод
{  @Структура вопрос_наречие = @0[how] _Наречие ;
   @Структура вопрос_наречие = @0[как] _Наречие ;
}
// ========== вопрос к подлежащему ==============================
@Перевод 
{  
   @Структура Вопрос_к_подлежащему1( число Число ) =
              вопрос_к_прил_пп
	     _заголовок1
	     _опр_правый<1>
	     _опр_прилагательный
	     _опр_правый<2>
	      сущ( &Число  )
	     _хвост_сущ ;

   @Структура Вопрос_к_подлежащему1( падеж &Падеж, число &Число ) =
              вопрос_к_прил_пп( Род, %И, Число )
	     _заголовок1( Род, Число, %И )
	     _опр_прилагательный( Род, Душа, Падеж, Число )
	      сущ( &Род, &Душа, Падеж, &Число )
	     _опр_правый<1>
	     _опр_правый<2>
	     _хвост_сущ( Род, %И, Число ) ;
}
@Перевод
{  @Выбор     Вопрос_к_подлежащему =
	      //вопрос_к_подлежащему_пп
	      @0[Who]
	      @0[What]
	      вопрос_к_прил_пп
	      Вопрос_к_подлежащему1( &Число ) ;
   @Выбор     Вопрос_к_подлежащему( падеж &Падеж ) = 
	      //вопрос_к_подлежащему_пп
	      вопрос[кто]( &Р, Падеж, &Ч )
	      вопрос[что]( &Р, Падеж, &Ч )
	      вопрос_к_прил_пп( %М, Падеж, %Ед ) // может быть это и не на месте
	      Вопрос_к_подлежащему1( Падеж, Число ) ;
}
// ---------- вопрос к обстоятельству ------------------------------
@Перевод
{  @Выбор     Вопрос_к_обстоятельству = 
              вопрос_к_обстоятельству_пп
	      вопрос_наречие ;
   @Выбор     Вопрос_к_обстоятельству =
              вопрос_к_обстоятельству_пп
	      вопрос_наречие ;
}
// ---------- вопрос к фразе с to_be ------------------------------
@Перевод
{  @Выбор     Вопрос_is = 
              вопрос_к_to_be_пп
	      вопрос_прил
	      вопрос_наречие ;
   @Выбор     Вопрос_is =
              вопрос_к_to_be_пп
	      вопрос_прил
	      вопрос_наречие ;
}
// **************************************************************************
//        wh-фразы - члены предложения
// **************************************************************************
@Перевод
{  @Структура фраза_whether1  = ядро_whether( &S1 ) хвост _or_not ;
   @Структура фраза_whether1  = ядро_whether        хвост _or_not ;
}
@Перевод
{  @Структура фраза_whether1б = ядро_whether( %восприятия ) все_все ;
   @Структура фраза_whether1б = ядро_whether                все_все ;
}
@Перевод
{  @Структура фраза_whether_to_inf = 
              @0[to] гр_глагола( &S1, %Inf ) _обстоятельство _or_not ;
   @Структура фраза_whether_to_inf =
//            Вот ведь ЖОПА!!! Это единственное место, где гр_глагола имеет 
//            параметр %Да
//            гр_глагола( %Несов,%Inf,@0,@0,@0,%Актив,@0,%Да ) _обстоятельство _or_not ;
            гр_глагола( %Несов,%Inf,@0,@0,@0,%Актив,@0 ) _обстоятельство _or_not ;
}
@Перевод
{  // не забыть проставить параметры
   @Структура фраза_whether_is = ядро_whether_is хвост_be ;
   @Структура фраза_whether_is = ядро_whether_is хвост_be( Число, Род, %Н, Падеж ) ;
}
@Перевод 
{  @Структура фраза_whether_have = 
              ядро_have_whether хвост_have ;
   @Структура фраза_whether_have =
              ядро_have_whether( Число, Род, &Падеж ) хвост_have( &Число, Падеж, &Род ) ;
}
@Перевод
{  @Структура фраза_whether_there = 
              ядро_повест_there хвост_there_a ;
   @Структура фраза_whether_there =
              ядро_повест_there( Число, Род, &Падеж,%Да ) 
	      хвост_there_a( &Число, Падеж, &Род ) ;
}
@Перевод 
{  @Выбор     фраза_whether2 = 
	      фраза_whether_пп
	      фраза_be_whether_пп
	      фраза_be1_whether_пп
	      фраза_have_whether_пп
              фраза_whether1
	      фраза_whether1б
	      фраза_whether_to_inf
	      фраза_whether_is
	      фраза_whether_have
	      фраза_whether_there
              ;
   @Выбор     фраза_whether2 = 
	      фраза_whether_пп
	      фраза_be_whether_пп
	      фраза_be1_whether_пп
	      фраза_have_whether_пп
              фраза_whether1
	      фраза_whether1б
	      фраза_whether_to_inf
	      фраза_whether_is
	      фраза_whether_have
	      фраза_whether_there
              ;
}
@Перевод
{  @Структура фраза_whether = _about whether  фраза_whether2 ;
   @Структура фраза_whether = _about          фраза_whether2 ;
}
// -----------------------------------------------------
@Перевод
{  @Структура фраза_that1   = _about @0[that] фраза_повест ;
   @Структура фраза_that1   = _about @0[что]  фраза_повест ;
}
@Перевод
{  @Структура фраза_that2   = @0[about]       фраза_повест ;
   @Структура фраза_that2   = @0[about]       фраза_повест ;
}
@Перевод
{  @Выбор     фраза_that = 
              фраза_that1
	      фраза_that2 ;
   @Выбор     фраза_that = 
              фраза_that1
	      фраза_that2 ;
}
@Перевод
{
   @Структура фраза_определение = Вопрос_is  фраза_be ;
   @Структура фраза_определение = Вопрос_is  фраза_be ;
}   
// --------- дополнение  -----------------------------

@Перевод
{
   @Структура фраза_дополнение1 = Вопрос_к_подлежащему фраза_повест ;
   @Структура фраза_дополнение1( падеж &Падеж ) = 
              Вопрос_к_подлежащему( Падеж ) фраза_повест ;
}
@Перевод
{
   @Структура фраза_дополнение2 = Вопрос_к_подлежащему сказуемое( &S1 ) хвост ;
   @Структура фраза_дополнение2( падеж &Падеж ) = 
              Вопрос_к_подлежащему( Падеж ) сказуемое( %3е, %Ед, Род ) хвост ;
}   
@Перевод
{
   @Структура фраза_дополнение2h = 
              Вопрос_к_подлежащему сказуемое_have хвост_have ;
   @Структура фраза_дополнение2h = 
              @0[у] Вопрос_к_подлежащему( %Р ) 
	      сказуемое_have( %Ед, Род, &Падеж ) хвост_have( %Ед, Падеж, &Род ) ;
}   
@Перевод
{
   @Структура фраза_дополнение3 = 
              Вопрос_к_подлежащему          to_inf( &S1 ) ;
   @Структура фраза_дополнение3( падеж &Падеж ) =
              Вопрос_к_подлежащему( Падеж ) to_inf(%Ед, %М) ;
}   
@Перевод
{
   @Структура фраза_дополнение4 = Вопрос_к_подлежащему    фраза_повест   Предлог ;
   @Структура фраза_дополнение4 = 
              Предлог( &П )     Вопрос_к_подлежащему( П ) фраза_повест ;
}   
@Перевод
{
   @Структура фраза_дополнение5 = Вопрос_к_подлежащему to_inf( &S1 ) Предлог ;
   @Структура фраза_дополнение5 = 
              Предлог( &П ) Вопрос_к_подлежащему( П ) to_inf(%Ед, %М) ;
}
@Перевод
{
   @Выбор     фраза_дополнение =
              фраза_дополнение1
	      фраза_дополнение2
	      фраза_дополнение2h
	      фраза_дополнение3
	      фраза_дополнение4
	      фраза_дополнение5 ;
   @Выбор     фраза_дополнение( падеж &Падеж ) =
              фраза_дополнение1( Падеж )
	      фраза_дополнение2( Падеж )
	      фраза_дополнение2h
              фраза_дополнение3( Падеж )
	      фраза_дополнение4
	      фраза_дополнение5 ;
}
// ---------- фраза_обстоятельство ---------------------
// ---------- по-моему сдделано неоптимально -----------
@Перевод
{  @Структура фраза_обстоятельство1 = _about  Вопрос_к_обстоятельству  фраза_повест ;
   @Структура фраза_обстоятельство1 = _about  Вопрос_к_обстоятельству  фраза_повест ;
}
@Перевод
{  @Структура фраза_обстоятельство2 = _about  Вопрос_к_обстоятельству  to_inf( &S1 ) ;
   @Структура фраза_обстоятельство2 = _about  Вопрос_к_обстоятельству  to_inf(%Ед, %М) ;
}
@Перевод
{  // ----- возможно стоит обьединить с фраза_обстоятельство1 --
   @Структура фраза_обстоятельство3 = _about  вопрос_союз_пп  фраза_повест ;
   @Структура фраза_обстоятельство3 = _about  вопрос_союз_пп  фраза_повест ;
}
@Перевод
{  @Структура фраза_обстоятельство4 = _about  вопрос_союз_пп  to_inf( &S1 ) ;
   @Структура фраза_обстоятельство4 = _about  вопрос_союз_пп  to_inf(%Ед, %М) ;
}
@Перевод
{
   @Выбор     фраза_обстоятельство =
              фраза_обстоятельство1
	      фраза_обстоятельство2
	      фраза_обстоятельство3
	      фраза_обстоятельство4 ;
   @Выбор     фраза_обстоятельство =
              фраза_обстоятельство1
	      фраза_обстоятельство2
	      фраза_обстоятельство3
	      фраза_обстоятельство4 ;
}
// --------- дополнение существительного -------------
@Перевод
{  @Структура фраза_что = @0[that] фраза_повест ;
   @Структура фраза_что = @0[что]  фраза_повест ;
}
@Перевод
{  @Структура фраза_тот_что = 
              @0[what] фраза ;
   @Структура фраза_тот_что( падеж &Падеж ) = 
              мест_прил[тот]( %С, Падеж, %Ед ) @0[что] фраза ;
}
@Перевод
{  @Структура фраза_который = 
              @0[that] сказуемое( &S1 ) хвост ;
   @Структура фраза_который( род &Род, падеж &Падеж, число &Число ) =
              мест_прил[который]( Род, Падеж, Число ) 
	      сказуемое( %3е, Число, Род ) хвост ;
}
@Перевод
{  @Структура фраза_be_который =
              @0[that] сказуемое_be хвост_be_a ;
   @Структура фраза_be_который( род &Род, падеж &Падеж, число &Число ) =
              мест_прил[который]( Род, Падеж, Число ) 
	      сказуемое_be( %3е, Число, Род ) хвост_be_a( Число1, Род1, %Н, Падеж ) ;
}
@Перевод
{
   @Выбор     фраза_дополнение_сущ =
              фраза_что
	      фраза_тот_что
	      фраза_который
	      фраза_be_который
	      ;
   @Выбор     фраза_дополнение_сущ( род &Род, падеж &Падеж, число &Число ) =
              фраза_что
	      фраза_тот_что   (      Падеж        )
	      фраза_который   ( Род, Падеж, Число )
	      фраза_be_который( Род, Падеж, Число )
	      ;
}
