@Перевод { // ------- вопрос какой ------------------ @Структура Вопрос_к_подлежащему1( число Число, падеж Падеж ) = вопрос_к_прил_пп( &Число1, &Падеж1 ) _опр_правый _опр_прилагательный_И _опр_правый сущ2( &Число, &Падеж ) _хвост_сущ ; @Структура Вопрос_к_подлежащему1( падеж &Падеж, число &Число ) = вопрос_к_прил_пп( Род, Душа, %И, Число ) _опр_прилагательный_И( Род, Душа, Падеж, Число ) сущ2( &Род, &Душа, Падеж, &Число ) _опр_правый _опр_правый _хвост_сущ( Род, Падеж, Число ) ; } @Перевод { // -------- вопрос сколько --------------- @Структура Вопрос_к_подлежащему2 = @0[kiom] @0[da] _опр_правый _опр_прилагательный_И _опр_правый сущ2( &Число, %И ) _хвост_сущ ; @Структура Вопрос_к_подлежащему2( род Род, падеж &Падеж, число Число ) = @0[сколько] _опр_прилагательный_И( Род, Душа, %Р, %Мн ) сущ2( &Род, &Душа, %Р, %Мн ) _опр_правый _опр_правый _хвост_сущ( Род, Падеж2, Число2 ) ; } @Перевод { @Выбор Вопрос_к_подлежащему( падеж Падеж ) = вопрос_к_подлежащему_пп( &Число, &Падеж ) Вопрос_к_подлежащему1( &Число, &Падеж ) Вопрос_к_подлежащему2 ; @Выбор Вопрос_к_подлежащему( падеж &Падеж ) = вопрос_к_подлежащему_пп( Падеж ) Вопрос_к_подлежащему1( Падеж, Число ) Вопрос_к_подлежащему2( Род, Падеж, Число ) ; } @Перевод { @Выбор _повелительное_подлежащее = гр_сущ( &Число, &Лицо ) @00; @Выбор _повелительное_подлежащее( число &Число1 ) = гр_сущ( &Число, &Лицо, %И, &Род ) @00; @Таблица_приемника( @Выбор, число Число = число Число1 ) { 1 Ед = Ед ; 1 Мн = Мн ; 2 @0 = Ед ; } } // ---------- фразы с глаголом havi ----------------------- @Перевод { @Структура фраза_havi_повест = _обстоятельство сл_сущестительное_И сказуемое_havi гр_сущ_иметь( &Число, &Лицо ) _обстоятельство ; @Структура фраза_havi_повест = _обстоятельство @0[у] сл_сущестительное_И( %Р ) сказуемое_havi( Число, Род, &Падеж ) гр_сущ_иметь( &Число, &Лицо, Падеж, &Род ) _обстоятельство ; } @Перевод { @Структура фраза_havi_вопрос_общий = @0[cxu] сл_сущестительное_И сказуемое_havi гр_сущ_иметь( &Число, &Лицо ) _обстоятельство ; @Структура фраза_havi_вопрос_общий = сказуемое_havi( Число, Род, &Падеж ) @0[ли] @0[у] сл_сущестительное_И( %Р ) гр_сущ_иметь( &Число, &Лицо, Падеж, &Род ) _обстоятельство ; } @Перевод { @Структура фраза_havi_вопрос_подлежащему = Вопрос_к_подлежащему( %И ) сказуемое_havi гр_сущ_иметь( &Число, &Лицо ) _обстоятельство ; @Структура фраза_havi_вопрос_подлежащему = @0[у] Вопрос_к_подлежащему( %Р ) сказуемое_havi( Число, Род, &Падеж ) гр_сущ_иметь( &Число, &Лицо, Падеж, &Род ) _обстоятельство ; } @Перевод { @Структура фраза_havi_вопрос_дополнению = Вопрос_к_подлежащему( %В ) сказуемое_havi гр_сущ( &Число, &Лицо ) _обстоятельство ; @Структура фраза_havi_вопрос_дополнению = Вопрос_к_подлежащему( %И ) сказуемое_havi( Число, Род, &Падеж ) @0[у] гр_сущ( &Число, &Лицо, %Р, &Род ) _обстоятельство ; } @Перевод { @Структура фраза_havi_вопрос_дополнению1 = Вопрос_к_подлежащему( %В ) гр_сущ( &Число, &Лицо ) сказуемое_havi _обстоятельство ; @Структура фраза_havi_вопрос_дополнению1 = Вопрос_к_подлежащему( %И ) сказуемое_havi( Число, Род, &Падеж ) @0[у] гр_сущ( &Число, &Лицо, %Р, &Род ) _обстоятельство ; } @Перевод { @Структура фраза_havi_вопрос_обстоятельству = вопрос_к_обстоятельству_пп сл_сущестительное_И сказуемое_havi гр_сущ_иметь( &Число, &Лицо ) _обстоятельство ; @Структура фраза_havi_вопрос_обстоятельству = вопрос_к_обстоятельству_пп @0[у] сл_сущестительное_И( %Р ) сказуемое_havi( Число, Род, &Падеж ) гр_сущ_иметь( &Число, &Лицо, Падеж, &Род ) _обстоятельство ; } @Перевод { @Структура фраза_havi_повелит = _повелительное_подлежащее _Ne @0[havu] гр_сущ_И _обстоятельство ; @Структура фраза_havi_повелит = _повелительное_подлежащее( &Число ) _Ne глагол[иметь] ( %Несов, %глагол, @0, Число, @0, @0, %Повелит, @0 ) гр_сущ_И( %В ) _обстоятельство ; } @Перевод { @Выбор фраза_havi = фраза_havi_повест фраза_havi_вопрос_общий фраза_havi_вопрос_подлежащему фраза_havi_вопрос_дополнению фраза_havi_вопрос_дополнению1 фраза_havi_вопрос_обстоятельству фраза_havi_повелит ; @Выбор фраза_havi = фраза_havi_повест фраза_havi_вопрос_общий фраза_havi_вопрос_подлежащему фраза_havi_вопрос_дополнению фраза_havi_вопрос_дополнению1 фраза_havi_вопрос_обстоятельству фраза_havi_повелит ; } @Перевод { @Структура inf_havi = _Ne @0[havi] гр_сущ_В ; @Структура inf_havi = _Ne @0[иметь] гр_сущ_В( %В ) ; } // ---------- фразы с глаголом esti ----------------------- @Перевод { @Структура фраза_esti_для_глагола1 = _обстоятельство inf сказуемое_esti гр_наречия ; @Структура фраза_esti_для_глагола1 = _обстоятельство inf сказуемое_esti( %3е, %Ед, %С ) гр_наречия ; } @Перевод { @Структура фраза_esti_для_глагола3 = _обстоятельство гр_наречия сказуемое_esti inf ; @Структура фраза_esti_для_глагола3 = _обстоятельство гр_наречия сказуемое_esti( %3е, %Ед, %С ) inf ; } @Перевод { @Структура фраза_esti_для_глагола4 = _обстоятельство сказуемое_esti гр_наречия inf _обстоятельство ; @Структура фраза_esti_для_глагола4 = _обстоятельство сказуемое_esti( %3е, %Ед, %С ) гр_наречия inf _обстоятельство ; } @Перевод { @Структура фраза_esti_для_глагола2 = inf сказуемое_esti гр_сущ_И ; @Структура фраза_esti_для_глагола2 = inf сказуемое_esti( %3е, %Ед, %С ) гр_сущ_И( %И ) ; } @Перевод { @Структура фраза_esti_для_глагола5 = гр_сущ_И сказуемое_esti inf ; @Структура фраза_esti_для_глагола5 = гр_сущ_И( %И ) сказуемое_esti( %3е, %Ед, %С ) inf ; } @Перевод { @Выбор фраза_esti_для_глагола = фраза_esti_для_глагола1 фраза_esti_для_глагола2 фраза_esti_для_глагола3 фраза_esti_для_глагола4 фраза_esti_для_глагола5 ; @Выбор фраза_esti_для_глагола = фраза_esti_для_глагола1 фраза_esti_для_глагола2 фраза_esti_для_глагола3 фраза_esti_для_глагола4 фраза_esti_для_глагола5 ; } @Перевод { @Структура недофраза_esti_повест = сказуемое_esti хвост_esti ; @Структура недофраза_esti_повест( число &Число, род &Род ) = сказуемое_esti( %3е, Число, Род ) хвост_esti( Род, Число ) ; } @Перевод { @Структура недофраза_esti_повест2 = хвост_esti сказуемое_esti ; @Структура недофраза_esti_повест2( число &Число, род &Род ) = хвост_esti( Род, Число ) сказуемое_esti( %3е, Число, Род ) ; } @Перевод { @Структура фраза_esti_повест = _обстоятельство подлежащее сказуемое_esti хвост_esti ; @Структура фраза_esti_повест = _обстоятельство подлежащее( &Число, &Лицо, &Род ) сказуемое_esti( Лицо, Число, Род ) хвост_esti( Род, Число ) ; } @Перевод { @Структура фраза_esti_повест1 = _обстоятельство хвост_esti подлежащее сказуемое_esti ; @Структура фраза_esti_повест1 = _обстоятельство хвост_esti( Род, Число ) подлежащее( &Число, &Лицо, &Род ) сказуемое_esti( Лицо, Число, Род ) ; } @Перевод { @Структура фраза_esti_повест2 = _обстоятельство хвост_esti_с сказуемое_esti подлежащее ; @Структура фраза_esti_повест2 = _обстоятельство подлежащее( &Число, &Лицо, &Род ) сказуемое_esti( Лицо, Число, Род ) хвост_esti_с( Род, Число ) ; } @Перевод { @Структура фраза_esti_вопрос_общий = @0[cxu] подлежащее сказуемое_esti хвост_esti ; @Структура фраза_esti_вопрос_общий = сказуемое_esti( Лицо, Число, Род ) @0[ли] подлежащее( &Число, &Лицо, &Род ) хвост_esti( Род, Число ) ; } @Перевод { @Структура фраза_esti_вопрос_подлежащему = Вопрос_к_подлежащему( %И ) сказуемое_esti хвост_esti ; @Структура фраза_esti_вопрос_подлежащему = Вопрос_к_подлежащему( %И ) сказуемое_esti( %3е, %Ед, %М ) хвост_esti( %М, %Ед ) ; } @Перевод { @Структура фраза_esti_вопрос_подлежащему2 = Вопрос_к_подлежащему( %И ) хвост_esti сказуемое_esti ; @Структура фраза_esti_вопрос_подлежащему2 = Вопрос_к_подлежащему( %И ) хвост_esti( %М, %Ед ) сказуемое_esti( %3е, %Ед, %М ) ; } @Перевод { @Структура фраза_esti_вопрос_какой = вопрос_к_прил_пп[kia] ( &Число, &Падеж ) сказуемое_esti подлежащее ; @Структура фраза_esti_вопрос_какой = прил[какой] ( Род, %О, %И, Число ) сказуемое_esti( Лицо, Число, Род ) подлежащее( &Число, &Лицо, &Род ) ; } @Перевод { @Структура фраза_esti_вопрос_обстоятельству = вопрос_к_обстоятельству_пп подлежащее сказуемое_esti хвост_esti ; @Структура фраза_esti_вопрос_обстоятельству = вопрос_к_обстоятельству_пп подлежащее( &Число, &Лицо, &Род ) сказуемое_esti( Лицо, Число, Род ) хвост_esti( Род, Число ) ; } @Перевод { @Структура фраза_esti_повелит = _обстоятельство _повелительное_подлежащее _Ne связка( %Повелит, @0 ) хвост_esti ; @Структура фраза_esti_повелит = _обстоятельство _повелительное_подлежащее( &Число ) _Ne связка( %Несов, %глагол, @0, Число, @0, @0, %Повелит ) хвост_esti( Род, Число ) ; } @Перевод { @Выбор фраза_esti = фраза_esti_повест фраза_esti_повест1 фраза_esti_повест2 фраза_esti_вопрос_общий фраза_esti_вопрос_подлежащему фраза_esti_вопрос_подлежащему2 фраза_esti_вопрос_какой фраза_esti_вопрос_обстоятельству фраза_esti_повелит фраза_esti_для_глагола ; @Выбор фраза_esti = фраза_esti_повест фраза_esti_повест1 фраза_esti_повест2 фраза_esti_вопрос_общий фраза_esti_вопрос_подлежащему фраза_esti_вопрос_подлежащему2 фраза_esti_вопрос_какой фраза_esti_вопрос_обстоятельству фраза_esti_повелит фраза_esti_для_глагола ; } @Перевод { @Структура inf_esti = _Ne связка( %Inf, @0 ) хвост_esti ; @Структура inf_esti = _Ne связка( %Несов, %Inf, @0, @0, @0, @0, @0 ) хвост_esti( %М, %Ед ) ; } // ---------- фразы типа здесь_есть ----------------------- @Перевод { @Структура фраза_здесь_есть_повест = _обстоятельство сказуемое_здесь_есть подлежащее_есть ; @Структура фраза_здесь_есть_повест = _обстоятельство сказуемое_здесь_есть( Лицо, Число, Род, &Падеж ) подлежащее_есть( &Число, &Лицо, Падеж, &Род ) ; } @Перевод { @Структура фраза_здесь_есть_повест2 = _обстоятельство подлежащее_есть сказуемое_здесь_есть ; @Структура фраза_здесь_есть_повест2 = _обстоятельство подлежащее_есть( &Число, &Лицо, Падеж, &Род ) сказуемое_здесь_есть( Лицо, Число, Род, &Падеж ) ; } @Перевод { @Структура фраза_здесь_есть_вопрос_общий = @0[cxu] _обстоятельство сказуемое_здесь_есть подлежащее_есть ; @Структура фраза_здесь_есть_вопрос_общий = _обстоятельство сказуемое_здесь_есть( Лицо, Число, Род, &Падеж ) @0[ли] подлежащее_есть( &Число, &Лицо, Падеж, &Род ) ; } @Перевод { @Структура фраза_здесь_есть_вопрос_подлежащему = Вопрос_к_подлежащему( %И ) сказуемое_здесь_есть ; @Структура фраза_здесь_есть_вопрос_подлежащему = Вопрос_к_подлежащему( %И ) сказуемое_здесь_есть( %3е, %Ед, %М, &Падеж ) ; } @Перевод { @Структура фраза_здесь_есть_вопрос_обстоятельству = вопрос_к_обстоятельству_пп сказуемое_здесь_есть подлежащее_есть ; @Структура фраза_здесь_есть_вопрос_обстоятельству = вопрос_к_обстоятельству_пп сказуемое_здесь_есть( Лицо, Число, Род, &Падеж ) подлежащее_есть( &Число, &Лицо, Падеж, &Род ) ; } // сюда бы еще повелительную фразу вставить @Перевод { @Выбор фраза_здесь_есть = фраза_здесь_есть_повест фраза_здесь_есть_повест2 фраза_здесь_есть_вопрос_общий фраза_здесь_есть_вопрос_подлежащему фраза_здесь_есть_вопрос_обстоятельству ; @Выбор фраза_здесь_есть = фраза_здесь_есть_повест фраза_здесь_есть_повест2 фраза_здесь_есть_вопрос_общий фраза_здесь_есть_вопрос_подлежащему фраза_здесь_есть_вопрос_обстоятельству ; } @Перевод { @Выбор necesi_чтобы = @0[por] @00; @Выбор necesi_чтобы = @0[чтобы] @00; } // ---------- фразы с глаголом necesi --------------------- @Перевод { @Структура фраза_necesi_повест = _обстоятельство _Ne глагол[necesi] ( %Глагол, &Время ) _обстоятельство necesi_чтобы inf ; @Структура фраза_necesi_повест = _обстоятельство _Ne глагол[требоваться] ( &СС, %глагол, %3е, %Ед, &Время, %М, %Актив, @0 ) _обстоятельство necesi_чтобы inf ; @Таблица( время Время = время Время, совершенность СС ) { прошлое = прошлое Сов ; настоящее = настоящее Несов ; будущее = будущее Сов ; } } // ---------- фразы с глаголом suficxi --------------------- @Перевод { @Структура фраза_suficxi_повест = _обстоятельство _Ne глагол[suficxi] ( %Глагол, &Время ) _обстоятельство necesi_чтобы inf ; @Структура фраза_suficxi_повест = _обстоятельство _Ne глагол[хватать] ( &СС, %глагол, %3е, %Ед, &Время, %М, %Актив, @0 ) _обстоятельство necesi_чтобы inf ; @Таблица( время Время = время Время, совершенность СС ) { прошлое = прошлое Сов ; настоящее = настоящее Несов ; будущее = будущее Сов ; } } // ---------- фразы с "нормальными" глаголами ----------------- @Перевод { @Структура недофраза_повест = бп_сказуемое хвост ; @Структура недофраза_повест( число &Число, род &Род ) = бп_сказуемое( %3е, Число, Род, %Нет ) хвост ; } @Перевод { @Структура фраза_verb_повелит = _обстоятельство _повелительное_подлежащее _Ne сс_глагол( %Повелит, @0 ) _обстоятельство хвост_imp ; @Структура фраза_verb_повелит = _обстоятельство _повелительное_подлежащее( &Число ) _Ne сс_глагол( %Несов, %глагол, @0, Число, @0, @0, %Повелит, @0 ) _обстоятельство хвост_imp ; } @Перевод { @Структура inf_verb = _обстоятельство _Ne сс_глагол( Inf, @0 ) _обстоятельство хвост ; @Структура inf_verb = _обстоятельство _Ne сс_глагол( %Несов, %Inf, @0, @0, @0, @0, @0, @0 ) _обстоятельство хвост ; } // ------------------------------------------------------------ @Перевод { @Выбор фраза_verb = бп_фраза_verb_ли бп_фраза_verb_вопрос_подлежащему бп_фраза_verb_вопрос_дополнению бп_фраза_verb_вопрос_обстоятельству бп_фраза_verb_повест фраза_verb_повелит ; @Выбор фраза_verb = бп_фраза_verb_ли бп_фраза_verb_вопрос_подлежащему бп_фраза_verb_вопрос_дополнению бп_фраза_verb_вопрос_обстоятельству бп_фраза_verb_повест фраза_verb_повелит ; } @Перевод { @Выбор фраза_повест = бп_фраза_verb_повест фраза_havi_повест фраза_esti_повест фраза_esti_повест1 фраза_esti_повест2 фраза_esti_для_глагола фраза_здесь_есть_повест фраза_здесь_есть_повест2 фраза_necesi_повест фраза_suficxi_повест ; @Выбор фраза_повест = бп_фраза_verb_повест фраза_havi_повест фраза_esti_повест фраза_esti_повест1 фраза_esti_повест2 фраза_esti_для_глагола фраза_здесь_есть_повест фраза_здесь_есть_повест2 фраза_necesi_повест фраза_suficxi_повест ; } @Перевод { @Выбор фраза_вопрос_общий = бп_фраза_verb_ли фраза_esti_вопрос_общий фраза_havi_вопрос_общий ; @Выбор фраза_вопрос_общий = бп_фраза_verb_ли фраза_esti_вопрос_общий фраза_havi_вопрос_общий ; } @Перевод { @Выбор фраза_вопрос_подлежащему = бп_фраза_verb_вопрос_подлежащему фраза_esti_вопрос_подлежащему фраза_esti_вопрос_подлежащему2 фраза_esti_вопрос_какой фраза_havi_вопрос_подлежащему фраза_здесь_есть_вопрос_подлежащему ; @Выбор фраза_вопрос_подлежащему = бп_фраза_verb_вопрос_подлежащему фраза_esti_вопрос_подлежащему фраза_esti_вопрос_подлежащему2 фраза_esti_вопрос_какой фраза_havi_вопрос_подлежащему фраза_здесь_есть_вопрос_подлежащему ; } @Перевод { @Выбор фраза_вопрос_дополнению = бп_фраза_verb_вопрос_дополнению фраза_havi_вопрос_дополнению фраза_havi_вопрос_дополнению1 ; @Выбор фраза_вопрос_дополнению = бп_фраза_verb_вопрос_дополнению фраза_havi_вопрос_дополнению фраза_havi_вопрос_дополнению1 ; } @Перевод { @Выбор фраза_повелит = фраза_verb_повелит фраза_esti_повелит фраза_havi_повелит ; @Выбор фраза_повелит = фраза_verb_повелит фраза_esti_повелит фраза_havi_повелит ; } // ---------- добавочные фразы ------------------------------- @Перевод { @Выбор фраза_без_подлежащего = недофраза_повест недофраза_esti_повест недофраза_esti_повест2 ; @Выбор фраза_без_подлежащего( число &Число, род &Род ) = недофраза_повест( Число, Род ) недофраза_esti_повест( Число, Род ) недофраза_esti_повест2( Число, Род ) ; } // ----------------------------------------------------------- @Перевод { @Структура фраза_verb_без_дополнения = подлежащее бп_сказуемое ; @Структура фраза_verb_без_дополнения = подлежащее( &Число, &Лицо, &Род ) бп_сказуемое( Лицо, Число, Род, %Нет ) ; } @Перевод { @Структура фраза_havi_без_дополнения = _обстоятельство сл_сущестительное_И сказуемое_havi ; @Структура фраза_havi_без_дополнения = _обстоятельство @0[у] сл_сущестительное_И( %Р ) сказуемое_havi( Число, Род, &Падеж ) ; } @Перевод { @Выбор фраза_без_дополнения = фраза_verb_без_дополнения фраза_havi_без_дополнения ; @Выбор фраза_без_дополнения = фраза_verb_без_дополнения фраза_havi_без_дополнения ; } // ----------------------------------------------------------- @Перевод { @Выбор inf1 = inf_havi inf_esti inf_verb ; @Выбор inf1 = inf_havi inf_esti inf_verb ; } @Перевод { @Структура и_inf1 = _и_или inf ; @Структура и_inf1 = _и_или inf ; } @Перевод { @Выбор _и_inf1 = и_inf1 @00; @Выбор _и_inf1 = и_inf1 @00; } @Перевод { @Структура inf = inf1 _и_inf1 ; @Структура inf = inf1 _и_inf1 ; } @Перевод { @Структура чтобы_делать = @0[por] inf ; @Структура чтобы_делать = @0[чтобы] inf ; }