Сравнение исходных текстов программ путем выравнивания последовательностей токенов - page 10

А.В. Дубанов
10
Пример 4
Как следует из примеров 1 и 2, алгоритм уверенно обнаруживает
короткие идентичные фрагменты кода, несмотря на переименование
идентификаторов.
Пример 3 демонстрирует обнаружение повторяющихся паттернов,
заданных определенным чередованием идентификаторов и круглых
скобок. Очевидно, что такая идентификация сходных фрагментов яв-
ляется слишком грубой для практического применения. Кроме того,
использованная разметка не позволяет наглядно оценить взаимное со-
ответствие фрагментов кода.
В примере 4 показано обнаружение формально сходных фрагмен-
тов, имеющих, однако, различную семантику. На этом листинге пред-
ставлены тексты процедуры для вычисления факториала с мемоизацией
результата вычислений и процедуры лексического анализа выражений
1,2,3,4,5,6,7,8,9 11,12,13
Powered by FlippingBook