2013-03-30 2 views
1

Я создаю язык сценариев с байт-кодовой машиной на C++ просто для удовольствия. Я планирую использовать его с редактором для простой игры. Но мне нужно изменить позиции узлов сцены, вращения и т. Д. Внутри сценария. Это означает, что я должен планировать систему связывания. Я вообще ничего не знаю о привязках и как это нужно сделать. Каковы основные подходы и методы для этого?Как создать поддержку привязок для языка сценариев

ответ

1

Если у вас есть фиксированное количество примитивных функций, которые вы хотите вызвать с вашего языка сценариев, вы можете просто добавить в них свои виртуальные машины. См., Например, Betz, «Встроенные языки», Байт # 12 (ноябрь 1988 года) 409-416 (если вы можете найти копию).

Однако более гибко связывать имена во время выполнения. Для этого вам необходимо внедрить среду для хранения глобальных переменных и функций и API для регистрации их из C. В целом, значительная часть дизайна и работы. См. Например, как Lua обрабатывает это в Passing a Language through the Eye of a Needle.

+0

Да, я думаю, что это сработает. Я могу зарегистрировать функции общего шаблона: func (std :: list аргументы). Я также могу сделать то же самое с классами: define onMethod (int, std :: list аргументы). Это будут функции-оболочки и классы. Благодарю. –

Смежные вопросы