Preview: XMLScriptEngine

XMLScriptEngine - библиотека на AS3 (Action Script 3), позволяющая интерпретировать XML-файлы как скрипт, исполняющийся в некотором окружении.

Пример - Исходный код примера

Возможности библиотеки:

  • Вычисление конструкций произвольной степени вложенности
  • Поддержка условий и циклов
  • Вызов функций у объектов окружения.
  • Добавление собственных функций.

Личные впечатления от процесса создания: очень хотелось сделать скриптовый язык для описания поведения объектов в GameMaker2Flex (движок для создания игр) - в том числе, для того, чтобы пользователи могли кастомизировать игру под себя. Ну, еще для того чтобы не писать много объектов, различающихся одним-единственным параметром (пример: блоки разных цветов в Арканоиде)

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

И еще: приятно все-таки, что первый полностью написанный мной интерпретатор(!) укладывается в 200 строк кода(!). Основные причины - готовое XML-дерево + возможность обращаться к переменным и функциям в AS3 по именам.

Комментариев: 1

  1. Владимир пишет:

    Уважаемый Владислав Игоревич !
    Какие ограничения существуют для Вашего замечательного XMLScriptEngine по максимальному количеству
    циклов в итерациях. Например : for (var i=0; i<4000000 ; i++)
    if (i==30000)
    printf(”Прокрутил {0} “, i );
    Я могу “прокрутить” цикл не более 30 000 раз. Для решения моих прикладых задач этого крайне недостаточно (решение задач идентификации). Вы не можете нам помочь с этой проблемой ?
    С уважением,
    Владимир Петрович,
    Алмату, Казахстан

Оставьте свой отзыв!

Вам нужно войти, чтобы оставить комментарий.