Skip to content

Python-like интерпретируемый язык программирования с динамической типизацией

Notifications You must be signed in to change notification settings

chetvertakov/Mython

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Mython

Mython - интерпретатор Python-подобного программирования. Язык является динамически типизированным, поддерживает классы, наследование. Все методы в классах по умолчанию виртуальные.

Работа с интерпретатором

Подготовьте файл с корректным кодом на языке Mython. Запустите исполняемый файл Mython (Mython.exe в Windows) с двумя параметрами : <имя входного файла с кодом> , <имя выходного файла для вывода результата> Если программа синтаксически корректна - в выходной файл будет выведен результат работы программы. Если в программе есть ошибки - в консоль будет выведена информация об ошибках.

Синтаксис языка Mython

Раздел в разработке...

(примеры программ на языке Mython можно найти в тестах в файле parse_test.cpp)

Сборка и установка

Для сборки программы необходим компилятор С++ поддерживающий стандарт не ниже С++17 и установленная утилита CMake

Сборка с помощью CMake

  1. Создайте папку для сборки программы
  2. Откройте консоль в данной папке и введите в консоли : cmake <путь к файлу CMakeLists.txt>
  3. Чтобы отключить сборку тестов добавьте к предыдущей команде ключ : -DTESTING = OFF
  4. Введите команду : cmake --build .
  5. После сборки в папке сборки появится папка Release с исполняемым файлом Mython.exe и, возможно, другими исполняемыми файлами, в зависимости от опции сборки тестов.
  6. Для запуска тестов введите в консоли : ctest После этого результаты работы тестов отобразятся в консоли.

Использование интерпретатора

  1. Подготовьте в папке с интерпретатором Mython файл с исходным кодом на языке Mython (например "test.my")
Пример корректного файла test.my - программа вычисляющая НОД(наибольший общий делитель)
class GCD:
 def __init__():
   self.call_count = 0

 def calc(a, b):
   self.call_count = self.call_count + 1
   if a < b:
     return self.calc(b, a)
   if b == 0:
     return a
   return self.calc(a - b, b)

x = GCD()
print x.calc(510510, 18629977)
print x.calc(22, 17)
print x.calc(100, 30)
print x.call_count
  1. Запустите интерпретатор Mython - в качестве первого аргумента - файл с программой на исполнение, в качестве второго - файл для вывода результата :
./Mython test.my out.txt
  1. В папке создатся файл out.txt в котором будет результат работы программы.
Пример вывода в файл `out.txt` для программы выше:
17
1
10
124

About

Python-like интерпретируемый язык программирования с динамической типизацией

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published