// ************************************************************************** // Описание англицкого языка в меру моих слабых сил // Левосторонняя оборотная версия // Протранслируйте меня с помощью команды g++ -E -o lang.txt -I. lang.cpp // ************************************************************************** # include @Переводы { // ------------------------ перечислимые множества ------------------------ // @Перевод { @Выбор ____КОНСТАНТЫ____ = ; @Выбор КОНСТАНТЫ = ; } @Перевод { @Выбор _have = !@0[have] !@0[has] ; @Выбор _have = @0[1] @0[2] ; } @Перевод { @Выбор _will = @0[will] @0[shall] ; @Выбор _will = @0[1] @0[2] ; } @Перевод { @Выбор _would = @0[would] @0[should] ; @Выбор _would = @0[1] @0[2] ; } @Перевод { @Выбор _do = @0[do] @0[does] ; @Выбор _do = @0[1] @0[2] ; } @Перевод { @Выбор __do = @0[do] @0[does] @00 ; @Выбор __do = @0[1] @0[2] @00 ; } @Перевод { @Выбор _was = @0[was] @0[were] ; @Выбор _was = @0[1] @0[2] ; } @Перевод { @Выбор _No = @0[no] @0[not] @00 ; @Выбор _No = @0[не] @0[не] @00 ; } @Перевод { @Выбор _No_p = @0[no] @0[not] @00 ; @Выбор _No_p( падеж &Падеж ) = @0[не] @0[не] @00 ; @Таблица( @Выбор, = падеж Падеж ) { 1 = Р ; 2 = Р ; 3 = И ; } } @Перевод { @Выбор _No1_p = @0[no] @0[not] @00 ; @Выбор _No1_p( падеж &Падеж ) = @0[нет] @0[нет] @0[есть] ; @Таблица( @Выбор, = падеж Падеж ) { 1 = Р ; 2 = Р ; 3 = И ; } } @Перевод { @Выбор _Not = @00 @0[not] ; @Выбор _Not = @00 @0[не] ; } @Перевод { @Выбор _Not1 = @00 @0[not] ; @Выбор _Not1 = @00 @0[разве_не] ; } @Перевод { @Выбор _And = @00 @0[and] ; @Выбор _And = @00 @0[и] ; } @Перевод { @Выбор _Got = @00 @0[got] ; @Выбор _Got = @00 @0[1] ; } @Перевод { @Выбор and_or = @0[and] @0[or] @0[but] ; @Выбор and_or = @0[и] @0[или] @0[но] ; } @Перевод { @Выбор _and_or = @00 @0[and] @0[or] @0[but] ; @Выбор _and_or = @00 @0[и] @0[или] @0[но] ; } @Перевод { @Выбор _связка_is = @0[am] @0[are] @0[is] ; @Выбор _связка_is = @0[1] @0[2] @0[3] ; } @Перевод { @Выбор _связка_was = @0[was] @0[were] ; @Выбор _связка_was = @0[1] @0[2] ; } @Перевод { @Выбор _Наречие = гр_наречие_пп( &Смысл ) наречие( &Смысл ) @00 ; @Выбор _Наречие = гр_наречие_пп наречие @00 ; } @Перевод { @Выбор Наречие1( смысл_наречия Смысл ) = гр_наречие_пп( &Смысл ) наречие( &Смысл ); @Выбор Наречие1 = гр_наречие_пп наречие ; } @Перевод { @Выбор _Наречие_степени = гр_наречие_пп( %степени ) наречие( %степени ) @00 ; @Выбор _Наречие_степени = гр_наречие_пп наречие @00 ; } @Перевод { @Выбор ____АТОМЫ________ = ; @Выбор АТОМЫ = ; } # include @Перевод { @Выбор ____СУЩ__________ = ; @Выбор СУЩ = ; } # include # include @Перевод { @Выбор ____ПРИЛ_________ = ; @Выбор ПРИЛ = ; } # include @Перевод { @Выбор ____НАРЕЧИЯ______ = ; @Выбор НАРЕЧИЯ = ; } # include @Перевод { @Выбор ____СКАЗУЕМЫЕ____ = ; @Выбор СКАЗУЕМЫЕ = ; } # include # include # include # include # include # include # include # include @Перевод { @Выбор ____ХВОСТЫ______ = ; @Выбор ХВОСТЫ = ; } # include # include # include @Перевод { @Выбор ____WH_ФРАЗЫ____ = ; @Выбор WH_ФРАЗЫ = ; } # include @Перевод { @Выбор ____ЯДРО________ = ; @Выбор ЯДРО = ; } # include # include @Перевод { @Структура2 междометие = ; @Структура2 междометие = ; } @Перевод { @Выбор _междометие = междометие @00 ; @Выбор _междометие = междометие @00 ; } @Перевод { @Структура @междометие = междометие _междометие ; @Структура @междометие = междометие _междометие ; } @Перевод { @Выбор все_все1 = фраза фраза_have фраза_квазинаречие фраза_be фраза_be_предлог фраза_there понять_значит_упростить понять_значит_упростить2 // подлежащее( &Лицо, &Число ) // числительное ; @Выбор все_все1 = фраза фраза_have фраза_квазинаречие фраза_be фраза_be_предлог фраза_there понять_значит_упростить понять_значит_упростить2 // подлежащее( &Лицо, &Число, &Род ) // числительное ; } @Перевод { // -------- как-то похабно сделано @Выбор заголовок_ман = @00 сущ( &Число) ; @Выбор заголовок_ман = @00 сущ( &Род, &Д, %И, %Ед ) ; } @Перевод { @Структура все_все_для_ман = заголовок_ман все_все1 ; @Структура все_все_для_ман = заголовок_ман все_все1 ; } @Перевод { @Выбор все_все = все_все1 все_все_сп все_все_для_ман ; @Выбор все_все = все_все1 все_все_сп все_все_для_ман ; } }