Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.48 MB
Время: 0.017 c
3-85820
ShooRoop
2002-12-06 10:05
2002.12.26
Апдейты ADO


1-85925
Nimda
2002-12-17 11:05
2002.12.26
Ne ponal.


7-86188
crush_fm
2002-10-09 22:32
2002.12.26
Температура процессора


14-86107
Ежик
2002-12-04 13:47
2002.12.26
О вреде здоровья при работе на компьютере.....


14-86079
Кокандокало
2002-12-06 14:35
2002.12.26
Чем сжимать программы на дельфи ?