// **************************************************************************
//            wh-фразы
//
//            фраза_whether
//            фраза_that
//            фраза_определение
//            фраза_дополнение
//            фраза_обстоятельство
//            фраза_дополнение_сущ
//
// **************************************************************************
@Перевод
{
   @Выбор      _about = @0@00;
   @Выбор      _about = @0@00;
}

// ---------- специфичные хвосты -------------------------------
@Перевод
{
   @Структура  or_not = @0@0;
   @Структура  or_not = @0@0;
}

@Перевод
{
   @Структура  or_to_inf = @0гр_глагола( &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@0;
   @Выбор      whether = @0@0;
}

// -------------------------------------------------------------
@Перевод
{
   @Структура  вопрос_прил = @0прил( &Смысл ) ;
   @Структура  вопрос_прил = @0прил( С, В, Ед ) ;
}

@Перевод
{
   @Структура  вопрос_наречие = @0_Наречие ;
   @Структура  вопрос_наречие = @0_Наречие ;
}

// ========== вопрос к подлежащему ==============================
@Перевод
{
   @Структура  Вопрос_к_подлежащему1( число Число ) = 
               вопрос_к_прил_пп 
               _заголовок1 
               _опр_правый 
               _опр_прилагательный 
               _опр_правый 
               сущ( &Число ) 
               _хвост_сущ 
               ;
   @Структура  Вопрос_к_подлежащему1( падеж &Падеж, число &Число ) = 
               вопрос_к_прил_пп( Род, И, Число ) 
               _заголовок1( Род, Число, И ) 
               _опр_прилагательный( Род, Падеж, Число ) 
               сущ( &Род, Падеж, &Число ) 
               _опр_правый 
               _опр_правый 
               _хвост_сущ( Род, И, Число ) 
               ;
}

@Перевод
{
   @Выбор      Вопрос_к_подлежащему = 
               вопрос_к_подлежащему_пп 
               вопрос_к_прил_пп 
               Вопрос_к_подлежащему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гр_глагола( &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фраза_повест ;
   @Структура  фраза_that1 = _about @0фраза_повест ;
}

@Перевод
{
   @Структура  фраза_that2 = @0фраза_повест ;
   @Структура  фраза_that2 = @0фраза_повест ;
}

@Перевод
{
   @Выбор      фраза_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фраза_повест ;
   @Структура  фраза_что = @0фраза_повест ;
}

@Перевод
{
   @Структура  фраза_тот_что = @0фраза ;
   @Структура  фраза_тот_что( падеж &Падеж ) = 
               мест_прил[тот]( С, Падеж, Ед ) @0фраза ;
}

@Перевод
{
   @Структура  фраза_который = @0сказуемое( &S1 ) хвост ;
   @Структура  фраза_который( род &Род, падеж &Падеж, число &Число ) = 
               мест_прил[который]( Род, Падеж, Число ) 
               сказуемое( 3е, Число, Род ) 
               хвост 
               ;
}

@Перевод
{
   @Структура  фраза_be_который = @0сказуемое_be хвост_be_a ;
   @Структура  фраза_be_который( род &Род, падеж &Падеж, число &Число ) = 
               мест_прил[который]( Род, Падеж, Число ) 
               сказуемое_be( 3е, Число, Род ) 
               хвост_be_a( Число1, Род1, Падеж ) 
               ;
}

@Перевод
{
   @Выбор      фраза_дополнение_сущ = 
               фраза_что фраза_тот_что фраза_который фраза_be_который ;
   @Выбор      фраза_дополнение_сущ( род &Род, падеж &Падеж, число &Число ) = 
               фраза_что 
               фраза_тот_что( Падеж ) 
               фраза_который( Род, Падеж, Число ) 
               фраза_be_который( Род, Падеж, Число ) 
               ;
}