// **************************************************************************
// все, что имеет отношение к ядру
//
// **************************************************************************
// **************************************************************************
// фраза с обычным глаголом
// **************************************************************************
@Перевод
{
@Структура ядро_повест( см_глагола S1 ) =
гр_сущ( &Число, &Лицо ) сказуемое( &S1 ) ;
@Структура ядро_повест =
гр_сущ( &Число, &Лицо, %И, &Род )
сказуемое( Лицо, Число, Род )
;
@Таблица( лицо Лицо = лицо Лицо )
{ 1е = 1е ;
2е = 2е ;
3е = 3е ;
}
@Таблица( число Число = число Число )
{ Ед = Ед ;
Мн = Мн ;
}
}
@Перевод
{
@Выбор ядро_вопрос1a( см_глагола S1 ) =
ядро_вопрос_модальное( &S1 ) ядро_вопрос( &S1 ) ;
@Выбор ядро_вопрос1a = ядро_вопрос_модальное( %Нет ) ядро_вопрос( %Нет ) ;
}
@Перевод
{
@Структура ядро_вопрос1( см_глагола S1 ) =
Вопрос_к_подлежащему сказуемое( &S1 ) ;
@Структура ядро_вопрос1 =
Вопрос_к_подлежащему( %И ) сказуемое( %3е, %Ед, %М ) ;
}
@Перевод
{
@Структура ядро_вопрос2( см_глагола S1 ) =
Вопрос_к_обстоятельству ядро_вопрос1a( &S1 ) ;
@Структура ядро_вопрос2 = Вопрос_к_обстоятельству ядро_вопрос1a ;
}
// ---------------- ядро --------------------------------------------------
@Перевод
{
@Выбор ядро( см_глагола S1 ) =
ядро_модальное( &S1 )
ядро_повест( &S1 )
ядро_вопрос_модальное( &S1 )
ядро_вопрос( &S1 )
ядро_вопрос1( &S1 )
ядро_вопрос2( &S1 )
ядро_повелит( &S1 )
;
@Выбор ядро =
ядро_модальное
ядро_повест
ядро_вопрос_модальное( %Нет )
ядро_вопрос( %Нет )
ядро_вопрос1
ядро_вопрос2
ядро_повелит
;
}
@Перевод
{
@Выбор ядро_прид( см_глагола S1 ) =
ядро_повест( &S1 ) ядро_модальное( &S1 ) ;
@Выбор ядро_прид = ядро_повест ядро_модальное ;
}
// ----------- фраза обычная ------------------------------
@Перевод
{
@Структура фраза_а = ядро( &S1 ) хвост_а ;
@Структура фраза_а = ядро хвост_а ;
}
@Перевод
{
@Структура фраза_б = ядро( %восприятия ) все_все ;
@Структура фраза_б = ядро все_все ;
}
@Перевод
{
@Структура фраза_вопрос3 =
Вопрос_к_подлежащему ядро_вопрос1a( &S1 ) хвост_а Предлог ;
@Структура фраза_вопрос3 =
Предлог( &Падеж )
Вопрос_к_подлежащему( Падеж )
ядро_вопрос1a
хвост_а
;
}
@Перевод
{
@Выбор фраза_0 = фраза_пп фраза_have_пп фраза_а фраза_б фраза_вопрос3 ;
@Выбор фраза_0 = фраза_пп фраза_have_пп фраза_а фраза_б фраза_вопрос3 ;
}
@Перевод
{
@Структура фраза = _пред_обстоятельство фраза_0 _обстоятельство ;
@Структура фраза = _пред_обстоятельство фраза_0 _обстоятельство ;
}
// ---------- фраза придаточная ----------------------------
@Перевод
{
@Структура фраза_а_прид = ядро_прид( &S1 ) хвост ;
@Структура фраза_а_прид = ядро_прид хвост ;
}
@Перевод
{
@Структура фраза_б_прид = ядро_прид( %восприятия ) все_все ;
@Структура фраза_б_прид = ядро_прид все_все ;
}
@Перевод
{
@Выбор фраза_прид1 =
фраза_прид_пп фраза_have_прид_пп фраза_а_прид фраза_б_прид ;
@Выбор фраза_прид1 =
фраза_прид_пп фраза_have_прид_пп фраза_а_прид фраза_б_прид ;
}
// **************************************************************************
// фраза с глаголом have
// **************************************************************************
@Перевод
{
@Выбор ядро_have =
ядро_have_модальное
ядро_have_вопрос_модальное
ядро_повест_have
ядро_вопрос_have
ядро_вопрос_have1
;
@Выбор ядро_have( число &Число, род &Род, падеж Падеж ) =
ядро_have_модальное( Число, Род, &Падеж )
ядро_have_вопрос_модальное( %Нет )
ядро_повест_have( Число, Род, &Падеж )
ядро_вопрос_have
ядро_вопрос_have1( Число, Род, &Падеж )
;
}
@Перевод
{
@Выбор ядро_have_прид = ядро_повест_have ;
@Выбор ядро_have_прид( число &Число, род &Род, падеж Падеж ) =
ядро_повест_have( Число, Род, &Падеж ) ;
}
@Перевод
{
@Структура фраза_have1 = _пред_обстоятельство ядро_have хвост_have ;
@Структура фраза_have1 =
_пред_обстоятельство
ядро_have( Число, Род, &Падеж )
хвост_have( &Число, Падеж, &Род )
;
}
@Перевод
{
@Выбор фраза_have = фраза_have1 фраза_вопрос_have2 ;
@Выбор фраза_have = фраза_have1 фраза_вопрос_have2 ;
}
@Перевод
{
@Структура фраза_have_прид = ядро_have_прид хвост_have ;
@Структура фраза_have_прид =
ядро_have_прид( Число, Род, &Падеж )
хвост_have( &Число, Падеж, &Род )
;
}
// **************************************************************************
// фраза с глаголом be
// **************************************************************************
@Перевод
{
@Структура ядро_be_прид = гр_сущ( &Число, &Лицо ) сказуемое_be0 ;
@Структура ядро_be_прид( число Число, род Род ) =
гр_сущ( &Число, &Лицо, %И, &Род )
сказуемое_be0( Лицо, Число, Род )
;
@Таблица( лицо Лицо = лицо Лицо )
{ 1е = 1е ;
2е = 2е ;
3е = 3е ;
}
@Таблица( число Число = число Число )
{ Ед = Ед ;
Мн = Мн ;
}
}
@Перевод
{
@Структура ядро_вопрос_be1 = Вопрос_к_подлежащему сказуемое_be0 ;
@Структура ядро_вопрос_be1 =
Вопрос_к_подлежащему( %И ) сказуемое_be0( %3е, %Ед, %М ) ;
}
@Перевод
{
@Структура ядро_вопрос_be2 = Вопрос_к_обстоятельству ядро_вопрос_be ;
@Структура ядро_вопрос_be2 = Вопрос_к_обстоятельству ядро_вопрос_be( %Нет ) ;
}
// ---------------- ядро be ----------------------------------------------
@Перевод
{
@Выбор ядро_be =
ядро_be_модальное
ядро_be_прид
ядро_вопрос_be_модальное
ядро_вопрос_be
ядро_вопрос_be1
ядро_вопрос_be2
ядро_повелит_be
;
@Выбор ядро_be( число Число, род Род ) =
ядро_be_модальное
ядро_be_прид( &Число, &Род )
ядро_вопрос_be_модальное( %Да )
ядро_вопрос_be( %Да )
ядро_вопрос_be1
ядро_вопрос_be2
ядро_повелит_be
;
}
@Перевод
{
@Структура1 фраза_be_пп = ядро_be хвост_be_a ;
@Структура1 фраза_be_пп =
ядро_be( &Число, &Род ) хвост_be_a( Число, Род, %Н, %И ) ;
@Таблица( @Выбор = число Число )
{ @0 = Ед ; }
@Таблица( @Выбор = род Род )
{ @0 = М ; }
}
@Перевод
{
@Структура1 фраза_be_прид_пп = ядро_be_прид хвост_be_a ;
@Структура1 фраза_be_прид_пп =
ядро_be_прид( &Число, &Род ) хвост_be_a( Число, Род, %Н, %И ) ;
@Таблица( @Выбор = число Число )
{ @0 = Ед ; }
@Таблица( @Выбор = род Род )
{ @0 = М ; }
}
@Перевод
{
@Структура1 фраза_be_whether_пп = ядро_be_whether хвост_be_a ;
@Структура1 фраза_be_whether_пп =
ядро_be_whether( &Число, &Род )
хвост_be_a( Число, Род, %Н, %И )
;
@Таблица( @Выбор = число Число )
{ @0 = Ед ; }
@Таблица( @Выбор = род Род )
{ @0 = М ; }
}
// ------ фраза be+constant ------------------------------------
@Перевод
{
@Структура2 фраза_be1_пп;
@Структура2 фраза_be1_пп;
}
@Перевод
{
@Структура2 фраза_be1_прид_пп;
@Структура2 фраза_be1_прид_пп;
}
@Перевод
{
@Структура2 фраза_be1_whether_пп;
@Структура2 фраза_be1_whether_пп;
}
// --------------------------------------------------------------
@Перевод
{
@Выбор фраза_be_а = фраза_be_пп фраза_be1_пп ;
@Выбор фраза_be_а = фраза_be_пп фраза_be1_пп ;
}
@Перевод
{
@Структура фраза_be = _пред_обстоятельство фраза_be_а _обстоятельство ;
@Структура фраза_be = _пред_обстоятельство фраза_be_а _обстоятельство ;
}
@Перевод
{
@Структура фраза_be_предлог =
гр_сущ( &Число, &Лицо )
сказуемое_be0
гр_квази_наречия
_хвост_квази_наречия
_обстоятельство
Предлог
;
@Структура фраза_be_предлог =
Предлог( &П )
гр_сущ( &Число, &Лицо, П, &Род )
сказуемое_be0( Лицо, Число, Род )
гр_квази_наречия
_хвост_квази_наречия
_обстоятельство
;
}
// **************************************************************************
// фраза с there_is
// **************************************************************************
@Перевод
{
@Структура ядро_вопрос_there2 = Вопрос_к_обстоятельству ядро_вопрос_there ;
@Структура ядро_вопрос_there2( число &Число, род &Род ) =
Вопрос_к_обстоятельству ядро_вопрос_there( Число, Род, %Нет ) ;
}
@Перевод
{
@Выбор ядро_there = ядро_повест_there ядро_вопрос_there ядро_вопрос_there2 ;
@Выбор ядро_there( число &Число, род &Род, падеж Падеж ) =
ядро_повест_there( Число, Род, &Падеж, %Нет )
ядро_вопрос_there( Число, Род, %Нет )
ядро_вопрос_there2( Число, Род )
;
}
@Перевод
{
@Структура фраза_there =
_пред_обстоятельство ядро_there хвост_there_a _обстоятельство ;
@Структура фраза_there =
_пред_обстоятельство
ядро_there( Число, Род, &Падеж )
хвост_there_a( &Число, Падеж, &Род )
_обстоятельство
;
// ------- грубое хакерство -----------
@Таблица( @Выбор = падеж Падеж )
{ @0 = И ;
}
}
@Перевод
{
@Структура фраза_there_прид = ядро_повест_there хвост_there_a _обстоятельство ;
@Структура фраза_there_прид =
ядро_повест_there( Число, Род, &Падеж, %Нет )
хвост_there_a( &Число, Падеж, &Род )
_обстоятельство
;
// ------- грубое хакерство -----------
@Таблица( @Выбор = падеж Падеж )
{ @0 = И ;
}
}
// **************************************************************************
// фраза It is квазинаречие + that_фраза
// **************************************************************************
@Перевод
{
@Структура фраза_квазинаречие =
@0[it]
сказуемое_be
_No
гр_квази_наречия
_хвост_квази_наречия
_обстоятельство
;
@Структура фраза_квазинаречие =
сказуемое_be( %3е, %Ед, %С )
_No
гр_квази_наречия
_хвост_квази_наречия
_обстоятельство
;
}
// -------------------------------------------------------------------------
@Перевод
{
// на самом деле придаточная
@Выбор фраза_повест =
фраза_прид1
фраза_have_прид
фраза_there_прид
фраза_прид_пп
фраза_be_прид_пп
фраза_be1_прид_пп
фраза_have_прид_пп
;
@Выбор фраза_повест =
фраза_прид1
фраза_have_прид
фраза_there_прид
фраза_прид_пп
фраза_be_прид_пп
фраза_be1_прид_пп
фраза_have_прид_пп
;
}
@Перевод
{
@Структура понять_значит_упростить =
_пред_обстоятельство to_inf( &S1 ) @0[is] to_inf( &S2 ) ;
@Структура понять_значит_упростить =
_пред_обстоятельство
to_inf( %Ед, %М )
@0[значит]
to_inf( %Ед, %М )
;
}
@Перевод
{
@Структура понять_значит_упростить2 =
_пред_обстоятельство
глагол( &S1, %Ing )
@0[is]
глагол( &S2, %Ing )
;
@Структура понять_значит_упростить2 =
_пред_обстоятельство
глагол( %Сов, %Inf, @0, @0, @0, @0, %Актив, @0 )
@0[значит]
глагол( %Сов, %Inf, @0, @0, @0, @0, %Актив, @0 )
;
}