История изменений
Исправление staseg, (текущая версия) :
Никакое текстовое сравнение в лоб естественно не подойдет. Нужно построить по обоим исходникам их синтаксические деревья и сравнивать их — это наиболее очевидный и, вероятно, минималистичный вариант. Он кроме переименовывания заодно откинет всякие махинации с комментариями, форматированием и т.д.
UPD. Предложенный аноном вариант с LLVM — то же самое на готовом инструменте. Но я с IR не работал, не знаю как он генерируется, но по идее должно сработать.
Исправление staseg, :
Никакое текстовое сравнение в лоб естественно не подойдет. Нужно построить по обоим исходникам их синтаксические деревья и сравнивать их — это наиболее очевидный и, вероятно, минималистичный вариант. Он кроме переименовывания заодно откинет всякие махинации с комментариями, форматированием и т.д.
UPD. Предложенный аноном вариант с LLVM — то же самое на готовом инструменте. Но я с IR не работал, не знаю как он генерируется, но по идее, должно сработать.
Исходная версия staseg, :
Никакое текстовое сравнение в лоб естественно не подойдет. Нужно построить по обоим исходникам их синтаксические деревья и сравнивать их — это наиболее очевидный и, вероятно, минималистичный вариант. Он кроме переименовывания заодно откинет всякие махинации с комментариями, форматированием и т.д.