プログラミング言語用の diff/merge ツールはありますか。これは、構文を認識した方法で (XML Diff Tool のように) 動作し、行ごとに比較する以上のことを行います (オプションで空白を無視します)。
私は、実際に言語の構文と区切り記号に従っているプログラム、構文の正確さを損なうことなく変更を提案するプログラム、または複数の行に分割されたステートメントをまとめるプログラムに興味があります。動作例は次のとおりです。
*追加のネスト レベルを導入する an を見つけると、数行下if(){
の右中括弧が自動的にバンドルされます。)}
* 構文要素を一緒に一致させて、ブロックを削除するような愚かなことを避けてください:
int function_A()
{
int ret;
ret = something;
ret += something_else;
return ret;
}
int function_B()
{
if(valid)
{
int ret;
ret = something;
ret += something_else;
return ret;
}
else return -1;
}
個人的には、C++ 構文を処理できるソフトウェアを見つけたいと思っていますが、他の言語のソリューションについて知ることも興味深いでしょう。