Sto cercando di trovare alcuni buoni esempi di utilità semantiche diff / merge. Il paradigma tradizionale del confronto dei file del codice sorgente funziona confrontando linee e caratteri .. ma ci sono utilità là fuori (per qualsiasi lingua) che effettivamente considerano la struttura del codice quando si confrontano i file?
Ad esempio, i programmi diff esistenti riporteranno "la differenza trovata al carattere 2 della riga 125. Il file x contiene void, dove il file y contiene bool". Uno strumento specializzato dovrebbe essere in grado di segnalare "Il tipo restituito del metodo doSomething () è cambiato da void a bool".
Direi che questo tipo di informazioni semantiche è in realtà ciò che l'utente sta cercando quando confronta il codice e dovrebbe essere l'obiettivo degli strumenti di programmazione di prossima generazione. Ci sono esempi di questo negli strumenti disponibili?