我试图找到一些语义差异/合并实用程序的好例子。比较源代码文件的传统范例是通过比较行和字符来工作的。但是在比较文件时是否有任何实用程序(适用于任何语言)实际考虑代码结构?
例如,现有的差异程序将报告“在第 125 行的字符 2 处发现差异。文件 x 包含 void,其中文件 y 包含布尔值”。一个专门的工具应该能够报告“方法的返回类型 doSomething() 从 void 更改为 bool”。
我认为这种类型的语义信息实际上是用户在比较代码时所寻找的,并且应该是下一代编程工具的目标。可用工具中有这方面的例子吗?