ТОМ 0.9 бета
Общая информация
ТОМ - парсерная русскоязычная ИЛ-платформа с консольным интерфейссом:
Платформа имеет язык программирования, напоминающий С++.
Парсер изначально ориентирован на русский язык, не имеет ограничений на количество слов в команде, команды описываются с помощью шаблонов. Парсинг управляется функциями-проверками к шаблонам.
Объектная модель поддерживает линейное наследование. Есть возможность обработки событий и фоновых действий.
Консольный интерфейс не поддерживает HTML (за исключение тегов для смены цвета шрифта), но ядро ТОМа позволяет использовать как HTML разметку, так и любые другие теги. Текст, заключенный в < > прозрачен для ядра ТОМа и может быть обработан программой-интерфейсом при выводе текста.
Текущее состояние разработки
Периодически выкладываются ознакомительные альфа-версии.
В данное время доступна версия 0.2.4.1 альфа. К платформе прилагается короткая демо-игра и набор файлов-примеров по программированию.
Идет разработка версии 0.2.4.2 альфа.
Интеграция с другими программами
Платформа состоит из 2х частей:
1. Ядро - реализовано в виде динамической библиотеки .dll
2. Интерфейсная оболочка (Front-end)
Интерфейс между ядром и оболочкой достаточно прост, построен на нескольких функциях ядра. Любой желающий может использовать ядро платформы в своих разработках.
Код ядра в настоящий момент закрыт.
Исходник консольного интерфейса constom.exe на языке C доступен для скачивания.
Милена
Первым удачным примером интеграции движка ТОМ является платформа Милена.
Милена может выступать как полноценный оконный интерфейс ТОМа с поддержкой HTML разметки.
(поддерживаются теги <b></b>, <i></i>, <u></u>, <img></img>, <center></center>, <h1..9></h1..9>, <font></font>)
План развития платформы
v.0.2.4.2 альфа
+ использование "относительных" наименований в команде - он, она, это и т.п.;
~ исправление найденных багов;
v.0.9.0.0 бета
+ документирование;
+ примеры;
+ портирование стандартной библиотеки RTADS
~ обкатка отладочного режима;
~ бета тестирование;
v.1.0.0.0 - релиз базовой версии.
Changelog
Версия v.0.2.4.1 альфа
- добавлены средства для организации диалогов и событий;
- сообщений об ошибках в парсере вынесены в переменные и могут быть изменены;
- оптимизирован парсер;
- доработано сохранение игр;
- исправлены найденные баги.
Версия v.0.2.4.0 альфа
- добавлена возможность сохранения/восстановления игры;
- исправлены найденные баги;
Версия v.0.2.3.3 альфа
Доработки платформы:
- существенно доработан парсер;
- изменены управляющие теги;
- исправлена масса ошибок.
Доработки демоигры:
- добавлены новые объекты (ягоды и грядки во дворе)
- добавлены шаблоны для действий с объектами упомянутыми ранее;
- добавлены действия с классовыми именами;
- вероятно еще что-то… эээ не помню :)
Версия v.0.2.3.2 альфа
Добавлены относительные свойства объектов и ключевые слова actor и act.
Объектная модель платформы окончательно сформирована.
В демоигре восстановлена возможность игры любым персонажем.
Версия v.0.2.3.1 альфа
Исправлена работа конструкций языка if-else, for, while, switch-case. Фигурные скобки {} теперь необходимы только для объединения многострочных блоков. Все конструкции (за исключением switch-case) работают аналогично C. Принцип работы switch-case мною изменен, надеюсь, в лучшую сторону.
Также добавлены ключевые слова return, break, continue, работающие аналогично C.
Теперь язык платформы окончательно сформирован и позволяет разрабатывать алгоритмы любой сложности.
Документирование системы пока не начато, но начиная с этой версии в папке "Примеры" можно найти простые файлы с подробными комментариями, позволяющие освоить принципы работы платформы. Файлы, имеющие расширение .tom, открываются текстовым редактором.
Версия v.0.2.3.0 альфа
Изменения в интерпретаторе:
- добавлены конструкции циклов for и while;
- добавлена конструкция switch-case;
- изменена обработка событий, добавлены функции CheckMove, BefMove, AftMove;
- добавлена команда restart;
- формируется лог-файл, прошу присылать логи
Изменения в демоигре:
- добавлена система помощи, мышонок научился думать;
- добавлено ведение счета;
- возможность игры за разных персонажей временно убрана.
PS: оконный интерфейс пока крайне сырой...