metaclass: (Default)
[personal profile] metaclass
А вот скажите, есть ли какая-нибудь вариация diff, умеющая не только сравнивать текст, а кроме того, еще и пользоваться информацией о структуре или смысле этого текста?
Например, сравнение двух исходников было бы намного гуманнее, если сначала их оба отпарсить в AST, а потом только сравнивать - сразу прекратились бы всевозможные заморочки типа "поменяли порядок расположения методов, переформатировали код - diff показывает хрень".
Если сравнивать что-то вроде таблиц БД, то очевидно, что сначала надо сравнить их метаданные, построить (возможно, при помощи человекопользователя) трансформацию одной таблицы в другую, а потом уже с ее учетом сравнивать, "что изменилось в записях".
В принципе, наверно можно такое сделать, прикрутив между diff и файлами какие-то промежуточные фильтры.

Date: 2010-11-21 01:02 pm (UTC)
From: [identity profile] denisioru.livejournal.com
Я с этим не спорю, просто тогда надо будет писать свой компилятор на каждый язык, исходники которого будешь сравнивать. Или брать исходники компилера и точить свой инструмент из него. А чуть сложнее "сравнить XML".

Date: 2010-11-21 01:43 pm (UTC)
From: [identity profile] permea-kra.livejournal.com
Ну, есть gcc-xml, как минимум. Для F# нужно потроха компилятора смотреть, это да.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Oct. 8th, 2025 12:27 pm
Powered by Dreamwidth Studios