// ************************************************************************** // Описание языка Эсперанто в меру моих слабых сил // Протранслируйте меня с помощью команды g++ -E -o lang.txt -I. lang.cpp // ************************************************************************** @Перевод { @Выбор _и_или = @00@0[kaj] @0[aux] @0[sed] ; @Выбор _и_или = @00@0[и] @0[или] @0[но] ; } @Перевод { @Выбор и_или = @0[kaj] @0[aux] @0[sed] ; @Выбор и_или = @0[и] @0[или] @0[но] ; } @Перевод { @Выбор _Ne = @0[ne] @00; @Выбор _Ne = @0[не] @00; } @Перевод { @Выбор _No_p = @0[ne] @00; @Выбор _No_p( падеж &Падеж ) = @0[не] @00; @Таблица( @Выбор, = падеж Падеж ) { 1 = Р ; 2 = И ; } } @Перевод { @Выбор _No1_p = @0[ne] @00; @Выбор _No1_p( падеж &Падеж ) = @0[нет] @0[есть] ; @Таблица( @Выбор, = падеж Падеж ) { 1 = Р ; 2 = И ; } } @Перевод { @Выбор ____АТОМЫ________; @Выбор АТОМЫ; } # include <atom.h> @Перевод { @Выбор ____ПРИЛ_________; @Выбор ПРИЛ; } # include <adj.h> @Перевод { @Выбор ____НАРЕЧИЯ______; @Выбор НАРЕЧИЯ; } # include <adv.h> @Перевод { @Выбор ____ЧИСЛО________; @Выбор ЧИСЛО; } # include <num.h> @Перевод { @Выбор ____СУЩ__________; @Выбор СУЩ; } # include <sub.h> @Перевод { @Выбор ____СКАЗУЕМЫЕ____; @Выбор СКАЗУЕМЫЕ; } # include <verb_modal.h> # include <verb.h> @Перевод { @Выбор ____СКАЗУЕМЫЕ1___; @Выбор СКАЗУЕМЫЕ1; } # include <verb1.h> @Перевод { @Выбор ____IMPERATIV____; @Выбор IMPERATIV; } # include <imperativ.h> @Перевод { @Выбор ____БЕСПОРЯДОК___; @Выбор БЕСПОРЯДОК; } # include <unorder.h> @Перевод { @Выбор ____ЯДРО_________; @Выбор ЯДРО; } # include <core.h> @Перевод { @Выбор ____ЯДРО1________; @Выбор ЯДРО1; } # include <core1.h> @Перевод { @Выбор ____W_ФРАЗЫ______; @Выбор W_ФРАЗЫ; } # include <w_frasa.h> @Перевод { @Выбор ____ЗАПЛАТКИ_____; @Выбор ЗАПЛАТКИ; } # include <patch.h> @Перевод { @Выбор ____ГЛАВНЫЕ_ФРАЗЫ; @Выбор ГЛАВНЫЕ_ФРАЗЫ; } # include <main.h> @Перевод { @Структура ядро; @Структура ядро; } @Перевод { @Структура отладка = @0[debug] ; @Структура отладка = @0[отладка] ; } @Перевод { @Выбор но_догадка1 = гр_сущ_И гр_сущ_В предлог_сущ гр_наречия inf ; @Выбор но_догадка1 = гр_сущ_И( %И ) гр_сущ_В( %В ) предлог_сущ гр_наречия inf ; } @Перевод { @Структура но_догадка = @0[sed] но_догадка1 ; @Структура но_догадка = @0[но] но_догадка1 ; } @Перевод { @Структура артикль_прил = @0[la] гр_прил( @0 ) ; @Структура артикль_прил = гр_прил( %М, %О, %Т, %Ед ) ; } @Перевод { @Выбор2 догадка1 = гр_сущ_И гр_сущ_В предлог_сущ гр_наречия inf бп_сказуемое2 фраза_что фраза_обстоятельство фраза_однородный_член чем_что_то междометие но_догадка артикль_прил ; @Выбор2 догадка1 = гр_сущ_И( %И ) гр_сущ_В( %В ) предлог_сущ гр_наречия inf бп_сказуемое2( %3е, %Ед, %М, %Нет ) фраза_что фраза_обстоятельство фраза_однородный_член чем_что_то междометие но_догадка артикль_прил ; } @Перевод { @Выбор2 _догадка1 = @догадка @00; @Выбор2 _догадка1 = @догадка @00; } @Перевод { @Структура @догадка = догадка1 _догадка1 ; @Структура @догадка = догадка1 _догадка1 ; } @Перевод { @Структура2 междометие; @Структура2 междометие; } @Перевод { @Выбор _междометие = междометие @00; @Выбор _междометие = междометие @00; } @Перевод { @Структура @междометие = междометие _междометие ; @Структура @междометие = междометие _междометие ; } @Перевод { @Структура все_все = фраза_главная _фраза_добавочная ; @Структура все_все = фраза_главная _фраза_добавочная ; }