// **************************************************************************
//
//                     Ядро с модальными глаголами
//
//                     ядро_модальное
//                     ядро_вопрос_модальное
// **************************************************************************

@Перевод
{ 
   @Структура ядро_have_have_заставить =
              ядро_have1 гр_сущ_а @0[having] ;
   @Структура ядро_have_have_заставить =
	      ядро_have1[заставить] гр_сущ_а( %Р ) @0[иметь] ;
}
@Перевод
{  @Структура ядро_have_мочь =
	      гр_сущ_м( &Число, &Лицо ) мод_глагол[can]( &Форма ) _No_p @0[have] ;
   @Структура ядро_have_мочь( число &Число, род &Род, падеж Падеж ) =
	      @0[У] гр_сущ_м( &Число1, &Лицо, %Р, &Род1 )
	      _No_p( &Падеж ) мод_глагол[мочь]( %Несов,%глагол,%3е,Число,&Время,Род )
	      @0[быть] ;
   table_vrema
}
@Перевод
{  @Структура ядро_have_мочь_будущее =
	      гр_сущ_м( &Число, &Лицо )
	      @0[will] _Not @0[be] @0[able] @0[to] @0[have] ;
   @Структура ядро_have_мочь_будущее =
	      @0[У] гр_сущ_м( &Число, &Лицо, %Р, &Род )
	      _Not мод_глагол[мочь]( %Сов,%глагол,%3е,Число,%будущее,@0 )
	      @0[быть] ;
}
@Перевод
{  @Структура ядро_have_должен =
	      гр_сущ_м( &Число, &Лицо )
	      мод_глагол[must]( &Форма ) _No_p _Наречие @0[have] ;
   @Структура ядро_have_должен( число &Число, род &Род, падеж Падеж ) =
	      @0[У] гр_сущ_м( &Число1, &Лицо, %Р, &Род1 ) _Наречие _No_p( &Падеж )
	      мод_глагол[должен]( %Несов,%глагол,%3е,Число,&Время,Род )
	      @0[быть] ;
   table_vrema
}
@Перевод
{  @Структура ядро_have_можно =
	      гр_сущ_м( &Число, &Лицо ) мод_глагол[may]( &Форма ) 
	      _Наречие @0[have] ;
   @Структура ядро_have_можно  =
	      гр_сущ_м( &Число, &Лицо, %Д, &Род ) _Наречие
	      мод_глагол[можно]( %Несов,%глагол,Лицо,Число,&Время,Род )
	      @0[иметь] ;
   table_vrema
}
@Перевод
{  @Структура ядро_have_можно_отр =
	      гр_сущ_м( &Число, &Лицо )
	      мод_глагол[may]( &Форма ) @0[not] _Наречие @0[have] ;
   @Структура ядро_have_можно_отр =
	      гр_сущ_м( &Число, &Лицо, %Д, &Род ) _Наречие
	      мод_глагол[нельзя]( %Несов,%глагол,Лицо,Число,&Время,@0 )
	      @0[иметь] ;
   table_vrema
}
@Перевод
{  @Структура ядро_have_нужно =
	      гр_сущ_м( &Число, &Лицо )
	      мод_глагол[need]( &Форма ) _No_p _Наречие @0[have] ;
   @Структура ядро_have_нужно( падеж Падеж ) =
	      гр_сущ_м( &Число, &Лицо, %Д, &Род ) _Наречие _No_p( &Падеж )
	      мод_глагол[нужно]( %Несов,%глагол,Лицо,Число,&Время,@0 )
	      @0[иметь] ;
   table_vrema
}
@Перевод
{  @Структура ядро_have_следует =
	      гр_сущ_м( &Число, &Лицо )
	      мод_глагол[ought]( &Форма ) _No_p _Наречие @0[to] @0[have] ;
   @Структура ядро_have_следует( падеж Падеж ) =
	      гр_сущ_м( &Число, &Лицо, %Д, &Род ) _Наречие _No_p( &Падеж )
	      мод_глагол[следует]( %Несов,%глагол,Лицо,Число,&Время,@0 )
	      @0[иметь] ;
   table_vrema
}
@Перевод
{  @Структура ядро_have_have_to_прошлое =
	      гр_сущ_м( &Число, &Лицо )
	      @0[had] _Not _Got @0[to] @0[have] ;
   @Структура ядро_have_have_to_прошлое =
	      гр_сущ_м( &Число, &Лицо, %И, &Род ) _Not
	      мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%прошлое,@0 )
	      @0[иметь] ;
}
@Перевод
{  @Структура ядро_have_have_to_настоящее =
	      гр_сущ_м( &Число, &Лицо ) _have _Not _Got @0[to] @0[have] ;
   @Структура ядро_have_have_to_настоящее =
	      гр_сущ_м( &Число, &Лицо, %И, &Род ) _Not
	      мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%настоящее,@0 )
	      @0[иметь] ;
}
@Перевод
{  @Структура ядро_have_have_to_отр_настоящее =
	      гр_сущ_м( &Число, &Лицо ) _do @0[not] _have _Got @0[to] @0[have] ;
   @Структура ядро_have_have_to_отр_настоящее =
	      гр_сущ_м( &Число, &Лицо, %И, &Род )
	      @0[не] мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%настоящее,@0 )
	      @0[иметь] ;
}
@Перевод
{  @Структура ядро_have_have_to_будущее =
	      гр_сущ_м( &Число, &Лицо )
	      _will @0[have] _Not _Got @0[to] @0[have] ;
   @Структура ядро_have_have_to_будущее =
	      гр_сущ_м( &Число, &Лицо, %И, &Род ) _Not
	      глагол[быть]( %Сов,%глагол,Лицо,Число,%будущее,@0,%Актив,@0 )
	      мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%настоящее,Род )
	      @0[иметь] ;
}

@Перевод
{
   @Выбор     ядро_have_модальное =
	      ядро_have_мочь
	      ядро_have_мочь_будущее
	      ядро_have_должен
	      ядро_have_можно
	      ядро_have_можно_отр
	      ядро_have_нужно
	      ядро_have_следует
	      ядро_have_have_to_прошлое
	      ядро_have_have_to_настоящее
	      ядро_have_have_to_отр_настоящее
	      ядро_have_have_to_будущее
	      ядро_have_have_заставить
	      ;
   @Выбор     ядро_have_модальное( число &Число, род &Род, падеж Падеж ) =
	      ядро_have_мочь        ( Число, Род, &Падеж )
	      ядро_have_мочь_будущее
	      ядро_have_должен      ( Число, Род, &Падеж )
	      ядро_have_можно
	      ядро_have_можно_отр
	      ядро_have_нужно                   ( &Падеж )
	      ядро_have_следует                 ( &Падеж )
	      ядро_have_have_to_прошлое
	      ядро_have_have_to_настоящее
	      ядро_have_have_to_отр_настоящее
	      ядро_have_have_to_будущее
	      ядро_have_have_заставить
	      ;
}
// ---------- ядро, в котором модальность выражается "через to be" -----
@Перевод
{
   @Структура ядро_have_вопрос_be_to_inf =
              ядро_вопрос_be[be] @0[to] @0[have] ;
   @Структура ядро_have_вопрос_be_to_inf( присутствие &П ) =
              ядро_вопрос_be[быть]( П )
	      мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%настоящее,Род )
	      @0[иметь];
}
@Перевод
{
   @Структура ядро_have_вопрос_be_going_to_inf =
              ядро_вопрос_be[be] @0[going] @0[have] ;
   @Структура ядро_have_вопрос_be_going_to_inf( присутствие &П ) =
              ядро_вопрос_be[собираться]( П ) @0[иметь];

}
@Перевод
{ 
   @Структура ядро_have_вопрос_have_заставить =
              ядро_have1_вопрос гр_сущ_а @0[having] ;
   @Структура ядро_have_вопрос_have_заставить( присутствие &П ) =
	      ядро_have1_вопрос[заставить]( П ) гр_сущ_а( %Р ) @0[иметь] ;
}
// ----------------------- модальное ядро вопрос ---------------------------
@Перевод
{  @Структура ядро_have_вопрос_мочь =
              мод_глагол[can]( &Форма ) _Not
	      гр_сущ( &Число, &Лицо ) @0[have] ;
   @Структура ядро_have_вопрос_мочь( присутствие &П ) =
	      _Not мод_глагол[мочь]( %Несов,%глагол,Лицо,Число,&Время,Род )
	      частица[ли]( П ) гр_сущ( &Число, &Лицо, %И, &Род ) @0[иметь] ;
   table_modal
}
@Перевод
{  @Структура ядро_have_вопрос_должен =
	      мод_глагол[must]( &Форма ) _Not
              гр_сущ( &Число, &Лицо ) @0[have] ;
   @Структура ядро_have_вопрос_должен( присутствие &П ) =
	      _Not мод_глагол[должен]( %Несов,%глагол,Лицо,Число,&Время,Род )
	      частица[ли]( П ) гр_сущ( &Число, &Лицо, %И, &Род ) @0[иметь] ;
   table_modal
}
@Перевод
{  @Структура ядро_have_вопрос_можно =
	      мод_глагол[may]( &Форма ) _Not гр_сущ( &Число, &Лицо )
	      @0[have] ;
   @Структура ядро_have_вопрос_можно( присутствие &П ) =
	      _Not мод_глагол[можно]( %Несов,%глагол,Лицо,Число,&Время,@0 )
	      частица[ли]( П ) гр_сущ( &Число, &Лицо, %Д, &Род ) @0[иметь] ;
   table_modal
}
@Перевод
{  @Структура ядро_have_вопрос_нужно =
	      мод_глагол[need]( &Форма ) _Not гр_сущ( &Число, &Лицо )
	      @0[have] ;
   @Структура ядро_have_вопрос_нужно( присутствие &П ) =
	      _Not мод_глагол[нужно]( %Несов,%глагол,Лицо,Число,&Время,@0 )
	      частица[ли]( П ) гр_сущ( &Число, &Лицо, %Д, &Род ) @0[иметь] ;
   table_modal
}
@Перевод
{  @Структура ядро_have_вопрос_следует =
	      мод_глагол[ought]( &Форма ) _Not гр_сущ( &Число, &Лицо ) @0[to]
	      @0[have] ;
   @Структура ядро_have_вопрос_следует( присутствие &П ) =
	      _Not мод_глагол[следует]( %Несов,%глагол,Лицо,Число,&Время,@0 )
	      частица[ли]( П ) гр_сущ( &Число, &Лицо, %Д, &Род ) @0[иметь] ;
   table_modal
}
@Перевод
{  @Структура ядро_have_вопрос_have_to_прошлое =
	      @0[did] _Not гр_сущ( &Число, &Лицо ) @0[have] _Got @0[to]
	      @0[have] ;
   @Структура ядро_have_вопрос_have_to_прошлое( присутствие &П ) =
	      _Not мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%прошлое,Род )	      
	      частица[ли]( П ) гр_сущ( &Число, &Лицо, %И, &Род ) @0[иметь] ;
   table_lizo( Лицо )
   table_chislo( Число )
}
@Перевод
{  @Структура ядро_have_вопрос_have_to_настоящее =
	      _do _Not гр_сущ( &Число, &Лицо ) _Наречие @0[have] _Got @0[to]
	      @0[have] ;
   @Структура ядро_have_вопрос_have_to_настоящее( присутствие &П ) =
	      _Not мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%настоящее,Род )
	      частица[ли]( П ) гр_сущ( &Число, &Лицо, %И, &Род )
	      _Наречие @0[иметь] ;
   table_lizo( Лицо )
   table_chislo( Число )
}
@Перевод
{  @Структура ядро_have_вопрос_have_to_настоящее1 =
	      _have _Not гр_сущ( &Число, &Лицо ) _Got @0[to] @0[have] ;
   @Структура ядро_have_вопрос_have_to_настоящее1( присутствие &П ) =
	      _Not мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%настоящее,Род )
	      частица[ли]( П ) гр_сущ( &Число, &Лицо, %И, &Род ) @0[иметь] ;
   table_lizo( Лицо )
   table_chislo( Число )
}
@Перевод
{  @Структура ядро_have_вопрос_have_to_будущее =
	      _will _Not гр_сущ( &Число, &Лицо ) @0[have] _Got @0[to]
	      @0[have] ;
   @Структура ядро_have_вопрос_have_to_будущее( присутствие &П ) =
	      _Not глагол[быть]( %Сов,%глагол,Лицо,Число,%будущее,@0,%Актив,@0 )
	      частица[ли]( П ) гр_сущ( &Число, &Лицо, %И, &Род )
	      мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%настоящее,Род )
	      @0[иметь] ;
   table_lizo( Лицо )
   table_chislo( Число )
}

@Перевод
{
   @Выбор     ядро_have_вопрос_модальное =    
	      ядро_have_вопрос_be_to_inf	      
	      ядро_have_вопрос_be_going_to_inf
	      ядро_have_вопрос_have_заставить
	      ядро_have_вопрос_мочь
	      ядро_have_вопрос_должен
	      ядро_have_вопрос_можно
	      ядро_have_вопрос_нужно
	      ядро_have_вопрос_следует
	      ядро_have_вопрос_have_to_прошлое
	      ядро_have_вопрос_have_to_настоящее
	      ядро_have_вопрос_have_to_настоящее1
	      ядро_have_вопрос_have_to_будущее
	      ядро_have_вопрос_have_заставить
	      ;
   @Выбор     ядро_have_вопрос_модальное( присутствие &П ) = 
	      ядро_have_вопрос_be_to_inf         ( П )
	      ядро_have_вопрос_be_going_to_inf   ( П )
	      ядро_have_вопрос_have_заставить    ( П )
	      ядро_have_вопрос_мочь              ( П )
	      ядро_have_вопрос_должен            ( П )
	      ядро_have_вопрос_можно             ( П )
	      ядро_have_вопрос_нужно             ( П )
	      ядро_have_вопрос_следует           ( П )
	      ядро_have_вопрос_have_to_прошлое   ( П )
	      ядро_have_вопрос_have_to_настоящее ( П )
      	      ядро_have_вопрос_have_to_настоящее1( П )
	      ядро_have_вопрос_have_to_будущее   ( П )
	      ядро_have_вопрос_have_заставить    ( П )
	      ;
}
// ---------- ядро wheter модальное ---------------------------
@Перевод
{  @Структура ядро_have_wheter_мочь =
	      гр_сущ( &Число, &Лицо ) мод_глагол[can]( &Форма ) _Not @0[have] ;
   @Структура ядро_have_wheter_мочь =
              _Not мод_глагол[мочь]( %Несов,%глагол,Лицо,Число,&Время,Род ) @0[ли]
	      гр_сущ( &Число, &Лицо, %И, &Род ) @0[иметь] ;
   table_modal
}
@Перевод
{  @Структура ядро_have_wheter_мочь_будущее =
	      гр_сущ( &Число, &Лицо ) @0[will] _Not @0[be] @0[able] @0[to] @0[have] ;
   @Структура ядро_have_wheter_мочь_будущее =
	      _Not мод_глагол[мочь]( Cов,%глагол,Лицо,Число,%будущее,@0 ) @0[ли]
	      гр_сущ( &Число, &Лицо, %И, &Род ) @0[иметь] ;
   table_lizo( Лицо )
   table_chislo( Число )
}
@Перевод
{  @Структура ядро_have_wheter_должен =
	      гр_сущ( &Число, &Лицо ) мод_глагол[must]( &Форма ) _Not @0[have] ;
   @Структура ядро_have_wheter_должен =
	      _Not мод_глагол[должен]( %Несов,%глагол,Лицо,Число,&Время,@0 ) @0[ли]
	      гр_сущ( &Число, &Лицо, %И, &Род ) @0[иметь] ;
   table_modal
}
@Перевод
{  @Структура ядро_have_wheter_можно =
	      гр_сущ( &Число, &Лицо ) мод_глагол[may]( &Форма ) @0[have] ;
   @Структура ядро_have_wheter_можно =
	      мод_глагол[можно]( %Несов,%глагол,Лицо,Число,&Время,Род ) @0[ли]
	      гр_сущ( &Число, &Лицо, %Д, &Род ) @0[иметь] ;
   table_modal
}
@Перевод
{  @Структура ядро_have_wheter_можно_отр =
	      гр_сущ( &Число, &Лицо ) мод_глагол[may]( &Форма ) @0[not] @0[have] ;
   @Структура ядро_have_wheter_можно_отр =
	      мод_глагол[нельзя]( %Несов,%глагол,Лицо,Число,&Время,@0 ) @0[ли]
	      гр_сущ( &Число, &Лицо, %Д, &Род ) @0[иметь] ;
   table_modal
}
@Перевод
{  @Структура ядро_have_wheter_нужно =
	      гр_сущ( &Число, &Лицо ) мод_глагол[need]( &Форма ) _Not @0[have] ;
   @Структура ядро_have_wheter_нужно =
	       _Not мод_глагол[нужно]( %Несов,%глагол,Лицо,Число,&Время,@0 ) @0[ли]
	      гр_сущ( &Число, &Лицо, %Д, &Род ) @0[иметь] ;
   table_modal
}
@Перевод
{  @Структура ядро_have_wheter_следует =
	      гр_сущ( &Число, &Лицо ) мод_глагол[ought]( &Форма ) _Not @0[to] @0[have] ;
   @Структура ядро_have_wheter_следует =
	      _Not мод_глагол[следует]( %Несов,%глагол,Лицо,Число,&Время,@0 ) @0[ли]
	      гр_сущ( &Число, &Лицо, %Д, &Род ) @0[иметь] ;
   table_modal
}
@Перевод
{  @Структура ядро_have_wheter_have_to_прошлое =
	      гр_сущ( &Число, &Лицо ) @0[had] _Not _Got @0[to] @0[have] ;
   @Структура ядро_have_wheter_have_to_прошлое =
	      _Not мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%прошлое,@0 ) @0[ли]
	      гр_сущ( &Число, &Лицо, %И, &Род ) @0[иметь] ;
   table_lizo( Лицо )
   table_chislo( Число )
}
@Перевод
{  @Структура ядро_have_wheter_have_to_настоящее =
	      гр_сущ( &Число, &Лицо ) _have _Not _Got @0[to] @0[have] ;
   @Структура ядро_have_wheter_have_to_настоящее =
              _Not мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%настоящее,@0 ) @0[ли]
	      гр_сущ( &Число, &Лицо, %И, &Род ) @0[иметь] ;
   table_lizo( Лицо )
   table_chislo( Число )
}
@Перевод
{  @Структура ядро_have_wheter_have_to_отр_настоящее =
	      гр_сущ( &Число, &Лицо ) _do @0[not] _have _Got @0[to] @0[have] ;
   @Структура ядро_have_wheter_have_to_отр_настоящее =
              @0[не] мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%настоящее,@0 ) @0[ли]
	      гр_сущ( &Число, &Лицо, %И, &Род ) @0[иметь] ;
   table_lizo( Лицо )
   table_chislo( Число )
}
@Перевод
{  @Структура ядро_have_wheter_have_to_будущее =
	      гр_сущ( &Число, &Лицо ) _will @0[have] _Not _Got @0[to] @0[have] ;
   @Структура ядро_have_wheter_have_to_будущее =
	      _Not глагол[быть]( %Сов,%глагол,Лицо,Число,%будущее,@0,%Актив,@0 ) @0[ли]
	      гр_сущ( &Число, &Лицо, %И, &Род )
	      мод_глагол[должен]( %Несов,%глагол,Лицо,Число,%настоящее,Род )
	      @0[иметь] ;
   table_lizo( Лицо )
   table_chislo( Число )
}
/*
@Перевод
{
   @Выбор     ядро_have_wheter_модальное = 
	      ядро_have_wheter_мочь
	      ядро_have_wheter_мочь_будущее
	      ядро_have_wheter_должен
	      ядро_have_wheter_можно
	      ядро_have_wheter_нужно
	      ядро_have_wheter_следует
	      ядро_have_wheter_have_to_прошлое
	      ядро_have_wheter_have_to_настоящее
	      ядро_have_wheter_have_to_отр_настоящее
	      ядро_have_wheter_have_to_будущее
	      ;
   @Выбор     ядро_have_wheter_модальное = 
	      ядро_have_wheter_мочь
	      ядро_have_wheter_мочь_будущее
	      ядро_have_wheter_должен
	      ядро_have_wheter_можно
	      ядро_have_wheter_нужно
	      ядро_have_wheter_следует
	      ядро_have_wheter_have_to_прошлое
	      ядро_have_wheter_have_to_настоящее
      	      ядро_have_wheter_have_to_отр_настоящее
	      ядро_have_wheter_have_to_будущее
	      ;
}
*/
