Интересный инструмент.Я бросил быстрый взгляд, и мне кажется, что простым решением может быть предварительная обработка исходного кода COBOL, чтобы перезаписать столбцы с 1 по 6 пробелами и обрезать все после столбца 72.
Пройдя некоторое время, янаткнулся на файл определения сканера NextToken для COBOL .Похоже, что он «с радостью» подберет токены из области порядкового номера, а также после столбца 72. Токенайзер выглядит так, как будто он имеет дело только с исходным кодом COBOL после того, как он прошел фазу обработки библиотеки компиляции (т.е. после компиляторатакие директивы, как COPY / REPLACE были обработаны).COPY / REPLACE были заданы в качестве ключевых слов, но я действительно не понимаю, как этот токенизатор будет правильно с ними обращаться, особенно когда речь идет о псевдотексте.
При работе с компилятором IBM COBOL вы можете указать опцию MDECKна компиляции, чтобы создать подходящий исходный файл для анализа.Я не знаком с другими поставщиками, поэтому не могу прокомментировать, как сгенерировать исходную колоду для манипулирования текстом.
Уровень обнаружения клонов для COBOL очень ограничен по сравнению с другими языками (например, Java).).Я подозреваю, что вам придется потратить много часов, чтобы получить что-то большее, чем простое обнаружение клонов для программ на языке COBOL.Однако это может быть очень полезным проектом, учитывая интенсивное использование вырезания / вставки кодирования в типичных программах на языке COBOL (программисты на языке COBOL часто шутят из этого: когда-либо была написана только одна программа на языке COBOL, остальные - просто ее модифицированные копии),Я желаю вам всего хорошего.