Есть ли какой-нибудь синтаксический анализатор С#, который я мог бы использовать для анализа неполного исходного кода c. Я пытаюсь реализовать инструмент анализа эволюции исходного кода кода C на основе анализа различных версий кода C. До сих пор я пытался познакомиться с antlr4 для этой цели, но, похоже, он вообще не работает с неполным кодом.
Так может ли кто-нибудь порекомендовать мне любой парсер, который мог бы это сделать.
Наш набор инструментов для реинжиниринга программного обеспечения DMS с интерфейсом C может анализировать «неполный код».
В частности, при наличии синтаксического анализатора на основе DMS DMS предоставляет как
Сложности возникают, если фрагмент использует макросы или условные операторы препроцессора. Вы можете предварительно настроить контекст синтаксического анализа с помощью необходимых определений макросов.
Конечно, DMS будет анализировать полные единицы компиляции, имеет полный препроцессор (для которого вы можете контролировать, какая часть «расширяется» по сравнению с тем, что сохраняется при разборе), а также построение таблицы символов и контроль и анализ потока данных. Последние биты применимы только к целым программам, но с некоторыми усилиями могут быть адаптированы для фрагментов программы.
Резюме:
Ира Бакстер