// **************************************************************************
//
// Описание группы числительного
// (правильное, но неупорядоченное)
// **************************************************************************
@Перевод
{
@Выбор цифра = гр_числ2 числительное ;
@Выбор цифра( число Число, падеж &Падеж ) =
гр_числ2( &Число, Падеж ) числительное( &Число, Падеж ) ;
}
@Перевод
{
@Структура цифра_итерационная = цифра _цифра_итерационная ;
@Структура цифра_итерационная( падеж &Падеж ) =
цифра( &Число, Падеж ) _цифра_итерационная( Падеж ) ;
}
@Перевод
{
@Выбор _цифра_итерационная = цифра_итерационная @00;
@Выбор _цифра_итерационная( падеж &Падеж ) =
цифра_итерационная( Падеж ) @00;
}
@Перевод
{
@Выбор _префикс_цифры = цифра_итерационная @00;
@Выбор _префикс_цифры( падеж &Падеж ) = цифра_итерационная( Падеж ) @00;
}
@Перевод
{
@Структура гр_числительного2 = _префикс_цифры цифра ;
@Структура гр_числительного2( число Число, падеж &Падеж ) =
_префикс_цифры( Падеж ) цифра( &Число, Падеж ) ;
}
@Перевод
{
@Выбор _гр_числительного1 = гр_числительного2 мест_числ @00;
@Выбор _гр_числительного1( число Число, падеж &Падеж ) =
гр_числительного2( &Число, Падеж ) мест_числ @00;
}
@Перевод
{
@Структура гр_числ_или = _and_or _гр_числительного1 ;
@Структура гр_числ_или( падеж &Падеж ) =
_and_or _гр_числительного1( &Число, Падеж ) ;
}
@Перевод
{
// -------- сделано плохо, потому что нет итераций
@Выбор _гр_числ_или = гр_числ_или @00;
@Выбор _гр_числ_или( падеж &Падеж ) = гр_числ_или( Падеж ) @00;
}
@Перевод
{
// -------- оборот с количественным числительным ------------
@Структура гр_числительного =
_опр_прилагательный
_Наречие_степени
гр_числительного2
_гр_числ_или
_опр_правый
_опр_прилагательный
_опр_правый
сущ( &Число )
_хвост_сущ
;
@Структура гр_числительного( род Род, падеж &Падеж, число Число ) =
_опр_прилагательный( Род, Падеж, Число )
_Наречие_степени
гр_числительного2( &Число, Падеж )
_гр_числ_или( Падеж )
_опр_прилагательный( Род, Падеж, Число )
сущ( &Род, Р, Число )
_опр_правый
_опр_правый
_хвост_сущ( Род, Падеж, Число )
;
}
@Перевод
{
// -------- оборот с порядковым числительным ------------
@Структура гр_числительного_а =
_артикль числ_порядковое гр_inf_причастие( &S1 ) _хвост_сущ ;
@Структура гр_числительного_а( падеж &Падеж, число Число ) =
числ_порядковое( Падеж )
гр_inf_причастие( М, Падеж, Число )
_хвост_сущ( М, Падеж, Число )
;
}