Автор | Сообщение |
|
| постоянный участник
|
Пост N: 246
Зарегистрирован: 06.02.07
|
|
Отправлено: 01.11.11 13:08. Заголовок: Утилита "список процедур/функций" в проекте (условно FuncList)
Тут продолжаем разговор про Утилиту "список процедур/функций" в проекте (условно FuncList - поскольку начал "обрабатывать по месту напильником" ее). Начало разговора - тут .
|
|
|
Ответов - 6
[только новые]
|
|
|
| постоянный участник
|
Пост N: 1909
Зарегистрирован: 12.09.06
|
|
Отправлено: 02.11.11 14:06. Заголовок: Что собираем ? Т.е. ..
Что собираем ? Т.е. что возмем в качестве заготовки проекта ?
|
|
|
|
| постоянный участник
|
Пост N: 248
Зарегистрирован: 06.02.07
|
|
Отправлено: 03.11.11 06:47. Заголовок: Я почти "доподпи..
Я почти "доподпилил напильником" FuncList из HMG Ext. (в т.ч. добавил экспорт получаемого в "Использование функций" в HTML). Как-то она мне (пока, для пробы) показалась "более ничего". :) Выложу куда-то "на поглядеть" завтра-послезавтра. Посмотри - вдруг тебе что-то больше поглянется в качестве основы? Из имевшихся предложений (см. выше по обсуждению) было: 1) FuncList (HMG Ext. \MiniGUI\UTILS) 2) Project_Analyzer (оттуда же) 3) Click! (Phil Barnett, 1999) (она у меня под XP в упор не желает работать, видимо, в чем-то неправ; и там еще С-шные модули, а не только "чистый Clipper").
|
|
|
|
| постоянный участник
|
Пост N: 1912
Зарегистрирован: 12.09.06
|
|
Отправлено: 04.11.11 21:19. Заголовок: gustow пишет: FuncL..
gustow пишет: Неплохая утилитка. Построила весь список функций из программ из заданного каталога. Пробовал установить редактор xHarbour\bin\xEditW.exe - не запускается с программой, надо здесь тоже подпиливать. PsPad тоже не вызывается нормально (по номеру строчки или имени функции), хотя в доке написано что может. Но наверно это может быть связано из-за изменений вызовов редакторов (утилита же датирована 2006 годом) и особо это неважно. И еще, уж больно медленно все делает... gustow пишет: Пришлось для нее делать описание проекта - файл проект.hpj Неправильно как то. И мои 9,5 Мб текстов проекта так и не построил... Вешается програ и все тут... gustow пишет: Нет у меня ее, не пробовал. Но для документирования проектов думаю - не то ! Нужно делать по моему все по другому. 1) Задать каталог проекта, главный модуль проекта и список внешних функций для проекта. 2) Получить список используемых PRG и список используемых функций 3) Получить список НЕ-используемых PRG и список НЕ-используемых функций 4) Комментарии по функциям нужно как то задавать в PRG-файлах, в описании функций. И получать эти описания в списке используемых/не используемых функций, причем с описанием параметров вызовов функций... Т.е. то что описано в скобках функции - типа MyFunctionXX(par1, par2, ....) Хотя эти описания могут быть и в следующей строке PARAMETERS <params,...> 5) Получить дерево вызовов функций Пока только это на первый вариант. Кто хочет добавить, приглашаю....
|
|
|
|
| постоянный участник
|
Пост N: 249
Зарегистрирован: 06.02.07
|
|
Отправлено: 06.11.11 19:22. Заголовок: Загрузил самый первы..
Загрузил самый первый "прикид" (модификация FuncList). Добавил: - экспорт всех (или только НЕвызываемых) функций/процедур в HTML (пока, для простоты; имена HTML-файлов "зашиты" в программе - тоже, конечно, "на пока") - в CalcTables.prg; - более тщательный разбор строк (пропуск коротких - "//". "*" - и длинных "/* */" комментариев и т.п.) - там же; - что-то еще (уж не упомню - видимо, мелочь) в Stack.prg. ToDo: почему-то (не понял пока) НЕ отлавливается ситуация, когда в ДВУХ .prg есть Static-функции с ОДИНАКОВЫМИ именами (ну есть такая дурка в старых проектах, с которыми пришлось иметь дело и которые делал не я; причем функции были немного разные по тексту: видимо, "экономили" время путем копипастенья - а я тут стреляйся...) Файл: http://zalil.ru/32004544 (самоудалится через 10 дней)
|
|
|
|
| постоянный участник
|
Пост N: 1915
Зарегистрирован: 12.09.06
|
|
Отправлено: 08.11.11 00:05. Заголовок: gustow пишет: Загру..
gustow пишет: цитата: | Загрузил самый первый "прикид" (модификация FuncList). |
| Проверил. 1,5 часа мои 9,5 Мб текстов проекта "Строят...." Наверно нужно что-то делать для ускорения... Навскидку: может делать не экспорт функций/процедур в HTML а просто сначала создать DBF-файлы функций/процедур , а уж потом в HTML, в DOC и т.д. делать ?
|
|
|
|
| постоянный участник
|
Пост N: 250
Зарегистрирован: 06.02.07
|
|
Отправлено: 08.11.11 07:20. Заголовок: Andrey пишет: 1,5 ч..
Andrey пишет: цитата: | 1,5 часа мои 9,5 Мб текстов проекта "Строят...." |
|
Однако... :\ Мои 1,5 Мб - минут 15. На предмет "ускорения" - посмотри в CallsTable.prg функцию FillList(), в ней проходится по списку всех .PRG, анализирует построчно, ища вызовы функций (я как раз ее в основном и дорабатывал - чтобы скипала пустые строки, комментарии, не искала в других файлах Static'и и пр.). Еще не все "замедлялки" реализованы... :) Еще же неплохо бы ловить вызовы функций из DbEdit'ов, AChoice'ов, Get'ов и пр. - а это тоже не пуп царапать :) Andrey пишет: цитата: | просто сначала создать DBF-файлы функций/процедур , |
|
Так оно сперва (опять же - см. результат, отдаваемый FillList()) и создает массив (из которого грид в окне по окончании "построения" заполняется) - а уж потом с этим массивом хоть что можно делать. Просто экспорт в HTML мне тут сходу было проще всего написать. Конечно, для последующего написания комментов лучше в RTF, DOC (да хоть в XLS) загонять... Но пока хоть так - на посмотреть/напечатать.
|
|
|
|