2012-04-09 4 views
1

Я искал семантический анализатор для C языка в последнее время, но не мог найти. Я нашел flex и yaccC языковых файлов для создания синтаксического анализатора. Мне удалось изменить их и создать парсер. Но теперь мне нужно выполнить следующий шаг. Буду признателен, если кто-то может указать мне на некоторые примеры семантического анализа для C и построения дерева. Любая информация о семантическом анализе также будет полезна. Я нашел несколько крошечных компиляторов C, но они используют свои собственные синтаксические анализаторы, поэтому они меня не устраивают.Семантический анализ для языка C

+0

Эта ссылка может помочь вам: http://www.cs.sjsu.edu/faculty/louden/cmptext/ – IndieProgrammer

+2

http://clang.llvm.org/ –

ответ

1

Наши DMS Software Reengineering Toolkit и его C Front End, возможно, предоставляют то, что вам нужно.

DMS предоставляет машины для анализа, деревообрабатывания и анализа программ общего назначения. Интерфейс C специализируется на языке C. Он обрабатывает много общих диалекты/вариантов C (GCC, Microsoft, Green Hills) с их темными углами, разбирает и строит ASTS, строит управление и поток данных графиков, указует, к анализу, а также глобальным графикам учета вызовов для косвенных указателей на функции.

Вы можете попытаться сделать все это самостоятельно, но вы увидите, что требуется человеко-лет, чтобы получить все это право.

Смежные вопросы