// **************************************************************************
//
// Описание группы существительного
// (правильное, но неупорядоченное)
// **************************************************************************
// ---------- перечислимые типы --------------------------------------------
@Перевод
{
@Структура заголовок11 = @0@0;
@Структура заголовок11 = @0;
}
@Перевод
{
// ------- то, что может стоять перед артиклем --------------------------
// ------- приделать параметры к русской части
@Выбор _заголовок1 = @0@0@0@0@0заголовок11 @00;
@Выбор _заголовок1( род &Род, число &Число, падеж &Падеж ) =
@0@0@0@0@0заголовок11 @00;
}
@Перевод
{
// ------- добавить this that и пр
@Выбор _артикль = @0@0@0@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_фраза = @0фраза_обстоятельство ;
@Структура 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
гр_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
гр_числительного( &Род, Падеж, &Число )
гр_числительного_а( Падеж, &Число )
;
}
@Перевод
{
// ------- подлежащее модальных фраз --------
@Выбор2 гр_сущ_м1( число Число, лицо Лицо ) =
гр_местоимения( &Род, &Лицо, &Число )
Вопрос_к_подлежащему
гр_существительного( &Число )
фраза_тот_что
фраза_whether
фраза_that
гр_числительного
гр_числительного_а
;
@Выбор2 гр_сущ_м1( число Число, лицо &Лицо, падеж &Падеж, род Род ) =
гр_местоимения( &Род, Лицо, &Число, Падеж )
Вопрос_к_подлежащему( Падеж )
гр_существительного( &Род, Падеж, &Число )
фраза_тот_что( Падеж )
фраза_whether
фраза_that
гр_числительного( &Род, Падеж, &Число )
гр_числительного_а( Падеж, &Число )
;
}
@Перевод
{
// ------- это для всего остального ----------
@Выбор2 гр_сущ_а1 =
гр_местоимения_а( &Род, &Лицо, &Число )
фраза_тот_что
гр_существительного( &Число )
фраза_тот_что
фраза_whether
фраза_that
гр_числительного
гр_числительного_а
;
@Выбор2 гр_сущ_а1( число Число, лицо Лицо, падеж &Падеж, род Род ) =
гр_местоимения_а( &Род, Лицо, &Число, Падеж )
фраза_тот_что( Падеж )
гр_существительного( &Род, Падеж, &Число )
фраза_тот_что( Падеж )
фраза_whether
фраза_that
гр_числительного( &Род, Падеж, &Число )
гр_числительного_а( Падеж, &Число )
;
// с параметрами надо мудрить
// что-то тут с числом интересное
}
// ---------- все эти группы используются в других конструкциях -----------
@Перевод
{
// ------- подлежащее ---------
@Структура гр_сущ( число Ч, лицо Л ) = гр_сущ1( &Ч, &Л ) _и__гр_сущ ;
@Структура гр_сущ( число Ч, лицо Л, падеж &Падеж, род Р ) =
гр_сущ1( &Ч, &Л, Падеж, &Р ) _и__гр_сущ( Падеж ) ;
}
@Перевод
{
// ------- подлежащее модальных фраз ---------
@Структура гр_сущ_м( число Ч, лицо Л ) =
гр_сущ_м1( &Ч, &Л ) _и__гр_сущ ;
@Структура гр_сущ_м( число Ч, лицо Л, падеж &Падеж, род Р ) =
гр_сущ_м1( &Ч, &Л, Падеж, &Р ) _и__гр_сущ( Падеж ) ;
}
@Перевод
{
// ------- это для дополнения
@Структура гр_сущ_а = гр_сущ_а1 _и__гр_сущ ;
@Структура гр_сущ_а( падеж &Падеж ) =
гр_сущ_а1( &Ч, Л, Падеж, &Р ) _и__гр_сущ( Падеж ) ;
}
@Перевод
{
// ------- это для подлежащего придаточных фраз
@Структура гр_сущ_б = гр_сущ_а1 _и__гр_сущ ;
@Структура гр_сущ_б( число Ч, лицо &Л, падеж &Падеж, род Р ) =
гр_сущ_а1( &Ч, Л, Падеж, &Р ) _и__гр_сущ( Падеж ) ;
}
@Перевод
{
// ------- это для хвоста_is
@Структура гр_сущ_в = гр_сущ_а1 _и__гр_сущ ;
@Структура гр_сущ_в( число Ч, падеж &Падеж, род Р ) =
гр_сущ_а1( &Ч, Л, Падеж, &Р ) _и__гр_сущ( Падеж ) ;
}