// **************************************************************************
//   Описание англицкого языка в меру моих слабых сил
//   Левосторонняя оборотная версия
//   Протранслируйте меня с помощью команды g++ -E -o lang.txt -I. lang.cpp
// **************************************************************************
@Перевод
{
// ------------------------ перечислимые множества ------------------------ //
//
   @Выбор      ____КОНСТАНТЫ____;
   @Выбор      КОНСТАНТЫ;
}

@Перевод
{
   @Выбор      _have = @0@0;
   @Выбор      _have = @0@0;
}

@Перевод
{
   @Выбор      _will = @0@0;
   @Выбор      _will = @0@0;
}

@Перевод
{
   @Выбор      _would = @0@0;
   @Выбор      _would = @0@0;
}

@Перевод
{
   @Выбор      _do = @0@0;
   @Выбор      _do = @0@0;
}

@Перевод
{
   @Выбор      __do = @0@0@00;
   @Выбор      __do = @0@0@00;
}

@Перевод
{
   @Выбор      _was = @0@0;
   @Выбор      _was = @0@0;
}

@Перевод
{
   @Выбор      _No = @0@0@00;
   @Выбор      _No = @0@0@00;
}

@Перевод
{
   @Выбор      _No_p = @0@0@00;
   @Выбор      _No_p( падеж &Падеж ) = @0@0@00;
}

@Перевод
{
   @Выбор      _No1_p = @0@0@00;
   @Выбор      _No1_p( падеж &Падеж ) = @0@0@0;
}

@Перевод
{
   @Выбор      _Not = @00@0;
   @Выбор      _Not = @00@0;
}

@Перевод
{
   @Выбор      _Not1 = @00@0;
   @Выбор      _Not1 = @00@0;
}

@Перевод
{
   @Выбор      _And = @00@0;
   @Выбор      _And = @00@0;
}

@Перевод
{
   @Выбор      _Got = @00@0;
   @Выбор      _Got = @00@0;
}

@Перевод
{
   @Выбор      and_or = @0@0@0;
   @Выбор      and_or = @0@0@0;
}

@Перевод
{
   @Выбор      _and_or = @00@0@0@0;
   @Выбор      _and_or = @00@0@0@0;
}

@Перевод
{
   @Выбор      _связка_is = @0@0@0;
   @Выбор      _связка_is = @0@0@0;
}

@Перевод
{
   @Выбор      _связка_was = @0@0;
   @Выбор      _связка_was = @0@0;
}

@Перевод
{
   @Выбор      _Наречие = гр_наречие_пп( &Смысл ) наречие( &Смысл ) @00;
   @Выбор      _Наречие = гр_наречие_пп наречие @00;
}

@Перевод
{
   @Выбор      Наречие1( смысл_наречия Смысл ) = 
               гр_наречие_пп( &Смысл ) наречие( &Смысл ) ;
   @Выбор      Наречие1 = гр_наречие_пп наречие ;
}

@Перевод
{
   @Выбор      _Наречие_степени = гр_наречие_пп( степени ) наречие( степени ) @00;
   @Выбор      _Наречие_степени = гр_наречие_пп наречие @00;
}

@Перевод
{
   @Выбор      ____АТОМЫ________;
   @Выбор      АТОМЫ;
}

@Перевод
{
   @Выбор      ____СУЩ__________;
   @Выбор      СУЩ;
}

@Перевод
{
   @Выбор      ____ПРИЛ_________;
   @Выбор      ПРИЛ;
}

@Перевод
{
   @Выбор      ____НАРЕЧИЯ______;
   @Выбор      НАРЕЧИЯ;
}

@Перевод
{
   @Выбор      ____СКАЗУЕМЫЕ____;
   @Выбор      СКАЗУЕМЫЕ;
}

@Перевод
{
   @Выбор      ____ХВОСТЫ______;
   @Выбор      ХВОСТЫ;
}

@Перевод
{
   @Выбор      ____WH_ФРАЗЫ____;
   @Выбор      WH_ФРАЗЫ;
}

@Перевод
{
   @Выбор      ____ЯДРО________;
   @Выбор      ЯДРО;
}

@Перевод
{
   @Выбор      все_все1 = 
               фраза 
               фраза_have 
               фраза_квазинаречие 
               фраза_be 
               фраза_be_предлог 
               фраза_there 
               понять_значит_упростить 
               понять_значит_упростить2 
               ;
//	      подлежащее( &Лицо, &Число )
//	      числительное 
   @Выбор      все_все1 = 
               фраза 
               фраза_have 
               фраза_квазинаречие 
               фраза_be 
               фраза_be_предлог 
               фраза_there 
               понять_значит_упростить 
               понять_значит_упростить2 
               ;
//	      подлежащее( &Лицо, &Число, &Род )
//	      числительное 
}

@Перевод
{
// -------- как-то похабно сделано
   @Выбор      заголовок_ман = @00сущ( &Число ) ;
   @Выбор      заголовок_ман = @00сущ( &Род, И, Ед ) ;
}

@Перевод
{
   @Структура  все_все_для_ман = заголовок_ман все_все1 ;
   @Структура  все_все_для_ман = заголовок_ман все_все1 ;
}

@Перевод
{
   @Выбор      все_все = все_все1 все_все_сп все_все_для_ман ;
   @Выбор      все_все = все_все1 все_все_сп все_все_для_ман ;
}