Мой интерпретатор: Пробую себя в поприще разработки языков программирования.
Разработать язык программирования и интерпретатор к нему
<прог> ::= { <сп.оп1> }
<сп.оп1> ::= <сп.оп>
<сп.оп> ::= <оператор> ;
<сп.оп> ::= <сп.оп> <оператор> ;
<оператор> ::= <присв>
<оператор> ::= <ввод>
<оператор> ::= <вивод>
<оператор> ::= <ум.перехід>
<оператор> ::= <цикл>
<ввод> ::= read ( <сп.ідент1> )
<сп.ідент1> ::= <сп.ідент>
<сп.ідент> ::= , ід
<сп.ідент> ::= <сп.ідент> , ід
<вивод> ::= write ( <сп.виводу1> )
<сп.виводу1> ::= <сп.виводу>
<сп.виводу> ::= <елем.виводу>
<сп.виводу> ::= <сп.виводу> , <елем.виводу>
<елем.виводу> ::= рядок , ід
<присв> ::= ід := <вир1>
<вир1> ::= <вир>
<вир> ::= <терм1>
<вир> ::= <вир> + <терм1>
<вир> ::= <вир> - <терм1>
<терм1> ::= <терм>
<терм> ::= <множ>
<терм> ::= <терм> * <множ>
<терм> ::= <терм> / <множ>
<множ> ::= ( <вир1> )
<множ> ::= константа
<множ> ::= ід
<ум.перехід> ::= if <лог.вир1> then <оператор> else <оператор> end
<лог.вир1> ::= <лог.вир>
<лог.вир> ::= <лог.терм1>
<лог.вир> ::= <лог.вир> or <лог.терм1>
<лог.терм1> ::= <лог.терм>
<лог.терм> ::= <лог.множ>
<лог.терм> ::= <лог.терм> and <лог.множ>
<лог.множ> ::= <відношення>
<лог.множ> ::= [ <лог.вир1> ]
<лог.множ> ::= not <лог.множ>
<відношення> ::= <вир> <знак-порівняння> <вир1>
<знак-порівняння> ::= >
<знак-порівняння> ::= <
<знак-порівняння> ::= >=
<знак-порівняння> ::= <=
<знак-порівняння> ::= =
<знак-порівняння> ::= !=
<цикл> ::= do while <лог.вир1> <сп.оп1> end
Поиск первых N простых чисел