시맨틱 차이 / 병합 유틸리티의 좋은 예를 찾으려고합니다. 소스 코드 파일을 비교하는 전통적인 패러다임은 줄과 문자를 비교하는 방식으로 작동합니다. 그러나 파일을 비교할 때 실제로 코드 의 구조 를 고려하는 유틸리티 (모든 언어)가 있습니까?
예를 들어, 기존의 diff 프로그램은 "125 행의 문자 2에서 차이가 발견되었습니다. 파일 x에 void가 포함되어 있으며 여기서 파일 y에 bool이 포함되어 있습니다"를보고합니다. 특수 도구는 "void에서 bool로 변경된 doSomething () 메서드의 반환 유형"을보고 할 수 있어야합니다.
이러한 유형의 의미 정보는 실제로 사용자가 코드를 비교할 때 찾고있는 것이며 차세대 프로그램 도구의 목표가되어야한다고 주장합니다. 사용 가능한 도구에 이에 대한 예가 있습니까?