- [ проекты | ярил 2.0 | формализация ] -

TOY Soft


[ Новости ] - [ Продукты ] - [ Поддержка ] - [ Проекты ] - [ О нас ] - [ Ссылки ]
[ Гостевая ] - [ Форум ] - [ Чат ] - [ Опрос ]



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

Дата опубликования: 13 мая 2002 года

Я бы рекомендовал обратиться непосредственно на сайт "ЯРИЛ 2.0"


Содержание

0. Условные обозначения
1. Модули
2. Исходные файлы
3. Классы
4. Свойства
5. Методы


0. Условные обозначения

Условные обозначения и правила для схематического кода:

1. Модули

  1. Модуль имеет расширение .imd
  2. Начинается со слов модуль ИМЯ;
  3. Не содержит установок объектов Среды, Проигрывателя и Игрока
  4. Не содержит объявлений объектов


2. Исходные файлы

  1. Имеет расширение .ifm
  2. Начинается со слов ярил #.#;, где #.# заменяется версией IFML (в этой редакции - 2.0)
  3. Содержит установки глобальных объектов (Среда, Проигрыватель, Игрок) и объявления объектов


3. Классы

  1. Объявление класса начинается со слов класс ИМЯ(ИМЯ_КЛАССА_РОДИТЕЛЯ);
  2. Затем идёт набор свойств
  3. Затем идёт набор методов (функций и событий)
  4. Объявление заканчивается словом конец;


4. Свойства

  1. Свойства объявляются внутри классов
  2. Свойство объявляется таким способом: ИМЯ: <тип>;. Существующие типы: Признак1 (говорит о принадлежности класса к категории), Логический, Число, Текст, объект, набор. Т.о. любое обращение к объекту ИМЯ.СВОЙСТВО расценивается как обращение к его свойству. Если такого свойства у класса нет, то оно ищется в списке категорий. Если есть в списке, то возвращается логическое значение "Ложь"; если нет, то происходит Ошибка. Если же такое свойство есть у класса и оно - типа Признак, возвращается логическая "Истина".
Свойства типов Логический, Число и Текст обозначаются такими же словами.
Тип объект заменяется именем класса объекта.
Тип набор является списком или массивом (динамическим) элементов любого типа, кроме набора. Описывается так: ИМЯ: * <тип>. (Пример: Места: * Вещь).

Примечание 1. Свойства с типом Признак могут объявляться так: ИМЯ;.



5. Методы

  1. Методы объявляются как внутри классов, так и снаружи (тогда они относятся к Среде).
  2. Методы бывают 2х типов: функция и событие (не объявляется внутри класса).
    Функция является отдельно-стоящим скриптом обработки данных (её параметров) и возвращает какое-либо значение. В принципе, является, чисто вспомогательным инструментом.
    Событие является скриптовым описанием реакции Среды на какие-либо игровые События. События бывают 2х типов: исходящими от Игрока, т.е. командами; или внутрипроцессными, т.е. происходящими при изменении свойств объектов.
  3. Метод объявляется таким способом:

Hosted by uCoz