Возможен ли синтаксический анализ файла заголовка C с использованием ANTLR? - PullRequest
2 голосов
/ 22 февраля 2011

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

Как определить грамматику для этих заголовочных файлов? Есть ли способ проанализировать эти включаемые файлы как простые исходные файлы?

Возможно ли объединить все эти исходные + включаемые файлы в пакет и проанализировать его с помощью ANTLR или другого синтаксического анализатора C (JavaCC).

Жду ваших добрых предложений.

1 Ответ

1 голос
/ 22 февраля 2011

Будет нелегко реализовать полную цепочку препроцессора и парсера для C. Но вы можете повторно использовать существующий препроцессор (например, gcc -E) и существующий парсер (clang -Xclang -ast-print-xml или gcc-xmlоба варианта), а затем проанализируйте простой вывод XML.

...