Кто-нибудь знает какую-либо библиотеку синтаксического анализатора C для .NET?
(Я собираюсь разобрать код C в некую форму графа объектов, чтобы я мог преобразовать его в другой язык.)
ANTLR может делать то, что вы хотите. Имеет препроцессор C и грамматику ANSI C.
https://github.com/antlr/grammars-v4
Правильная грамматика C99 не так уж тривиальна.Лучше использовать проверенный C-парсер (например, Clang).Можно использовать с .NET через C ++ / CLI.
Первый вариант Необработанный класс: Вы можете извлечь класс сканера и анализатора из этого приложения.Часть 1: сканер, часть 2, анализатор и часть 3, основная программа, в этом фрагменте кода:
https://www.daniweb.com/software-development/csharp/threads/453104/parsing-c-code-using-c