Как можно объединить компилятор внешнего интерфейса clang, чтобы проанализировать заголовки для собственных библиотек и интегрировать его с моим собственным языком, который использует LLVM в качестве внутреннего интерфейса?
Контекст: я создаю один из многих языков, которые будутиметь LLVM в качестве бэкэнда.Язык RosiVM.org должен быть чем-то вроде синтаксиса TypeScript с C ++, как иерархии классов, но с единым наследованием и интерфейсами (чистые классы, если я не ошибаюсь).Я хочу, чтобы язык мог вызываться и вызываться другими нативными (C и C ++) библиотеками.Я предполагаю, что мне нужен AST этих заголовков, чтобы я мог определить маршалинг в / из типов RosiVM, но также было бы неплохо, если бы я мог напрямую получить IR заголовка (например, объявления функций), поэтому мне не нужно излучать IR дляэти заголовки сам.