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