@Перевод
{
@Структура гр_глагола_а( см_глагола S1, форма Ф ) =
глагол( &S1, &Ф ) хвост_а ;
@Структура гр_глагола_а( совершенность &S, форма &Ф, число &Ч, время &В, род &Р, залог &З, падеж &П ) =
глагол( S, Ф, @0, Ч, В, Р, %Актив, П ) хвост_а ;
}
@Перевод
{
@Структура гр_be_а( форма Ф ) = @0[be] хвост_be ;
@Структура гр_be_а( совершенность &S, форма &Ф, число &Ч, время &В, род &Р, залог &З, падеж &П ) =
глагол[быть] ( S, Ф, @0, Ч, В, Р, %Актив, П )
хвост_be( Ч, Р, %Н, %В )
;
}
@Перевод
{
@Структура гр_have_been_а( форма Ф ) = @0[have] @0[been] хвост_be ;
@Структура гр_have_been_а( совершенность &S, форма &Ф, число &Ч, время &В, род &Р, залог &З, падеж &П ) =
глагол[быть] ( S, Ф, @0, Ч, В, Р, %Актив, П )
хвост_be( Ч, Р, %Н, %В )
;
}
@Перевод
{
@Структура гр_have_а( форма Ф ) = @0[have] хвост_have ;
@Структура гр_have_а( совершенность &S, форма &Ф, число &Ч, время &В, род &Р, залог &З, падеж &П ) =
глагол[быть] ( S, Ф, @0, Ч1, В, Р1, %Актив, П )
хвост_have( &Ч1, %И, &Р1 )
;
}
@Перевод
{
@Выбор гр_глагола( см_глагола S1, форма Ф ) =
гр_глагола_а( &S1, &Ф )
гр_be_а( &Ф )
гр_have_been_а( &Ф )
гр_have_а( &Ф )
гр_глагола_п( &Ф )
гр_be_пп( &Ф )
гр_be1_пп( &Ф )
гр_have_п( &Ф )
;
@Выбор гр_глагола( совершенность &S, форма &Ф, число &Ч, время &В, род &Р, залог &З, падеж &П ) =
гр_глагола_а( S, Ф, Ч, В, Р, З, П )
гр_be_а( S, Ф, Ч, В, Р, З, П )
гр_have_been_а( S, Ф, Ч, В, Р, З, П )
гр_have_а( S, Ф, Ч, В, Р, З, П )
гр_глагола_п( S, Ф, Ч, В, Р, З, П )
гр_be_пп( S, Ф, Ч, В, Р, З, П )
гр_be1_пп( S, Ф, Ч, В, Р, З, П )
гр_have_п( S, Ф, Ч, В, Р, З, П )
;
}
@Перевод
{
@Структура чтобы_to_inf_akt( см_глагола S1 ) =
_Not @0[to] гр_глагола( &S1, %Inf ) ;
@Структура чтобы_to_inf_akt =
@0[для_того_чтобы]
_Not
гр_глагола( %Несов, %Inf, @0, @0, @0, %Актив, @0 )
;
}
@Перевод
{
@Структура to_inf_akt( см_глагола S1 ) =
_Not @0[to] гр_глагола( &S1, %Inf ) ;
@Структура to_inf_akt =
_Not гр_глагола( %Несов, %Inf, @0, @0, @0, %Актив, @0 ) ;
}
@Перевод
{
@Структура to_inf_pass( см_глагола S1 ) =
_Not @0[to] @0[be] гр_глагола( &S1, %Form3 ) ;
@Структура to_inf_pass( число &Ч, род &Р ) =
_Not
@0[быть]
гр_глагола( %Сов, %причастие, Ч, @0, Род, %Пассив, @0 )
;
}
@Перевод
{
@Выбор to_inf( см_глагола S1 ) = to_inf_akt( &S1 ) to_inf_pass( &S1 ) ;
@Выбор to_inf( число &Ч, род &Р ) = to_inf_akt to_inf_pass( Ч, Р ) ;
}
@Перевод
{
@Структура to_inf1( см_глагола S1 ) = _Not @0[to] гр_глагола( &S1, %Inf ) ;
@Структура to_inf1 =
_Not гр_глагола( %Сов, %деепричастие, @0, @0, @0, @0, @0 ) ;
}
@Перевод
{
@Структура to_inf2( см_глагола S1 ) = _Not @0[to] гр_глагола( &S1, %Inf ) ;
@Структура to_inf2( число &Число, род &Род ) =
_Not
гр_глагола( %Сов, %глагол, Число, %прошлое, Род, %Актив, @0 )
;
}
@Перевод
{
@Структура гр_inf_причастие( см_глагола S1 ) =
_Not @0[to] гр_глагола( &S1, %Inf ) ;
@Структура гр_inf_причастие( род &Род, падеж &Падеж, число &Число ) =
_Not
гр_глагола( %Сов, %причастие, Число, %прошлое, Род, %Актив, Падеж )
;
}
@Перевод
{
@Структура гр_ing( см_глагола S1 ) = гр_глагола( &S1, %Ing ) ;
@Структура гр_ing = гр_глагола( %Несов, %Inf, @0, @0, @0, %Актив, @0 ) ;
}
@Перевод
{
@Структура гр_ing1( см_глагола S1 ) = гр_глагола( &S1, %Ing ) ;
@Структура гр_ing1( род &Род, падеж &Падеж, число &Число ) =
гр_глагола( %Несов, %причастие, Число, %настоящее, Род, %Актив, Падеж )
;
}
@Перевод
{
@Структура союз_глагол( см_глагола S1 ) =
Предлог союз гр_глагола( &S1, %Inf ) ;
@Структура союз_глагол =
Предлог( &Падеж )
союз
гр_глагола( %Несов, %Inf, @0, @0, @0, %Актив, @0 )
;
}
@Перевод
{
// ------- для "предлог в хвосте" --------
@Структура to_inf_предлог = @0[to] гр_глагола( &S1, %Inf ) Предлог ;
@Структура to_inf_предлог( род &Род, число &Число ) =
гр_глагола( %Несов, %Inf, @0, @0, @0, %Актив, @0 )
Предлог( &Падеж )
прил[он] ( Род, %Н, Падеж, Число )
;
}
@Перевод
{
@Выбор2 доп_глагол( см_глагола S1 ) =
to_inf_akt( &S1 ) to_inf1( &S1 ) гр_ing( &S1 ) ;
@Выбор2 доп_глагол = to_inf_akt to_inf1 гр_ing ;
}
@Перевод
{
@Структура but_do = _and_or _do _Not ;
@Структура but_do = _and_or _Not ;
}
@Перевод
{
@Выбор but_do1 = but_do and_or ;
@Выбор but_do1 = but_do and_or ;
}
@Перевод
{
// ------- для but do print --------
@Структура but_do_глагол = but_do1 глагол( &S1, %Inf ) хвост_а ;
@Структура but_do_глагол =
but_do1
глагол( %Несов, %глагол, %3е, %Ед, %настоящее, @0, %Актив, @0 )
хвост_а
;
}