ТОМ 0.9 бета

Материал из IFВики
Перейти к навигации Перейти к поиску

TOM logo.GIF

Общая информация

ТОМ - парсерная русскоязычная ИЛ-платформа с консольным интерфейссом: Constom.GIF

Платформа имеет язык программирования, напоминающий С++.

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

Объектная модель поддерживает линейное наследование. Есть возможность обработки событий и фоновых действий.

Консольный интерфейс не поддерживает HTML (за исключение тегов для смены цвета шрифта), но ядро ТОМа позволяет использовать как HTML разметку, так и любые другие теги. Текст, заключенный в < > прозрачен для ядра ТОМа и может быть обработан программой-интерфейсом при выводе текста.

Текущее состояние разработки

Периодически выкладываются ознакомительные альфа-версии.


В данное время доступна версия 0.2.4.1 альфа. К платформе прилагается короткая демо-игра и набор файлов-примеров по программированию.


Идет разработка версии 0.2.4.2 альфа.

Интеграция с другими программами

Платформа состоит из 2х частей:

1. Ядро - реализовано в виде динамической библиотеки .dll

2. Интерфейсная оболочка (Front-end)

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

Код ядра в настоящий момент закрыт.

Исходник консольного интерфейса constom.exe на языке C доступен для скачивания.

Милена

Первым удачным примером интеграции движка ТОМ является платформа Милена. TOM Milena.JPG


Милена может выступать как полноценный оконный интерфейс ТОМа с поддержкой 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: оконный интерфейс пока крайне сырой...