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

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