@Перевод
{
// ------- вопрос какой ------------------
@Структура Вопрос_к_подлежащему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 ;
}