【发布时间】:2013-05-07 10:02:10
【问题描述】:
我目前正在开发一种工具,该工具将比较两个文件并报告其差异。我想实现一个功能来比较两种方法,并报告它们是否相同(同时忽略变量名更改)。我想做的是将所有变量名标准化为 (x0,x1 ..) 或类似的东西。然后对方法进行排序(按字母顺序?),以便顺序相同。获取它们的校验和,然后比较两者。
我的问题:
如何规范化 C/C++ 文件中的变量名? 或者 您对我如何实现该功能还有其他想法吗?
问候
【问题讨论】:
-
请告诉我们您如何解析源代码...
-
是的,只是识别哪个变量使用对应哪个变量声明远非微不足道。
-
您可以根据稳定的可重复排序将“令牌”(变量名)映射到实习形式,如上所述。
-
看看CPD 多年来使用的算法。它目前使用Karp-Rabin。
-
看这里 ieeexplore.ieee.org/xpl/… 我记得 LCS 可以以某种方式使用
标签: c++ c variables gcc normalization