Re: Анализ чужих исходников
От: damiryaka  
Дата: 21.11.05 22:58
Оценка:
Здравствуйте, beroal, Вы писали:

B>Здравствуйте, damiryaka, Вы писали:

D>>Уважаемые! как вы думаете не изобрёл ли я велосипед?:
D>>написал небольшую программку ,
D>>которая, анализируя текстовый файл (исходник на языке С ), строит дерево, в котором потом можно сворачивать логические (операторные и не только) блоки исходника, чтобы они не мешались при дальнейшем анализе.
B>здесь
Автор:
Дата: 17.11.05
обсуждалось похожее. Называется ProgramTree. скриншоты.

А что-нить бесплатное найти бы. вот это было бы круто.
запустил Program Tree.
потом попытался открыть Си-шный исходник и тут меня ждал Exception. какое разочарование!
ну ничего! потом выяснилось, что это Version 1.0 Demo Trial.
надеюсь, что когда-нить выйдет вторая версия.
а вообще в этой программе есть всё, о чём я пока мечтал. вот прикольно!
значит всё же велосипед я изобрёл!

итак главная тема для продолжения.
кто возьмётся за бесплатный проект!
равнение на Program Tree!
Re[3]: Анализ чужих исходников
От: Дарней Россия  
Дата: 22.11.05 02:32
Оценка:
Здравствуйте, damiryaka, Вы писали:

D>слава Богу, что и это уже есть. то есть скоро будет, как обещал уважаемый Дарней. (смотри предыдущее сообщение)


уточню сразу
я сейчас работаю над генератором парсеров, который и надеюсь достаточно скоро довести хотя бы до беты
что касается парсера конкретно для С++, то он будет достаточно сырой. Сам понимаешь, полноценный парсер для плюсов — это оччень непростая задача.
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[3]: Анализ чужих исходников
От: Дарней Россия  
Дата: 22.11.05 02:32
Оценка:
Здравствуйте, damiryaka, Вы писали:

D>наверно мне упростит.

D>интересно, я один такой на свете?

Я тоже думаю, что представление проги в виде дерева было бы удобнее
правда, намного ценнее была бы другая фича — выделить кусок кода и получить список всех типов, от которых он зависит
этой фичи мне сейчас больше всего не хватает
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
AntiCutAndPaste
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 22.11.05 14:21
Оценка: 31 (6)
#Имя: FAQ.tools.src.anticutandpaste
Здравствуйте, swame, Вы писали:

S>Вот чего бы хотелось по теме "Анализ чужих исходников"- это анализатор,

S>показывающий куски кода сделанные по принципу Copy/Paste (с небольшими
S>изменениями) для дальнейшего рефакторинга.
S>Меня такая штука интересует для Delphi.
S>Или кто знает что-то готовое ?

http://www.anticutandpaste.com/

AntiCutAndPaste is designed to search for text fragments that have been copied and pasted in programming language source code or plain text. It is tested on sources from large C++, Visual Basic, Delphi, Java, and C# projects.

... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: Анализ чужих исходников
От: astranom  
Дата: 22.11.05 15:09
Оценка:
Здравствуйте, damiryaka, Вы писали:

P>>Хорошо бы было если б твоя программа к сворачиваемым блокам добавляла комментарий в их стиле.

P>>Т.е. смотришь — блок, разобрался — добавил комментарий, а он сразу добавился в код, т.е. чтобы после можно было удобно комментировать код... эдакая фича...

Уже есть в прогармме Program Tree Editor. Там можно не только смотреть код, но и редактировать. Ну и конечно же сохранять результаты. Только там не такое уж и простое дерево — используется смесь дерева и обычного аутлайнинга. Блоки {} показываются, в виде узлов. А комментарии, #if — #endif, case можно просто сжимать.

damiryaka>Предлагаю обсудить: нужно ли развитие этой идее? нужно ли выложить исходники? нужно ли написать статью?
или это проект нового велосипеда?

Не знаю как ты собираешся поступать с такими кусками кода, но если их тоже делать узлами, то ИМХО будет определённая неясность.
Что касается удобства использования, то весь чужой код я предпочитаю смотреть в виде дерева. Для набивания использую дерево, только для достаточно больших функций >50 строк. Если в файле функции маленькие, то выгод от дерева особых нет. Кроме того, дерево выглядит некрасиво, если в функции много блоков и все последовательно вложены:

{
{
{
}
}
}

а если есть хоть небольшое ветвление, то тогда дерево на 100% удобнее:
{
{
{
}
}
{
}
}

Крме того, Был здесь топик: Почему не все программисты выравнивают код?
Для программ которые показывают дерево, таких проблем в принципе нет.

Вообще идея не новая, но хорошая. До program tree editor я пользовался другой программкой, сделанной году 2000. Название точно не помню. Но там не было возможности менять код и даже скопировать выбранный блок — что жутко бесило. Обычно ведь анализ сам по себе не нужен, дальше нужно что-то делать с какой-либо часть текста.

ИМХО Добавь Сopy, Paste, coloring и у тебя уже продукт, который можно юзать.
Я лично купил Program tree editor, если сделаешь свой бесплатным может будет желающих его использовать.

P.S. Что не нравится у pte так это его пестрота. Хотя удобно когда блоки if, for разного цвета, но дерево становится похожи на новогоднюю елку — очень глаза напрягает. Лечится изменением настроек, но это большой минус.
Re: Анализ чужих исходников
От: last shinji  
Дата: 22.11.05 16:23
Оценка:
>Анализ чужих исходников

http://sourcenav.sourceforge.net/
Носок исчез в гильбертовом пространстве. Туда ему и дорога.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.