我最近一直在为C
语言搜索语义分析器,但找不到任何语义分析器。我找到了flex
和yacc
C
语言文件来生成解析器。我设法修改它们并生成一个解析器。但现在我需要执行下一步。如果有人能指出C
的语义分析和构建树的一些例子,我将不胜感激。任何有关语义分析的信息都会有所帮助。我找到了一些很小的C
编译器,但是他们使用自己的解析器,所以他们没有把我包起来。
答案 0 :(得分:1)
我们的DMS Software Reengineering Toolkit及其C Front End可能会提供您所需要的内容。
DMS提供通用解析,树构建和程序分析机制。 C前端专门针对C语言进行了专门设计。它处理C(GCC,Microsoft,Green Hills)的许多常见方言/变体及其暗角,解析和构建ASTS,构建控制和数据流图,点到分析以及考虑间接函数指针的全局调用图。
你可以尝试自己做所有这些,但你会发现要做到这一切需要一年多的时间。