Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Операционные системы > Софт
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2007, 20:25   #1
Sasvi
Новичок
Джуниор
 
Регистрация: 09.08.2007
Сообщений: 2
По умолчанию Оцените PGF-улучшенный форматизатор исходных текстов Pascal + Delphi программ.

FreeWare (бесплатно), предлагается пакет PGF (Pascal-programs Graphical Formatter), выполняющий улучшенное форматирование исходного кода Pascal и Delphi программ.
Сформулирован новый подход к форматированию исходных текстов (кодов) программ, который был назван графическим форматированием. Основные этапы данного подхода: последовательное выделение из текста отдельных модулей (подпрограмм и функций); их целостный и всесторонний структурный анализ; вывод форматированного текста, визуализирующего выявленную структуру модуля, с максимальным добавлением вспомогательных комментариев структурного характера.
На базе этого подхода разработан пакет PGF (Pascal-programs Graphical Formatter) выполняющий улучшенное форматирование исходного кода Pascal и Delphi программ. Надеюсь, он понравиться программистам.
Несколько слов более подробно о графическом форматировании.
При программировании собственных и анализе чужих модулей, особенно если в модуле более 150-200 операторов, было бы неплохо, при анализе исходного кода программ иметь возможность:
1. Для любого оператора, НА ЕГО ЖЕ СТРОКЕ, наглядно видеть не только то, на какой глубине вложенности он находится (имеющиеся редакторы и форматизаторы это обеспечивают), но и какими операторами эти блоки созданы (при глубине вложенности более 4-5 уровней приходится часто перелистывать наверх, чтобы уточнить, каким оператором порожден данный блок).
2. На границах операторных скобок BEGIN / END иметь АВТОМАТИЧЕСКИ обновляемую информацию о местоположении соответствующего элемента.
3. При каждом END, закрывающем операторную скобку BEGIN / END, иметь АВТОМАТИЧЕСКИ обновляемый комментарий с информацией о породившем операторную скобку операторе. Опять приходится перелистовать наверх, когда подряд стоят несколько END. Ручные комментарии, если они и были созданы при написании, при отладке быстро становятся неточными.
4. Для меток и операторов передачи управления, в том числе незаслуженно забытого GOTO, НА ИХ ЖЕ СТРОКЕ, иметь информацию о том, на какой уровень вложенности осуществляется переход, является ли переход допустимым, где расположена цель перехода. Для метки должна указываться информация о количестве и допустимости переходов на нее и о точном их местоположении.
5. Многострочные переходящие комментарии обычно выделяются цветом. Это часто бывают участки программ, временно отключённых при отладке. Чтобы не путать с активным текстом, лучше их как-то дополнительно выделять.
6. Если в условных операторах или в операторах цикла обрабатывается один оператор, то здесь подразумеваются неявные операторные скобки. Это иногда приводит программистов к ошибкам при анализе структуры. Чтобы застраховаться от этого, предлагается все неявные операторные скобки сделать явными, путем АВТОМАТИЧЕСКОГО добавления BEGIN / END. Тогда структура программы, которую видит программист, будет идентична структуре, реализуемой транслятором. Это также даст положительный эффект в оформлении блоков. Раз BEGIN стоит везде, то его информационная ценность почти нулевая, и его можно убрать в конец строки породившего блок оператора. Заголовком блока станет легко читаемая строка породившего этот блок оператора, поскольку ни BEGIN, ни сдвинутое вправо тело блока его не заслоняют. Этим также закончится спор о том, выделять BEGIN в отдельную строку или нет.
7. При отладке часто нарушается согласованность (BEGIN / END) и (REPEAT / UNTIL) (ошибочно добавлен / удален лишний BEGIN или END), о чем транслятор дает сообщение в конце программы. Если в программе несколько подпрограмм и отладка проводилась в некоторых из них, то становится сложно локализовать ошибку. Было бы желательно, чтобы АВТОМАТИЧЕСКИ осуществлялся структурный анализ каждой программы и подпрограммы; при обнаружении несогласованных BEGIN / END находить в коде программы наиболее вероятные места для добавления недостающих END / UNTIL, и добавлять их в эти места с соответствующим предупреждающим сообщением. Это обеспечит: во-первых локализацию ошибки в пределах одного модуля; во-вторых в самом модуле в одном из вероятных мест будет уже добавлен недостающий оператор, и программист, сравнив реальную визуализованную структуру с задуманным алгоритмом, может или оставить этот оператор на этом месте, или перенести оператор в другое место. Это значительно проще, чем искать причину по всему тексту.
Данный подход и его конкретная реализация для Pascal и Delphi программ выноситься на обсуждение. Ваши замечания и предложения, за что всем заранее спасибо, будут зафиксированы, а затем, по мере возможности, учтены и реализованы в последующих версиях. В комплект поставки входят: форматизатор PGFDos.exe; исходный код Delphi-программы PGFSour.pas и ее PGFWin.exe; PGF_En.doc, PGF_Ru.doc, PGF_Ge.doc со справочной информацией на соответствующих языках.

Мои координаты: Nik: Sasvi, Email: pascal_format_gr@mail.ru
Sasvi вне форума Ответить с цитированием
Старый 16.10.2008, 00:04   #2
Роман Радер
Форумчанин
 
Аватар для Роман Радер
 
Регистрация: 16.12.2006
Сообщений: 859
По умолчанию

интересно. и где этот "комплект поставки"?
Цитата:
незаслуженно забытого GOTO
очень даже заслуженно. доказано, что без него можно обойтись, а его использование приводит к неизмеримому числу багов в программе и большую сложность отладки.
Роман Радер вне форума Ответить с цитированием
Старый 16.10.2008, 14:53   #3
Viteef
stopfake.org
Участник клуба
 
Регистрация: 03.05.2007
Сообщений: 1,927
По умолчанию

Смысл поднимать тему почти годовой давности?

Автор оставил координаты, напиши да спроси.
Viteef вне форума Ответить с цитированием
Старый 16.10.2008, 16:20   #4
Роман Радер
Форумчанин
 
Аватар для Роман Радер
 
Регистрация: 16.12.2006
Сообщений: 859
По умолчанию

Цитата:
Сообщение от Viteef Посмотреть сообщение
Смысл поднимать тему почти годовой давности?
да, точно... обсуждение было на первой странице в списке и я даже не посмотрел на дату)
Роман Радер вне форума Ответить с цитированием
Старый 17.10.2008, 21:33   #5
Vasil54
Пользователь
 
Аватар для Vasil54
 
Регистрация: 02.10.2008
Сообщений: 11
По умолчанию Модернизация PGF 1.1

Уважаемый Роман.
Рад любому сообщению, поскольку одобрительные приносят удовольствие, а критические дают стимул для улучшения продукта = еще больше одобрительных сообщений. Относительно GOTO не настаиваю, просьба предварительно посмотреть новую версию PGF 1.1 на WWW.PRAFOR.PVT.GE
Буду рад узнать Ваше мнение.
Желаю Всего наилучшего.
Vasil54, Email:grafor.news@ gmail.com

Последний раз редактировалось Viteef; 18.10.2008 в 01:45.
Vasil54 вне форума Ответить с цитированием
Старый 18.10.2008, 01:26   #6
Роман Радер
Форумчанин
 
Аватар для Роман Радер
 
Регистрация: 16.12.2006
Сообщений: 859
По умолчанию

посмотрел. действительно интересный продукт. полезный. есть все, что надо.
Роман Радер вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Использовании Pascal для написания программ под мобильный телефон Roman Паскаль, Turbo Pascal, PascalABC.NET 3 30.05.2009 09:50
Организация программ с использованием процедур....Pascal flexo_77 Помощь студентам 1 19.12.2007 14:06
Улучшенный форматизатор исходников Pascal и Delphi. Sasvi Софт 2 10.08.2007 20:03