如果有人了解 Vera++ 或静态分析器,请通过。
如何将复杂的 C++ 规则验证机实现为静态分析器?我想实现复杂的规则,如基类中的虚函数,识别用户定义的变量,如类、结构等。变量范围如全局、本地、静态等。我非常了解 Vera++,根据我的理解,它只做令牌解析,语言的上下文需要通过脚本实现(如果语言像C++,实现的上下文可能太复杂);因为区分 a *b; (可能是类类型 a 的指针 b)或 a *b;(可能只是两个变量之间的乘法);
我什至觉得复杂规则的实现可能需要一些像状态机这样的编译器,这样脚本才能理解语言的上下文。
我的问题只是问:
我对静态分析器规则实施的理解是否正确。
你能否请指导我如何才能完成这项任务。
这些任务可以通过 tcl 的 REGEXP 来简化吗?
您是否可以建议任何特定的设计方法来实现 Solid C++ 代码分析器的良好实施。