// **************************************************************************
//            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( падеж &Падеж, число &Число ) = 
               вопрос_к_прил_пп( Род, %И, Число ) 
               _заголовок1( Род, Число, %И ) 
               _опр_прилагательный( Род, Душа, Падеж, Число ) 
               сущ( &Род, &Душа, Падеж, &Число ) 
               _опр_правый 
               _опр_правый 
               _хвост_сущ( Род, %И, Число ) 
               ;
}

@Перевод
{
   @Выбор      Вопрос_к_подлежащему = 
               @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 
               ;
}

@Перевод
{
// не забыть проставить параметры
   @Структура  фраза_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_который( Род, Падеж, Число ) 
               ;
}