// **************************************************************************
// Описание группы существительного
//
// **************************************************************************
// ---------- перечислимые типы --------------------------------------------
@Перевод
{
@Структура заголовок11 = @0[not] @0[all] ;
@Структура заголовок11 = @0[не_все] ;
}
@Перевод
{
// ------- то, что может стоять перед артиклем --------------------------
// ------- приделать параметры к русской части
@Выбор _заголовок1 =
@0[all] @0[both] @0[such] @0[no] @0[which] заголовок11 @00;
@Выбор _заголовок1( род &Род, число &Число, падеж &Падеж ) =
@0[все]
@0[оба]
@0[такой]
@0[никакой]
@0[который]
заголовок11
@00
;
}
@Перевод
{
@Выбор _артикль = @0[a] @0[an] @0[the] @00;
@Выбор _артикль( род &Род, число &Число, падеж &Падеж ) =
@00 @00 @00 @00;
}
// ---------- заголовки ----------------------------------------------------
@Перевод
{
@Структура заголовок = _заголовок1 _артикль ;
@Структура заголовок( род &Род, число &Число, падеж &Падеж ) =
_заголовок1( Род, Число, Падеж ) _артикль( Род, Число, Падеж ) ;
}
// ----------- определитель прилагательный ---------------------
@Перевод
{
@Выбор опр_прилагательный2 =
гр_прил_п
прил( &Смысл )
квази_прил( &Смысл )
мест_прил
гр_прил_п0
числ_порядковое
;
@Выбор опр_прилагательный2( род &Род, душа &Душа, падеж &Падеж, число &Число ) =
гр_прил_п( Род, Душа, Падеж, Число )
прил( Род, Душа, Падеж, Число )
квази_прил( Род, Душа, Падеж, Число )
мест_прил( Род, Падеж, Число )
гр_прил_п0( Род, Душа, Падеж, Число )
числ_порядковое( Падеж )
;
// сделано хреново (не учитывает составной случай)
}
@Перевод
{
@Структура опр_прилагательный1 =
_Наречие_степени
опр_прилагательный2
_and_or
_опр_прилагательный
;
@Структура опр_прилагательный1( род &Род, душа &Душа, падеж &Падеж, число &Число ) =
_Наречие_степени
опр_прилагательный2( Род, Душа, Падеж, Число )
_and_or
_опр_прилагательный( Род, Душа, Падеж, Число )
;
}
@Перевод
{
@Выбор _опр_прилагательный = опр_прилагательный1 @00;
@Выбор _опр_прилагательный( род &Род, душа &Душа, падеж &Падеж, число &Число ) =
опр_прилагательный1( Род, Душа, Падеж, Число ) @00;
}
// ------------------- определитель правый ---------------------
@Перевод
{
@Структура опр_правый1 = прил11( &Смысл ) _And _опр_правый ;
@Структура опр_правый1 = прил11 _And _опр_правый ;
}
@Перевод
{
@Выбор _опр_правый = опр_правый1 @00;
@Выбор _опр_правый = опр_правый1 @00;
}
// ---------- хвосты существительного ---------------------------
@Перевод
{
@Выбор и__гр_сущ1 =
мест_сущ1( &Род, &Лицо, &Число )
мест_сущ2
мест_сущ3( &Род, &Лицо, &Число )
гр_существительного( &Число )
фраза_тот_что
фраза_whether
фраза_that
гр_числительного
гр_числительного_а
;
@Выбор и__гр_сущ1( падеж &Падеж ) =
мест_сущ1( &Род, Лицо, &Число, Падеж )
мест_сущ2( Падеж )
мест_сущ3( &Род, Лицо, &Число, Падеж )
гр_существительного( &Род, Падеж, &Число )
фраза_тот_что( Падеж )
фраза_whether
фраза_that
гр_числительного( &Род, Падеж, &Число )
гр_числительного_а( Падеж, &Число )
;
}
@Перевод
{
@Структура и__гр_сущ2 = and_or и__гр_сущ1 ;
@Структура и__гр_сущ2( падеж &Падеж ) = and_or и__гр_сущ1( Падеж ) ;
}
@Перевод
{
@Выбор _и__гр_сущ = @00и__гр_сущ2 ;
@Выбор _и__гр_сущ( падеж &Падеж ) = @00 и__гр_сущ2( Падеж ) ;
}
@Перевод
{
@Структура гр_сущ_рп = @0[of] гр_существительного( &Число ) ;
@Структура гр_сущ_рп = гр_существительного( &Род, %Р, %Ед ) ;
}
@Перевод
{
@Структура of_фраза = @0[of] фраза_обстоятельство ;
@Структура of_фраза = фраза_обстоятельство ;
}
@Перевод
{
@Структура предлог_сущ = _Not Предлог гр_сущ_а ;
@Структура предлог_сущ = _Not Предлог( &Падеж ) гр_сущ_а( Падеж ) ;
}
@Перевод
{
// было _Not гр_глагола( &S1, Form3 ) ;
@Структура причастие = _Not гр_глагола_а( &S1, Form3 ) ;
@Структура причастие( род &Род, падеж &Падеж, число &Число ) =
_Not
гр_глагола_а( %Сов, %причастие, Число, %прошлое, Род, %Пассив, Падеж )
;
}
@Перевод
{
@Выбор _хвост_сущ =
гр_сущ_рп
причастие
чтобы_to_inf_akt( &S1 )
to_inf_akt( &S1 )
гр_inf_причастие( &S1 )
гр_ing1( &S1 )
for_фраза
предлог_сущ
союз_глагол( &S1 )
фраза_that
фраза_дополнение
фраза_дополнение_сущ
of_фраза
@00
;
@Выбор _хвост_сущ( род &Род, падеж &Падеж, число &Число ) =
гр_сущ_рп
причастие( Род, Падеж, Число )
чтобы_to_inf_akt
to_inf_akt
гр_inf_причастие( Род, Падеж, Число )
гр_ing1( Род, Падеж, Число )
for_фраза
предлог_сущ
союз_глагол
фраза_that
фраза_дополнение( Падеж )
фраза_дополнение_сущ( Род, Падеж, Число )
of_фраза
@00
;
}
@Перевод
{
@Выбор _хвост_местоимения =
гр_сущ_рп
@0[all]
гр_ing1( &S1 )
предлог_сущ
фраза_that
фраза_дополнение
фраза_дополнение_сущ
@00
;
@Выбор _хвост_местоимения( род &Род, падеж &Падеж, число &Число ) =
гр_сущ_рп
@0[все]
гр_ing1( Род, Падеж, Число )
предлог_сущ
фраза_that
фраза_дополнение( Падеж )
фраза_дополнение_сущ( Род, Падеж, Число )
@00
;
}
@Перевод
{
@Выбор сущ1( число Число ) =
гр_сущ_п( &Число ) сущ( &Число ) гр_сущ_п01( &Число ) ;
@Выбор сущ1( род Род, душа Душа, падеж &Падеж, число &Число ) =
гр_сущ_п( &Род, &Душа, Падеж, Число )
сущ( &Род, &Душа, Падеж, Число )
гр_сущ_п01( &Род, &Душа, Падеж, Число )
;
}
// ---------- существительное со всеми его определениями --------
@Перевод
{
@Структура гр_существительного( число Число ) =
_Наречие_степени
заголовок
_опр_правый
_опр_прилагательный
_опр_правый
сущ1( &Число )
_хвост_сущ
;
@Структура гр_существительного( род Род, падеж &Падеж, число Число ) =
_Наречие_степени
заголовок( Род, Число, Падеж )
_опр_прилагательный( Род, Душа, Падеж, Число )
сущ1( &Род, &Душа, Падеж, &Число )
_опр_правый
_опр_правый
_хвост_сущ( Род, Падеж, Число )
;
@Таблица( число Число = число Число )
{ Ед = Ед ;
Мн = Мн ;
}
}
// ---------------------------------------------------------------
@Перевод
{
@Выбор гр_мест( род Род, лицо Лицо, число Число ) =
мест_сущ1( &Род, &Лицо, &Число )
мест_сущ3( &Род, &Лицо, &Число )
;
@Выбор гр_мест( род Род, лицо &Лицо, число Число, падеж &Падеж ) =
мест_сущ1( &Род, Лицо, &Число, Падеж )
мест_сущ3( &Род, Лицо, &Число, Падеж )
;
}
@Перевод
{
@Выбор гр_мест_a( род Род, лицо Лицо, число Число ) =
мест_сущ2 мест_сущ3( &Род, &Лицо, &Число ) ;
@Выбор гр_мест_a( род Род, лицо &Лицо, число &Число, падеж &Падеж ) =
мест_сущ2( Падеж ) мест_сущ3( &Род, Лицо, Число, Падеж ) ;
}
@Перевод
{
@Структура гр_местоимения( род Род, лицо Лицо, число Число ) =
гр_мест( &Род, &Лицо, &Число ) _хвост_местоимения ;
@Структура гр_местоимения( род Род, лицо &Лицо, число Число, падеж &Падеж ) =
гр_мест( &Род, Лицо, &Число, Падеж )
_хвост_местоимения( Род, Падеж, Число )
;
}
@Перевод
{
// очень хочется стереть Лицо и Число, тем не менее этог не надо делать
@Структура гр_местоимения_а( род Род, лицо Лицо, число Число ) =
гр_мест_a( &Род, &Лицо, &Число ) _хвост_местоимения ;
@Структура гр_местоимения_а( род Род, лицо &Лицо, число Число, падеж &Падеж ) =
гр_мест_a( &Род, Лицо, &Число, Падеж )
_хвост_местоимения( Род, Падеж, Число )
;
}
// ---------------- группа существительного ----------------------
@Перевод
{
// ------- подлежащее --------------
@Выбор2 гр_сущ1( число Число, лицо Лицо ) =
гр_местоимения( &Род, &Лицо, &Число )
гр_существительного( &Число )
фраза_тот_что
фраза_whether
фраза_that
гр_числительного
гр_числительного_а
;
@Выбор2 гр_сущ1( число Число, лицо &Лицо, падеж &Падеж, род Род ) =
гр_местоимения( &Род, Лицо, &Число, Падеж )
гр_существительного( &Род, Падеж, &Число )
фраза_тот_что( Падеж )
фраза_whether
фраза_that
гр_числительного( &Род, Падеж, &Число )
гр_числительного_а( Падеж, &Число )
;
@Таблица( @Выбор, лицо Лицо = лицо Лицо )
{
1 1е = 1е ;
1 2е = 2е ;
1 3е = 3е ;
2 @0 = 3е ;
3 @0 = 3е ;
4 @0 = 3е ;
5 @0 = 3е ;
6 @0 = 3е ;
7 @0 = 3е ;
8 @0 = 3е ;
9 @0 = 3е ;
}
}
@Перевод
{
// ------- подлежащее модальных фраз --------
@Выбор2 гр_сущ_м1( число Число, лицо Лицо ) =
гр_местоимения( &Род, &Лицо, &Число )
Вопрос_к_подлежащему
гр_существительного( &Число )
фраза_тот_что
фраза_whether
фраза_that
гр_числительного
гр_числительного_а
;
@Выбор2 гр_сущ_м1( число Число, лицо &Лицо, падеж &Падеж, род Род ) =
гр_местоимения( &Род, Лицо, &Число, Падеж )
Вопрос_к_подлежащему( Падеж )
гр_существительного( &Род, Падеж, &Число )
фраза_тот_что( Падеж )
фраза_whether
фраза_that
гр_числительного( &Род, Падеж, &Число )
гр_числительного_а( Падеж, &Число )
;
@Таблица( @Выбор, лицо Лицо = лицо Лицо )
{
1 1е = 1е ;
1 2е = 2е ;
1 3е = 3е ;
2 @0 = 3е ;
3 @0 = 3е ;
4 @0 = 3е ;
5 @0 = 3е ;
6 @0 = 3е ;
7 @0 = 3е ;
8 @0 = 3е ;
9 @0 = 3е ;
10 @0 = 3е ;
}
}
@Перевод
{
// ------- это для всего остального ----------
@Выбор2 гр_сущ_а1 =
гр_местоимения_а( &Род, &Лицо, &Число )
фраза_тот_что
гр_существительного( &Число )
фраза_тот_что
фраза_whether
фраза_that
гр_числительного
гр_числительного_а
;
@Выбор2 гр_сущ_а1( число Число, лицо Лицо, падеж &Падеж, род Род ) =
гр_местоимения_а( &Род, Лицо, &Число, Падеж )
фраза_тот_что( Падеж )
гр_существительного( &Род, Падеж, &Число )
фраза_тот_что( Падеж )
фраза_whether
фраза_that
гр_числительного( &Род, Падеж, &Число )
гр_числительного_а( Падеж, &Число )
;
}
// ---------- все эти группы используются в других конструкциях -----------
@Перевод
{
// ------- подлежащее ---------
@Структура гр_сущ( число Ч, лицо Л ) = гр_сущ1( &Ч, &Л ) _и__гр_сущ ;
@Структура гр_сущ( число Ч, лицо Л, падеж &Падеж, род Р ) =
гр_сущ1( &Ч, &Л, Падеж, &Р ) _и__гр_сущ( Падеж ) ;
}
@Перевод
{
// ------- подлежащее модальных фраз ---------
@Структура гр_сущ_м( число Ч, лицо Л ) =
гр_сущ_м1( &Ч, &Л ) _и__гр_сущ ;
@Структура гр_сущ_м( число Ч, лицо Л, падеж &Падеж, род Р ) =
гр_сущ_м1( &Ч, &Л, Падеж, &Р ) _и__гр_сущ( Падеж ) ;
}
@Перевод
{
// ------- это для дополнения
@Структура гр_сущ_а = гр_сущ_а1 _и__гр_сущ ;
@Структура гр_сущ_а( падеж &Падеж ) =
гр_сущ_а1( &Ч, Л, Падеж, &Р ) _и__гр_сущ( Падеж ) ;
}
@Перевод
{
// ------- это для подлежащего придаточных фраз
@Структура гр_сущ_б = гр_сущ_а1 _и__гр_сущ ;
@Структура гр_сущ_б( число Ч, лицо &Л, падеж &Падеж, род Р ) =
гр_сущ_а1( &Ч, Л, Падеж, &Р ) _и__гр_сущ( Падеж ) ;
}
@Перевод
{
// ------- это для хвоста_is
@Структура гр_сущ_в = гр_сущ_а1 _и__гр_сущ ;
@Структура гр_сущ_в( число Ч, падеж &Падеж, род Р ) =
гр_сущ_а1( &Ч, Л, Падеж, &Р ) _и__гр_сущ( Падеж ) ;
}