Генерация API-интерфейса для языка сценариев из существующего заголовочного файла C++
Я намерен использовать Squirrel в качестве языка сценариев для моего приложения C++. Естественно, должен быть API для взаимодействия с кодом C++ (для таких вещей, как доступ и изменение атрибутов в моей программе C++). Этот API будет состоять из нескольких классов, перечислений и функций.
Хотя есть такие утилиты, как Sqrat, которые делают привязку отдельных функций C++ к виртуальной машине Squirrel делом одной строки кода, это все еще не удовлетворительно: потребовалось бы, чтобы я создал оба класса C++ с их функциями, чтобы фактически выполнять все взаимодействие работать, и тогда мне придется поддерживать все привязки, чтобы эти функции C++ были известны в моих скриптах. Мое намерение состоит в том, чтобы убрать эти двойные накладные расходы.
Так что мне нужен инструмент, который просто взял бы уже существующий заголовочный файл, содержащий все мои классы и функции C++, и генерировал бы вызовы регистрации API из этого файла. И в то время как мы находимся в этом, конечно было бы хорошо автоматически генерировать документацию для каждой функции (не имеет значения, является ли это HTML или просто скриптом Squirrel, который содержит определения функций + комментарии или что-то еще).
Я знаю, что есть SWIG, но у него нет привязки Squirrel, и это не совсем то, что я искал бы в любом случае - в конце концов, мне нужно создать код оболочки C++, а не код Squirrel. Я видел Flex, но я не уверен, что это то, что я ищу, либо. Так есть ли какой-нибудь инструмент, который будет делать то, что я хочу (автоматизировать создание кода оболочки и документации API из заголовка C/C++)? В противном случае, я думаю, мне, возможно, придется написать свой собственный маленький синтаксический анализатор C++, который может анализировать простые определения функций и классов.