140 likes | 277 Views
Разработка языка сценариев для систем виртуальной реальности. А.А. Безгодов А.Ю. Тропченко. Проблема. Рост сложности приложений Рост времени компиляции ( > 30 мин ) Рост сложности и времени разработки Рост стоимости Необходимость расширения функциональности приложения после выпуска.
E N D
Разработка языка сценариев для систем виртуальной реальности А.А. Безгодов А.Ю. Тропченко
Проблема • Рост сложности приложений • Рост времени компиляции (>30 мин) • Рост сложности и времени разработки • Рост стоимости • Необходимость расширения функциональности приложения после выпуска
Решения • Распределенная сборка проектов • У конечных пользователей нет исходных текстов • Сложность разработки • Программные модули (plug-ins) • Сложность разработки модулей • Языки сценариев • Низкая производительность • Совместное использование всех 3-х подходов
Языки сценариев • Lua • MEL (Maya embedded language) • Unreal Script • Angel Script • Quake C
Цели и требования • Синтаксис С • Динамическая типизация • Типы данных: • Null • Float, Integer • Vector • String • Поддержка типов данных на уровне VM • Легкость встраивания в главное приложение
Пример кода 0! = 0 1! = 1 2! = 2 3! = 6 4! = 24 5! = 120 6! = 720 7! = 5040 8! = 40320 9! = 362880
Память и адресация • Основная память • Стек • Общее адресное пространство: • [ 0 | address ] – основная память • [ 1 | offset ] - стек
Вызов функций STACK STACK STACK STACK STACK STACK STACK STACK STACK STACK TOP STACK BASE
Заключение • Массивы, списки, деревья и другие контейнеры • Структуры данных • Параллельное выполнение • Инструменты: • Отладчики • Профайлеры