Mython
- интерпретатор Python-подобного программирования.
Язык является динамически типизированным, поддерживает классы, наследование.
Все методы в классах по умолчанию виртуальные.
Подготовьте файл с корректным кодом на языке Mython. Запустите исполняемый файл Mython (Mython.exe в Windows) с двумя параметрами : <имя входного файла с кодом> , <имя выходного файла для вывода результата> Если программа синтаксически корректна - в выходной файл будет выведен результат работы программы. Если в программе есть ошибки - в консоль будет выведена информация об ошибках.
(примеры программ на языке Mython можно найти в тестах в файле parse_test.cpp
)
Для сборки программы необходим компилятор С++ поддерживающий стандарт не ниже С++17 и установленная утилита CMake
- Создайте папку для сборки программы
- Откройте консоль в данной папке и введите в консоли :
cmake <путь к файлу CMakeLists.txt>
- Чтобы отключить сборку тестов добавьте к предыдущей команде ключ :
-DTESTING = OFF
- Введите команду :
cmake --build .
- После сборки в папке сборки появится папка Release с исполняемым файлом
Mython.exe
и, возможно, другими исполняемыми файлами, в зависимости от опции сборки тестов.- Для запуска тестов введите в консоли :
ctest
После этого результаты работы тестов отобразятся в консоли.
- Подготовьте в папке с интерпретатором 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
- Запустите интерпретатор Mython - в качестве первого аргумента - файл с программой на исполнение, в качестве второго - файл для вывода результата :
./Mython test.my out.txt
- В папке создатся файл
out.txt
в котором будет результат работы программы.
Пример вывода в файл `out.txt` для программы выше:
17
1
10
124