Как Xcode узнает, какие символы есть в проекте? - PullRequest
1 голос
/ 01 ноября 2011

Я смотрел на doxygene и заметил, что его вывод для target-C меньше оптимального, поэтому я смотрел на внутренние компоненты doxygene (в которых все синтаксические анализаторы объединены в огромный двоичный объект), а затем решил, что этоЯ собираюсь проделать большую работу, чтобы выяснить, с чего начать.

Итак, я подумал, хорошо, давайте начнем с создания словаря / дерева из исходного файла Objective-C, который, как кажется, Xcode уже делает (потому что символы в состоянии поиска).И, похоже, LLVM как-то использует «лязг».Кто-нибудь знает, как я могу вызвать "Clang", чтобы вернуть структуру символов в проекте / документе?

1 Ответ

1 голос
/ 18 января 2012

Xcode напрямую не использует двоичный файл "clang ++" для этой цели. Двоичный файл clang ++ на самом деле представляет собой очень небольшую оболочку для библиотек Clang C ++. Xcode использует libclang (оболочку C вокруг библиотек C ++) для своих нужд синтаксического анализа C ++.

Таким образом, чтобы получить нужную информацию, вам нужно будет использовать libclang. На этой странице представлены слайды и видео презентации, которую Даг Грегор (главный разработчик Clang) дал на конференции разработчиков в 2010 году под названием "libclang: Thinking Beyond the Compiler".

Многие люди в сообществе Clang выразили заинтересованность в замене парсера Doxygen clang. Так что вы не одиноки. Однако я считаю, что это не маленький проект.

...