Page 1 of 2

Интерпретатор KolibriMath

Posted: Mon Feb 08, 2021 2:39 pm
by dozhdikov_igor
Разработал интерпретатор языка KolibriMath под Колибри. Данный язык на данном этапе рассчитан на расчеты в интерактивной среде.

Image

Последняя версия программы: 1.2.2.
Информация о версиях пишется по ходу темы.

Re: Интерпретатор Express

Posted: Mon Feb 08, 2021 5:42 pm
by dozhdikov_igor
Новая версия KolibriMath 1.0.2.

Исправления:
- при делении на ноль теперь выдает undefined;
- функция pow() теперь работает правильно.

Добавления:
- добавлены сокращенные операции присваивания: "*=", "/=", "-=", "+=";
- добавлена функция модуля abs();
- добавлена справка по языку lang().

Re: Интерпретатор Express

Posted: Mon Feb 08, 2021 8:25 pm
by maxcodehack
Сорцы в студию :-)

Re: Интерпретатор Express

Posted: Mon Feb 08, 2021 9:08 pm
by dozhdikov_igor
Я еще пока код не оформил более прилежно, чем сейчас. :)

Re: Интерпретатор Express

Posted: Tue Feb 09, 2021 7:56 pm
by dozhdikov_igor
Исходники проекта (лицензия: GNU GPL v2.0): https://github.com/Igoru99/KolibriMath

Re: Интерпретатор Express

Posted: Fri Feb 12, 2021 8:22 pm
by dozhdikov_igor
Новая версия KolibriMath 1.0.3.

Исправления:
- мелкие исправления в коде;
- запрещено отправлять строки в функции, к которым они не предназначены.

Добавления:
- добавлена возможность открытия файлов с KolibriMath (расширение *.km);
- добавлены комментарии (начинаются и заканчиваются "#");
- добавлена функция file(<путь к файлу>).

Внимание! Программа читает файл построчно, значит, в конце каждой строки не должно быть запятых и выражения следует вмещать в одну строку.
Также комментарии являются однострочными.

Re: Интерпретатор Express

Posted: Sat Feb 13, 2021 11:53 pm
by kw33
Отмечу, что уже существует EXPRESS, язык моделирования данных. Даже ГОСТ на него есть.
Ваш Express, полагаю, это собственная разработка.

Re: Интерпретатор Express

Posted: Sun Feb 14, 2021 10:23 am
by maxcodehack
Да, это он сам разработал, так что следует переименовать.

Re: Интерпретатор KolibriMath

Posted: Mon Feb 22, 2021 10:42 pm
by dozhdikov_igor
Новая версия KolibriMath 1.0.4.

Добавления:
- добавлен перенос строки;
- добавлен вывод строк.

Для добавления переноса между предложениями поставьте ';' вместо ','. Знак ',' теперь просто печатает в одну строку.
Для вывода строки просто напишите строковую константу в кавычках с разделением запятыми.

Image

Re: Интерпретатор KolibriMath

Posted: Thu Feb 25, 2021 2:09 pm
by dozhdikov_igor
Новая версия KolibriMath 1.0.5.

Добавления:
- добавлен ввод пользователя (функции input() и input(<подсказка>)).

Исправления:
- мелкие исправления в коде.

Image

Re: Интерпретатор KolibriMath

Posted: Fri Feb 26, 2021 11:58 am
by dozhdikov_igor
Новая версия 1.0.6.

Добавления:
- добавлены функции ceil(<число>), mod(<число>);
- добавлен вывод позиции символа, вызвавшего ошибку при выполнении из файла.

Image

Re: Интерпретатор KolibriMath

Posted: Tue Mar 02, 2021 4:37 pm
by dozhdikov_igor
Новая версия KolibriMath 1.1.0.

Добавления:
- добавлены блоки if и repeat;
- добавлен логический аппарат (но нет переменных логического типа, вместо них можно просто переменные числового типа брать).

Изменения:
- изменен режим чтения файла, теперь он читается посимвольно, что заставляет ставить запятые или точки с запятой в конце каждого выражения, за исключением последнего, но также теперь комментарии многострочные;
- мелкие исправления в коде.

Image

Re: Интерпретатор KolibriMath

Posted: Tue Mar 02, 2021 4:41 pm
by dozhdikov_igor
Пример программы на языке KolibriMath (версия языка 1.1.0 или выше).

Данная программа предназначена для расчета действительных корней квадратного уравнения.

Image

Re: Интерпретатор KolibriMath

Posted: Wed Mar 03, 2021 9:04 am
by Kenshin
Очень здорово получается) Хорошо бы интерпретатор в официальную сборку включить.

Re: Интерпретатор KolibriMath

Posted: Wed Mar 03, 2021 11:19 am
by dozhdikov_igor
Спасибо большое за отзыв! Да, планирую закинуть как-нибудь.