Preview: XMLScriptEngine
XMLScriptEngine - библиотека на AS3 (Action Script 3), позволяющая интерпретировать XML-файлы как скрипт, исполняющийся в некотором окружении.
Возможности библиотеки:
- Вычисление конструкций произвольной степени вложенности
- Поддержка условий и циклов
- Вызов функций у объектов окружения.
- Добавление собственных функций.
Личные впечатления от процесса создания: очень хотелось сделать скриптовый язык для описания поведения объектов в GameMaker2Flex (движок для создания игр) - в том числе, для того, чтобы пользователи могли кастомизировать игру под себя. Ну, еще для того чтобы не писать много объектов, различающихся одним-единственным параметром (пример: блоки разных цветов в Арканоиде)
По логике язык пришлось сделать похожим на Лисп - скрипт представляет из себя последовательность вызовов функций. Параметром каждой функции может быть либо атомарное значение, либо результат вызова другой функции. Именно здесь я смог оценить мощь XML - в противном случае пришлось бы еще парсер писать.
И еще: приятно все-таки, что первый полностью написанный мной интерпретатор(!) укладывается в 200 строк кода(!). Основные причины - готовое XML-дерево + возможность обращаться к переменным и функциям в AS3 по именам.
14 Май 2010 в 10:51 дп
Уважаемый Владислав Игоревич !
Какие ограничения существуют для Вашего замечательного XMLScriptEngine по максимальному количеству
циклов в итерациях. Например : for (var i=0; i<4000000 ; i++)
if (i==30000)
printf(”Прокрутил {0} “, i );
Я могу “прокрутить” цикл не более 30 000 раз. Для решения моих прикладых задач этого крайне недостаточно (решение задач идентификации). Вы не можете нам помочь с этой проблемой ?
С уважением,
Владимир Петрович,
Алмату, Казахстан