Анализ чужих исходников
От: damiryaka  
Дата: 19.11.05 20:02
Оценка: 3 (1)
Уважаемые! как вы думаете не изобрёл ли я велосипед?:
написал небольшую программку ,
которая, анализируя текстовый файл (исходник на языке С ), строит дерево, в котором потом можно сворачивать логические (операторные и не только) блоки исходника, чтобы они не мешались при дальнейшем анализе.
Я знаю, что такая функция реализована в Visual Studio 2003 .NET и называется она Outlining, и может где-то ещё ,
но в моей программке строится полноценное дерево ,
а не линеаризованная в одну колонку структура.
Предлагаю обсудить: нужно ли развитие этой идее? нужно ли выложить исходники? нужно ли написать статью?
или это проект нового велосипеда?
Re: Анализ чужих исходников
От: CreatorCray  
Дата: 19.11.05 21:40
Оценка:
Здравствуйте, damiryaka, Вы писали:

D>Уважаемые! как вы думаете не изобрёл ли я велосипед?:

D>написал небольшую программку ,
D>которая, анализируя текстовый файл (исходник на языке С ), строит дерево, в котором потом можно сворачивать логические (операторные и не только) блоки исходника, чтобы они не мешались при дальнейшем анализе.
D>Я знаю, что такая функция реализована в Visual Studio 2003 .NET и называется она Outlining, и может где-то ещё ,
D>но в моей программке строится полноценное дерево ,
D>а не линеаризованная в одну колонку структура.
D>Предлагаю обсудить: нужно ли развитие этой идее? нужно ли выложить исходники? нужно ли написать статью?
D>или это проект нового велосипеда?

Встрой ее в редактор кода в VC6 и я тебе огромное спасиба скажу
Re: Анализ чужих исходников
От: bkat  
Дата: 19.11.05 21:57
Оценка: +2
Здравствуйте, damiryaka, Вы писали:

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

D>или это проект нового велосипеда?

Трудно обсуждать то, чего не пощупал своими руками.
В принципе любая вещь, которая реально помогает разобраться с иходниками, была бы очень полезной.
Но путь от идеи, до продукта, который реально помогает, а не мешает, очень долгий.

Для начала дай попользоваться другим.
Получишь отклик и сам поймешь, чего не хватает и стоит ли это развивать дальше.

Кстати, а с синтаксически неправильными программами ты тоже умеешь работать?
Re: Анализ чужих исходников
От: aik Австралия  
Дата: 20.11.05 10:42
Оценка: -1
Здравствуйте, damiryaka, Вы писали:

D>Уважаемые! как вы думаете не изобрёл ли я велосипед?:

D>написал небольшую программку ,
D>которая, анализируя текстовый файл (исходник на языке С ), строит дерево, в котором потом можно сворачивать логические (операторные и не только) блоки исходника, чтобы они не мешались при дальнейшем анализе.
D>Я знаю, что такая функция реализована в Visual Studio 2003 .NET и называется она Outlining, и может где-то ещё ,
D>но в моей программке строится полноценное дерево ,
D>а не линеаризованная в одну колонку структура.
D>Предлагаю обсудить: нужно ли развитие этой идее? нужно ли выложить исходники? нужно ли написать статью?
D>или это проект нового велосипеда?

Это вредная идея. Исходник должен быть до 1000-1500 строк, функции до 100-150 строк, а такому исходнику никакое дерево не нужно, достаточно свертки по функциям. Дерево должно быть там где ему самое место — в workspace/project/solution.

Хотя, если это реализовать, я уверен, покупатели даже найдутся, и много, только вот сырцы, разработанные с помощью такой тулзы, без нее читать глазами будет невозможно.
Re: Анализ чужих исходников
От: damiryaka  
Дата: 20.11.05 11:57
Оценка:
Здравствуйте, aik, Вы писали:

a>Это вредная идея. Исходник должен быть до 1000-1500 строк, функции до 100-150 строк, ...

жаль, что моя идея вам не поможет.
a>Хотя, если это реализовать, я уверен, покупатели даже найдутся, и много, только вот сырцы,
покупатели даже и не ищутся.
a>разработанные с помощью такой тулзы, без нее
a>читать глазами будет невозможно.
думаю тут прав bkat : сначала надо попользоваться. глядишь и глазки привыкнут.

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

b>Трудно обсуждать то, чего не пощупал своими руками....

можно пощупать. но не сейчас. пока я тока хочу выяснить, не велосипед ли это.
вот приведу в порядок проект и можно будет пощупать руками.
даже щас можно пощупать , но пока там не всё очень красиво
есть даже скриншоты, кому интересно.
http://www.hszk.bme.hu/~fm603/SourceInTreeView/about.shtml
b>...путь от идеи, до продукта,...
идея воплощена в жизнь. продуктом не назовёшь, но кое-что материальное есть.
b> Для начала дай попользоваться другим.
всё-таки вдруг велосипед. а так нет проблем! пользуйтесь.
b>Кстати, а с синтаксически неправильными программами ты тоже умеешь работать?
нет. разве ещё кто-то распространяет синтаксически неправильные исходники готовых программ?
моя программа ориентируется тока на фигурные операторные скобки и
ещё на дополнительные скобки //{ и //}, которые не мешают компилятору.
в случае, если количество открывающих скобок и закрывающих скобок не совпадает,
программа выдаёт предупреждение, но продолжает работать без проблем.
просто дерево становится незаконченным или не корректным,
что не отражается на работоспособности программы.

при желании вы можете расширить функциональность как угодно.

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

c>Встрой ее в редактор кода в VC6 и я тебе огромное спасиба скажу.

вот я как-то не очень силён в таких серьёзных вещах.
поэтому предлагаю идею с матириализованным примером.
в надежде, что кто-нить более опытный подхватит и разовьёт.
Re: Анализ чужих исходников
От: buriy Россия http://www.buriy.com/
Дата: 20.11.05 19:23
Оценка:
Здравствуйте, damiryaka, Вы писали:

D>Уважаемые! как вы думаете не изобрёл ли я велосипед?:

D>написал небольшую программку ,
D>которая, анализируя текстовый файл (исходник на языке С ), строит дерево, в котором потом можно сворачивать логические (операторные и не только) блоки исходника, чтобы они не мешались при дальнейшем анализе.
D>Я знаю, что такая функция реализована в Visual Studio 2003 .NET и называется она Outlining, и может где-то ещё ,
D>но в моей программке строится полноценное дерево ,
D>а не линеаризованная в одну колонку структура.
А кому нужно полноценное дерево? В чем преимущество этого решения перед решением MSVC 2003 .NET?
Я тебе советую посмотреть библиотеку Scintilla, основу большинства выпущенных в последнее время редакторов кода, там есть авторазвертка-автосвертка в стиле MSVC 2003 .NET....
И еще, я ни разу не видел твоего решения в реализованном виде... мне кажется, потому что оно неюзабельно...
D>Предлагаю обсудить: нужно ли развитие этой идее? нужно ли выложить исходники? нужно ли написать статью?
D>или это проект нового велосипеда?
ИМХО, дело не в том, чтобы понять "велосипед или нет"... наверняка такую штуку писали десятки людей... скорее, ее нет в реализованном виде, потому что она никому не нужна...

Увы, единственное, чего не хватает в области анализаторов программ, так это хорошего бесплатного парсера C++ в дерево в памяти, всё остальное нужное уже есть...
/bur
Re: Анализ чужих исходников
От: buriy Россия http://www.buriy.com/
Дата: 20.11.05 22:40
Оценка:
Здравствуйте, damiryaka, Вы писали:

D>Уважаемые! как вы думаете не изобрёл ли я велосипед?:


нашел http://www.javadude.com/tools/parseview/

кстати, язык для того, чтобы твой велосипед было переизобретать проще — www.antlr.org ))
/bur
Re[2]: Анализ чужих исходников
От: Дарней Россия  
Дата: 21.11.05 03:29
Оценка:
Здравствуйте, buriy, Вы писали:

B>Увы, единственное, чего не хватает в области анализаторов программ, так это хорошего бесплатного парсера C++ в дерево в памяти, всё остальное нужное уже есть...


Я сейчас как раз над этим работаю. Ибо существующие парсеры слишком усложняют понимание грамматик и их расширение а у меня есть пара идей, как можно упростить работу, ценой некоторой потери в производительности.
Надеюсь, через несколько месяцев доведу его до мало-мальски пристойного состояния.
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re: Анализ чужих исходников
От: _INDY_ Россия  
Дата: 21.11.05 07:35
Оценка:
Здравствуйте, damiryaka, Вы писали:

D>Уважаемые! как вы думаете не изобрёл ли я велосипед?:

Прочитал всю тему — очень интересно, велосипеды делают многие и у всех получается по разному, так что карты в руки.
PS: есть предложение — прикрутить так же и пасилку включения файлов, а то иногда бывает очень нужно .. и пока раскопаешь что откуда .. времени проходит достаточно много...
Per Aspera Ad Astra
Re: Анализ чужих исходников
От: Plague Россия 177230800
Дата: 21.11.05 09:27
Оценка:
Здравствуйте, damiryaka, Вы писали:

D>Уважаемые! как вы думаете не изобрёл ли я велосипед?:

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


Вот, что я думаю:
Представленный тобою продукт вызывает интерес, но мне кажется, что он пока (на данном этапе) бесполезен. Т.к. лично я смотрю код блоками, т.е. перестаю обращать внимание на то, что внутри блоков, поэтому этот инструмент не сильно упростит жизнь.

Я считаю, что лучше было бы добавить поддержку комментариев, в стиле doxygen или прочих автодокументаторов. Хорошо бы было если б твоя программа к сворачиваемым блокам добавляла комментарий в их стиле. Т.е. смотришь — блок, разобрался — добавил комментарий, а он сразу добавился в код, т.е. чтобы после можно было удобно комментировать код... эдакая фича...

Когда разобрался в коде, написал комментарий, то код как бы во многих случаях — лишняя информация (занимает место и отвлекает). Сделать так чтоб был виден код и/или комментарий. Чтоб можно читать код по _только_ комментариям, т.е. у выбранного блока выключить код.
Re: Анализ чужих исходников
От: gear nuke  
Дата: 21.11.05 12:05
Оценка:
Здравствуйте, damiryaka, Вы писали:

[]

D>или это проект нового велосипеда?


Это что-то вроде такого?
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth
Re: Анализ чужих исходников
От: beroal Украина  
Дата: 21.11.05 12:55
Оценка: 1 (1)
Здравствуйте, damiryaka, Вы писали:
D>Уважаемые! как вы думаете не изобрёл ли я велосипед?:
D>написал небольшую программку ,
D>которая, анализируя текстовый файл (исходник на языке С ), строит дерево, в котором потом можно сворачивать логические (операторные и не только) блоки исходника, чтобы они не мешались при дальнейшем анализе.
здесь
Автор:
Дата: 17.11.05
обсуждалось похожее. Называется ProgramTree. скриншоты.
Re: скопированные куски кода
От: swame  
Дата: 21.11.05 13:31
Оценка:
Имхо вещь малополезная.
Вот чего бы хотелось по теме "Анализ чужих исходников"- это анализатор,
показывающий куски кода сделанные по принципу Copy/Paste (с небольшими
изменениями) для дальнейшего рефакторинга.
Меня такая штука интересует для Delphi.
Или кто знает что-то готовое ?
Re[2]: Анализ чужих исходников
От: damiryaka  
Дата: 21.11.05 22:20
Оценка:
Здравствуйте, buriy, Вы писали:

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


Г-> D>>но в моей программке строится полноценное дерево ,

Г-> D>>а не линеаризованная в одну колонку структура.
| B>А кому нужно полноценное дерево? В чем преимущество этого решения перед решением MSVC 2003 .NET?
| ну в этом и приемущество, что от плоского(даже линейного) представления переходим в структурированное.
L_-< вот же двумя строками выше написано.

B>Я тебе советую посмотреть библиотеку Scintilla, основу большинства выпущенных в последнее время редакторов кода, там есть авторазвертка-автосвертка в стиле MSVC 2003 .NET....

отлично! спасибо. буду копать.
B>И еще, я ни разу не видел твоего решения в реализованном виде... мне кажется, потому что оно неюзабельно...
ну там ведь парой сообщений раньше есть ссылки. посмотри, если интересует. конечно, не так красиво, как у мастеров, но мой "проектик" не претендовал на коммерциализацию и ваще поддержку с моей стороны. просто велосипед хотел изобрести, с надеждой, что кто-то подхватит.
B>ИМХО, дело не в том, чтобы понять "велосипед или нет"... наверняка такую штуку писали десятки людей... скорее, ее нет в реализованном виде, потому что она никому не нужна...
парой сообщений ниже выяснилось, что это уже есть, давно и довольно развито. подобные вещи даже продают, значит покупают, значит нужно.
рад, что мир не без добрых людей.
B>Увы, единственное, чего не хватает в области анализаторов программ, так это хорошего бесплатного парсера C++ в дерево в памяти, всё остальное нужное уже есть...
слава Богу, что и это уже есть. то есть скоро будет, как обещал уважаемый Дарней. (смотри предыдущее сообщение)
Re[3]: Анализ чужих исходников
От: damiryaka  
Дата: 21.11.05 22:21
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>Надеюсь, через несколько месяцев доведу его до мало-мальски пристойного состояния.

поддерживаю!!!
Re[2]: Анализ чужих исходников
От: damiryaka  
Дата: 21.11.05 22:23
Оценка:
Здравствуйте, _INDY_, Вы писали:

_INDY_>>есть предложение — прикрутить так же и пасилку включения файлов, а то иногда бывает очень нужно .. и пока раскопаешь что откуда .. времени проходит достаточно много...
надеюсь, кто-нить подхватит. у меня не хватит ума. простите.
Re[2]: Анализ чужих исходников
От: damiryaka  
Дата: 21.11.05 22:27
Оценка:
Здравствуйте, Plague, Вы писали:

P>Представленный тобою продукт вызывает интерес, но мне кажется, что он пока (на данном этапе) бесполезен.

я тоже так думаю. В)
P>Т.к. лично я смотрю код блоками,
а вот я пока не научился.
P>т.е. перестаю обращать внимание на то, что внутри блоков, поэтому этот инструмент не сильно упростит жизнь.
наверно мне упростит.
интересно, я один такой на свете?

P>Я считаю, что лучше было бы добавить поддержку комментариев, в стиле doxygen или прочих автодокументаторов.

спасибо за информацию, буду копать.
P>Хорошо бы было если б твоя программа к сворачиваемым блокам добавляла комментарий в их стиле.
было бы хорошо, да вот тока врядли будет.
вот еси бы кто поумнее подхватил.
P>Т.е. смотришь — блок, разобрался — добавил комментарий, а он сразу добавился в код, т.е. чтобы после можно было удобно комментировать код... эдакая фича...
да, было бы очень хорошо.
Re[2]: скопированные куски кода
От: damiryaka  
Дата: 21.11.05 22:28
Оценка:
Здравствуйте, swame, Вы писали:


S>Имхо вещь малополезная.

S>Вот чего бы хотелось по теме "Анализ чужих исходников"- это анализатор,
S>показывающий куски кода сделанные по принципу Copy/Paste (с небольшими
S>изменениями) для дальнейшего рефакторинга.
S>Меня такая штука интересует для Delphi.
S>Или кто знает что-то готовое ?
наверно хорошая идея, жаль что я пока не просёк её.
Re[2]: Анализ чужих исходников
От: damiryaka  
Дата: 21.11.05 22:38
Оценка:
Здравствуйте, buriy, Вы писали:

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


D>>Уважаемые! как вы думаете не изобрёл ли я велосипед?:

B>нашел http://www.javadude.com/tools/parseview/
B>кстати, язык для того, чтобы твой велосипед было переизобретать проще — www.antlr.org ))
вот! другое дело. извини, за прошлое сообщение — недочитал до конца все ответы.
спасибо за ссылку. буду копать.
Re: Анализ чужих исходников
От: damiryaka  
Дата: 21.11.05 22:40
Оценка:
Огромное спасибо buriy, gear nuke, beroal и другим ответившим.
Особая благодарность и респекты и уважуха администрации сайта.

Администрация сайта>

Если вам пришла в голову гениальная идея, до которой пока не додумался никто другой, не торопитесь создавать трактат на эту тему. Проверьте – возможно, эта идея пришла в голову не только вам. Например, изложите ее коротко в соответствующем по тематике форуме – например, в "Философии программирования" на RSDN. Если идея не нова, вы узнаете об этом буквально за день-другой – у нас полно желающих крикнуть "Баян" по любому поводу.


вы были полностью правы.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.