LINUX.ORG.RU

История изменений

Исправление AndreyKl, (текущая версия) :

Aceler уже предложил в каком то виде.

Универсальное может что то и существует, я не слышал. Но для програмного кода, на правах идеи.

Надо строить абстрактное дерево как это делают компиляторы. Это позволит соотносить строки с узлами дерева, как бы они не сдвигались.

Т.е. если хочется понимать что это одна и та же строка «по смыслу» - ну, надо вычислять этот смысл, собственно. Мне так кажется.

Комменты в программе связывать с узлом программы. Если хочется каких-то фич для текста дополнительных - добавлять их из работы с текстом.

Исходная версия AndreyKl, :

гм, как идея, я так понял у тебя код программный,

Строй АСД как это делают компиляторы. Это позволит тебе соотносить строки с узлами дерева, как бы они не сдвигались.

Т.е. если ты хочешь понимать что это одна и та же строка «по смыслу» - ну, надо вычислять этот смысл, собственно. мне так кажется.

Кажется, расстояние левенштайна которое тут ниже советовали, не очень подходит из за твоего требования различать закрывающуюся фигурную скобку.