PUDGB - Pascal Units Dependency Graph Builder

Планы, идеология, архитектура и т.п.

Модератор: Модераторы

Re: PUDGB - Pascal Units Dependency Graph Builder

Сообщение Cheb » 05.10.2017 10:35:23

Наконец-то заработало! :D

Отловил забытую отладочную связь, ведшую из глубин Vampyre Imaging обратно к модулю, использующему её.

Всё не так плохо, как я боялся: если выкинуть Vampyre Imaging, то модулей в графе остаётся девять штук, из которых половина - вспомогательные чепуховинки, остальные - с классами фреймворка. Вся мякотка - в конских размеров модуле cl_cge. Фреймворки используют её, но и она должна знать, что такое фреймворк.

Total units: 62
Total founded units: 39
Total units with Implimentation uses: 14
Total units in loops: 29
Total dependencies: 185
Total dependencies in loops: 66
Implimentation uses can be move to interface in ImagingUtility;

Изображение
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Re: PUDGB - Pascal Units Dependency Graph Builder

Сообщение zub » 05.10.2017 11:22:19

ашипки поправлю, спасибо.

>>Всё не так плохо, как я боялся
Я бы поспорил. С точки зрения компилятора все 29 юнитов в циклических зависимостях можно слить в один, т.к. при усес одного из них остальные подтянутся автоматом. Хотя если разбивка по модулям только для удобства програмиста и повторное использование не планируется, то пофиг
zub
долгожитель
 
Сообщения: 2884
Зарегистрирован: 14.11.2005 23:51:26

Re: PUDGB - Pascal Units Dependency Graph Builder

Сообщение Cheb » 08.10.2017 15:00:51

Ядро моего движка - абсолютно монолитическая вещь, основной модуль построен в си-стиле и насчитывает 67 {$include}'ов многие из котрых - огромные и имеют собственные инклюды.
Те модули, что тут присутствуют в диаграмме - вынесены наружу чисто для удобства меня, один класс на модуль, чтобы не разносить объявление с реализацией. Некоторые из них имеют свой зоопарк инклюдов.

Инструмент - бесценный, спасибо :)
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Re: PUDGB - Pascal Units Dependency Graph Builder

Сообщение zub » 10.10.2017 01:43:33

>>Инструмент - бесценный, спасибо
Моего тут совсем немного. Спасибо fcl-passrc, AGraph и особенно graphviz.

На этом моя фантазия уже точно иссякла)) Разве что прилепить сохранение настроек в файл, чтоб не перебивать всё при каждом старте
zub
долгожитель
 
Сообщения: 2884
Зарегистрирован: 14.11.2005 23:51:26

Re: PUDGB - Pascal Units Dependency Graph Builder

Сообщение Cheb » 10.10.2017 11:33:48

>Моего тут совсем немного.
Ото того, что она - суп из топора, она не перестаёт быть бесценной :D

>прилепить сохранение настроек в файл
Лучше в *разные* файлы, подобно проектам в Лазаре. Чтобы можно было переключаться туда-сюда, туда-сюда между несколькими проектами :roll:
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Re: PUDGB - Pascal Units Dependency Graph Builder

Сообщение Researching » 01.11.2018 12:18:44

ВНИМАНИЕ!!!!!!!
Сервис прекращает свою работу с 01.11.2018
За помощью с миграцией обращайтесь по e-mail: support@shamangrad.net
Researching
незнакомец
 
Сообщения: 2
Зарегистрирован: 01.11.2018 11:47:12

Re: PUDGB - Pascal Units Dependency Graph Builder

Сообщение Cheb » 18.11.2020 06:18:39

Ранее скачанное приложение оказалось утрачено при ремонте ноутбука.
Пытался скачать заново - ссылка дохлая. Нет такого файла.
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Re: PUDGB - Pascal Units Dependency Graph Builder

Сообщение zub » 18.11.2020 07:37:39

Я дружно переехал на гитхаб, поправил нульпост
https://github.com/zamtmn/pudgb
zub
долгожитель
 
Сообщения: 2884
Зарегистрирован: 14.11.2005 23:51:26

Re: PUDGB - Pascal Units Dependency Graph Builder

Сообщение Cheb » 18.11.2020 16:42:58

Уря :D [потирает лапки]

..давится вложенными комментариями { { } }, которые и фпц и лазарь жрут, не морщаясь.
Ну, заодно их выполю, ибо непорядок.

Добавлено спустя 27 минут 3 секунды:
.. ан нет, подавился описанием регистров в конце asm блока.
Бычит "expected semicolon" на левую квадратную скобку :(
Код: Выделить всё
      asm
        mov ecx, ptsc
        rdtsc
        mov [ecx], eax
        mov [ecx + 4], edx
      end ['ecx', 'eax', 'edx'];


.. а в одном месте бычит на точку в объявлении метода класса, явно не распознав его, как таковой.

В результате - граф моего поделиЯ явно неполный, в неём нет одного из самых используемых модулей... Но даже так... О Ктулху милосердный, какой взрыв на макаронной фабрике на три fullHD в ширину... :shock:
[убегает с воплями ужаса "полный граф фтагн!" ]
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Re: PUDGB - Pascal Units Dependency Graph Builder

Сообщение zub » 18.11.2020 20:04:57

Надо пересобрать с новым fcl-passrc, возможно там это все уже поправлено.
Модули которые нераспарсились в выхлоп не попадают, поэтому можно временно для графа в них оставить только усесы, остальное закоментить
zub
долгожитель
 
Сообщения: 2884
Зарегистрирован: 14.11.2005 23:51:26

Re: PUDGB - Pascal Units Dependency Graph Builder

Сообщение zub » 09.02.2022 10:09:34

Небольшие правки и пре-релиз 0.99.2
- поддержка HiDPI
- задан путь по умолчанию к конфигам Lazarus
- я не понял как передать в сканер флажок po_IgnoreUnknownResource, поэтому собрал бинарник с модифицированным fcl-passrc. инклуды ресурсов игнорируются
- приложил архив dottoxml (пригодится например для экспорта в Yed)

https://github.com/zamtmn/pudgb/releases/tag/0.99.2
zub
долгожитель
 
Сообщения: 2884
Зарегистрирован: 14.11.2005 23:51:26

Re: PUDGB - Pascal Units Dependency Graph Builder

Сообщение zub » 06.01.2023 11:13:14

Версия 0.99.3
-немного реорганизовал настройки
-добавил "Directly uses" - в граф попадают только юниты имеющие "Dest unit" в своем uses
-сохранение/загрузка настроек программы/проекта

https://github.com/zamtmn/pudgb/releases/tag/0.99.3
zub
долгожитель
 
Сообщения: 2884
Зарегистрирован: 14.11.2005 23:51:26

Пред.

Вернуться в Разработки на нашем сайте

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Рейтинг@Mail.ru