CLEV3R версия 1.5.0.3

Исправления:

  • исправлена небольшая ошибка интерпретатора;
  • исправлены имена переменных/функций/процедур при автоподстановке (теперь в окне подсказок имена представлены в том виде, в котором были написаны в первый раз).

Загрузить CLEV3R v1.5.0.3 (6.4Mb)!

CLEV3R версия 1.5.0.2

Немного улучшений.

Изменения:

  • несколько улучшена работа подсветки синтаксиса;
  • устранены баги свертки кода;
  • устранены ошибки интерпретатора (те, о которых писали);
  • полностью переделана система сохранения настроек;
  • при переключении вкладок курсор так же перемещается на новую вкладку, а не остается висеть на старой;
  • переделан поиск имен переменных, процедур, функций (правда пока так же только в пределах открытого файла).

Загрузить CLEV3R v1.5.0.2 (6.7Mb)!

CLEV3R версия 1.4

Функции с параметрами !!!

Наконец добавлены функции в которые можно передать некоторые параметры и так же получить что-то обратно. Возможно они покажутся кому-то не стандартными. Да, возвращение параметров из функций организованно несколько не стандартно, но это позволяет вернуть более одного значения. Пример можно увидеть ниже

c = 0
MyFirstFunc (10, 20, c)

Function MyFirstFunc (in number a, in number b, out number c)
	c = a + b
EndFunction

В данном примере реализована функция сложения двух чисел. Она собственно возвращает сумму этих чисел. В скобках можно увидеть объявление входных и выходных параметров, они обязательно объявляются с использованием ключевых слов in или out (входной, или выходной параметр), а так же указания типа параметра. Есть несколько типов — number, number[], string, string[] это соответственно число, числовой массив, строка, массив строк. Количество входных и выходных параметров не ограничено. Доступна перегрузка функций, т.е. могут быть созданы функции с одинаковыми именами, но разным количеством параметров (тип параметра при этом игнорируется).

Загрузить CLEV3R v1.4 (6.7Mb)!

CLEV3R версии 1.2 уже в эфире!

Итак, мы готовы представить вашему вниманию новую версию CLEV3R!

Что вас ждет под капотом:

  1. Исправлены некоторые неточности перевода интерфейса.
  2. Исправлено определение имён процедур в синтаксическом анализаторе — иногда наблюдалось не корректное добавление имён в авто завершение кода.
  3. Переделана логика вывода сообщений об ошибках компиляции. Теперь выводится имя файла с ошибкой и номер строки. По двойному клику происходит переход на строку с ошибкой в нужном файле. Если файл с ошибкой не открыт в приложении (например какой-либо файл .bpm), то это будет сделано.
  4. Файлы перевода интерфейса и справочника вынесены в отдельные папки. Для чего это нужно? Если вас по каким-либо причинам не устраивает перевод интерфейса/справочника — теперь вы можете сделать это самостоятельно.
  5. Добавлена возможность автоматически создавать в блоке папку с именем проекта и загружать программы непосредственно в эту папку. Для этого было введено новое ключевое слово «folder».
  6. Добавлена возможность автоматически загружать медиафайлы проекта в папку с программой. В директории программы создаётся специальная папка «Media», где будут храниться файлы изображений (.rgf) и звуков (.rsf).
  7. Если в программе используются команды по созданию и чтению текстовых файлов (.rtf, или .txt), такие файлы создаются в подпапке «Files». Важный момент — если текстовый файл не создаётся самой программой (т.е. для его создания используются сторонние редакторы), то его следует загрузить в папку «Files» самостоятельно.

Пп. 6 и 7 актуальны только в случае использования нового ключевого слова «folder», при этом не нужно прописывать полные пути для медиа и текстовых файлов, необходимо указать только имя файла (без расширения для медиа файлов, с расширением для текстовых файлов). Если программа использует новую команду «folder» и была скомпилирована без блока (т.е. хранится на компьютере), то при её загрузке в блок так же будут созданы все необходимые папки и загружены нужные медиа файлы.

Есть один нюанс — созданные в директории программы папки «Media» и «Files» не видны в файл-менеджере самого блока EV3 в силу некоторых ограничений. Это никак не влияет на работу программ, в которых есть обращения к файлам внутри этих папок. Файл-менеджер CLEV3R данные папки/файлы отображаются корректно.

Загрузить CLEV3R v1.2 (6.3Mb)!

Запуск сайта и ближайшие планы

Сайт начал свою работу — это, безусловно, хорошая новость! Мы долго шли к этому и вот наконец 🙂 Впрочем, это не главное. Хотим поделиться планами на ближайшее будущее:

1. Новое ключевое слово folder

Пример команды: folder «WRO2020». Это указание компилятору, что при загрузке файла в блок следует создать папку с именем WRO2020 и поместить туда программу. По аналогии с EV3-G, если есть microSD-карта, то программа будет загружена на неё (либо в память блока, если карты нет). Если данная конструкция отсутствует в коде, то загрузка будет происходить по привычному сценарию — в ту директорию, которая сейчас открыта.

2. Корректный переход по ошибкам компиляции

В данный момент переходы работают следующим образом: в панель системных сообщений выводится ошибка с указанием номера строки и позиции в строке, при двойном клике на сообщении происходит переход на соответствующую строку. Так как программа может быть собрана из нескольких файлов, то возникают неточности. Дело в том, что компилятор работает с конечным, собранным из разных файлов кодом, ошибки отслеживаются именно по нему и номера строк также выдаются согласно кода этого файла. Данный файл создаётся при компиляции и помещается в каталог с программой в подкаталог с префиксом «~», туда же помещается собранная программа с таким же префиксом (её можно открыть в редакторе и по ней отследить ошибки).

Планируется это изменить и выводить ошибки будут с учетом структуры проекта (имя файла с ошибкой, номер строки, номер позиции) — так будет легче их отслеживать.

3. Редактируемая «Справка»

Если вас по каким-либо причинам не устраивает текст или примеры в «Справке» — можно будет их отредактировать на свой вкус. Файлы в формате .xml будут вынесены в отдельную папку.

На сегодня, пожалуй, все.