// ************************************************************************** // // Описание группы существительного // (правильное, но неупорядоченное) // ************************************************************************** // ---------- перечислимые типы -------------------------------------------- @Перевод { @Структура заголовок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( &Ч, Л, Падеж, &Р ) _и__гр_сущ( Падеж ) ; }