// **************************************************************************
//
//                   Описание группы числительного
//                   (правильное, но неупорядоченное)
// **************************************************************************
@Перевод
{
   @Выбор      цифра = гр_числ2 числительное ;
   @Выбор      цифра( ч_падеж Падеж1, ч_число Число1, падеж &Падеж ) = 
               гр_числ2( &Падеж1, &Число1, Падеж ) 
               числительное( &Падеж1, &Число1, Падеж ) 
               ;
}

@Перевод
{
   @Структура  цифра_итерационная = цифра _цифра_итерационная ;
   @Структура  цифра_итерационная( падеж &Падеж ) = 
               цифра( &Падеж1, &Число1, Падеж ) _цифра_итерационная( Падеж ) ;
}

@Перевод
{
   @Выбор      _цифра_итерационная = @00 цифра_итерационная ;
   @Выбор      _цифра_итерационная( падеж &Падеж ) = 
               @00 цифра_итерационная( Падеж ) ;
}

@Перевод
{
   @Выбор      _префикс_цифры = @00 цифра_итерационная ;
   @Выбор      _префикс_цифры( падеж &Падеж ) = @00 цифра_итерационная( Падеж ) ;
}

@Перевод
{
   @Структура  гр_числительного2 = _префикс_цифры цифра ;
   @Структура  гр_числительного2( ч_падеж Падеж1, ч_число Число1, падеж &Падеж ) = 
               _префикс_цифры( Падеж ) цифра( &Падеж1, &Число1, Падеж ) ;
}

@Перевод
{
   @Выбор      _гр_числительного1 = гр_числительного2 мест_числ @00;
   @Выбор      _гр_числительного1( ч_падеж Падеж1, ч_число Число1, падеж &Падеж ) = 
               гр_числительного2( &Падеж1, &Число1, Падеж ) мест_числ @00;
//( &Падеж1, &Число1, Падеж )
}

@Перевод
{
   @Структура  гр_числ_или = и_или _гр_числительного1 ;
   @Структура  гр_числ_или( падеж &Падеж ) = 
               и_или _гр_числительного1( &Падеж1, &Число1, Падеж ) ;
}

@Перевод
{
// -------- сделано плохо, потому что нет итераций 
   @Выбор      _гр_числ_или = гр_числ_или @00;
   @Выбор      _гр_числ_или( падеж &Падеж ) = гр_числ_или( Падеж ) @00;
}

@Перевод
{
// -------- оборот с количественным числительным ------------
   @Структура  гр_числительного_И = 
               _опр_прилагательный_И 
               гр_числительного2 
               _гр_числ_или 
               _опр_правый 
               _опр_прилагательный_И 
               _опр_правый 
               сущ2( &Число, И ) 
               _хвост_сущ 
               ;
   @Структура  гр_числительного_И( род Род, падеж &Падеж, число Число ) = 
               _опр_прилагательный_И( Род, Душа, Падеж2, Число2 ) 
               гр_числительного2( &Падеж1, &Число1, Падеж ) 
               _гр_числ_или( Падеж ) 
               _опр_прилагательный_И( Род, Душа, Падеж2, Число2 ) 
               сущ2( &Род, &Душа, &Падеж2, &Число2 ) 
               _опр_правый 
               _опр_правый 
               _хвост_сущ( Род, Падеж2, Число2 ) 
               ;
   @Таблица_приемника( ч_падеж Падеж1, падеж Падеж = падеж Падеж2 )
   {
      Уступаю И = И ;
      Уступаю Р = Р ;
      Уступаю Д = Д ;
      Уступаю В = В ;
      Уступаю Т = Т ;
      Уступаю П = П ;

      РВсе @0 = Р ;

      Р И = Р ;
      Р Р = Р ;
      Р Д = Д ;
      Р В = Р ;
      Р Т = Т ;
      Р П = П ;
   }
   @Таблица_приемника( ч_число Число1, падеж Падеж = число Число2 )
   { 
      Ед @0 = Ед ;
      Мн @0 = Мн ;
      ЕдИ И = Ед ;
      ЕдИ Р = Мн ;
      ЕдИ Д = Мн ;
      ЕдИ В = Ед ;
      ЕдИ Т = Мн ;
      ЕдИ П = Мн ;
   }

}

@Перевод
{
// -------- оборот с количественным числительным ------------
   @Структура  гр_числительного_В = 
               _опр_прилагательный_В 
               гр_числительного2 
               _гр_числ_или 
               _опр_правый 
               _опр_прилагательный_В 
               _опр_правый 
               сущ2( &Число, В ) 
               _хвост_сущ 
               ;
   @Структура  гр_числительного_В( род Род, падеж &Падеж, число Число ) = 
               _опр_прилагательный_В( Род, Душа, Падеж2, Число2 ) 
               гр_числительного2( &Падеж1, &Число1, Падеж ) 
               _гр_числ_или( Падеж ) 
               _опр_прилагательный_В( Род, Душа, Падеж2, Число2 ) 
               сущ2( &Род, &Душа, &Падеж2, &Число2 ) 
               _опр_правый 
               _опр_правый 
               _хвост_сущ( Род, Падеж2, Число2 ) 
               ;
   @Таблица_приемника( ч_падеж Падеж1, падеж Падеж = падеж Падеж2 )
   {
      Уступаю И = И ;
      Уступаю Р = Р ;
      Уступаю Д = Д ;
      Уступаю В = В ;
      Уступаю Т = Т ;
      Уступаю П = П ;

      РВсе @0 = Р ;

      Р И = Р ;
      Р Р = Р ;
      Р Д = Д ;
      Р В = Р ;
      Р Т = Т ;
      Р П = П ;
   }
   @Таблица_приемника( ч_число Число1, падеж Падеж = число Число2 )
   { 
      Ед @0 = Ед ;
      Мн @0 = Мн ;
      ЕдИ И = Ед ;
      ЕдИ Р = Мн ;
      ЕдИ Д = Мн ;
      ЕдИ В = Ед ;
      ЕдИ Т = Мн ;
      ЕдИ П = Мн ;
   }
}

@Перевод
{
   @Структура  гр_числительного_нс = 
               гр_числ3 
               _опр_правый 
               _опр_прилагательный_И 
               _опр_правый 
               сущ2( &Число, %И ) 
               _хвост_сущ 
               ;
   @Структура  гр_числительного_нс = 
               гр_числ3 
               _опр_правый 
               _опр_прилагательный_И( Род, Душа, %Р, %Мн ) 
               _опр_правый 
               сущ2( &Род, &Душа, %Р, %Мн ) 
               _хвост_сущ( Род, %Р, %Мн ) 
               ;
}