Текущий архив: 2002.12.26;
Скачать: CL | DM;
ВнизПарсер PAS/DPR/DPK+-DFM Найти похожие ветки
← →
msts (2002-12-06 10:33) [0]Народ, может кто сталкивался с задачей анализа исходников Delphi?
Нужно получить списки используемых юнитов, связи между ними, где и какие используются классы, где они описаны и т.п.
Может компонент есть какой?, т.е. у которого можно спросить на какие юниты ссылается загруженный, какие в нем описаны классы, где они используютя еще.
ps: нужно для анализа исходников с целью их оптимизации, ну а файлов наберется ~18000 соответсвенно ручная обработка некатит
← →
Skier (2002-12-06 10:38) [1]>msts
> нужно для анализа исходников с целью их оптимизации
Ого! Да тебя после этого сразу в Borland возьмут работать. :))
По существу имею сказать следущее
В книге Марко Кэнту есть пример по построению иерархии классов
Delphi. Посмотри, может пригодиться...
← →
msts (2002-12-06 10:54) [2]Не, пока решается количесвенная задача а не качественная
Например в системе есть 5 юнитов которые проще было бы объеденить в один а как это узнать? только собрав статистику
или например система состоит и ядра, набора сервисов ну и прикладной части - задача определить какие функции нужно выделить в отдельный сервис (по частоте использования) соответсвенно есть набор юнитов которы желательно объеденить в один пакет опять же как это определить?
Еще со временем появилось дублирование функций/объектов - тоже нужен анализ.
Далее люди приходят - уходя - годы идут, щас даже трудно сказать на что система способна - никто не знает Ж)
← →
Игорь Шевченко (2002-12-06 10:58) [3]Я занимаюсь аналогичным поиском....К сожалению, безуспешным...
Мне нужно что-то вроде declared but never used на уровне всего проекта.
Взаимосвязь между unit"ами есть в GExperts
(www.gexperts.org)
← →
Skier (2002-12-06 11:07) [4]А механизмы определния недостижимого кода, неиспользуемых переменных, методов и т.д. из теории компиляторов не подойдут ?
(Это просто в качестве гипотезы...)
← →
DarkGreen (2002-12-06 11:46) [5]2 Игорь Шевченко ©
К сожелению GExpert есть только под 5 делфи, а вот под 6 нету :-(
Иль я не прав?
← →
MBo (2002-12-06 11:56) [6]DarkGreen
есть
← →
Игорь Шевченко (2002-12-06 11:58) [7]Даже под Delphi 7 есть
← →
msts (2002-12-06 11:59) [8]Это в будущем ща нужно просто выполнить ту же работу по парсингу текста что и дельфа - с учетом перекрытий пространств имен одного юнита другим и тому продобное
вот тока нету даже полного описания синтаксиса
например как часто используется конструкция
type
IMyInterface = interface
procedure P1;
procedure P2;
end;
TMyImplClass = class
procedure P1;
procedure P2;
end;
TMyClass = class(TInterfacedObject, IMyInterface)
FMyImplClass: TMyImplClass;
property MyImplClass: TMyImplClass read FMyImplClass implements IMyInterface;
procedure IMyInterface.P1 = MyP1;
procedure MyP1;
end;
а? вот и я тоже только один раз и то попробовал
Страницы: 1 вся ветка
Текущий архив: 2002.12.26;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.009 c