Skip to content

whiteand/MyInterpreter

Repository files navigation

MyInterpreter

Мой интерпретатор: Пробую себя в поприще разработки языков программирования.

Цель

Разработать язык программирования и интерпретатор к нему

Результат. Грамматика языка

<прог> ::= { <сп.оп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

Результат. IDE с подсветкой синтаксиса

Результат. Работа программы написанной выше

Поиск первых N простых чисел

About

Мой интерпретатор: Пробую себя в поприще разработки языков программирования.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published