izhevsk.ru Главная /  Программирование /  ивт тяпимт лаба
тема закрыта

Имя:
Пароль:
 зарегистрироваться | Войти через
напоминатель пароля
ивт тяпимт лаба
НОВАЯ ТЕМА правила | поиск | картинки | | | о форуме |
  Новости | Авто | Недвижимость | Работа | Бизнес | Стройка | Объявления | Совместная покупка | | |
  следующая тема | предыдущая тема
Автор Тема:   ивт тяпимт лаба   версия для печати
Glas
Рейтинг: 64/-20
-- написано 7-1-2012 01:24 Glas

Задали тут лабу:

Доработать программу первой лабораторной работы, добавив функцию анализа текста программного модуля и вывода иерархии вызовов процедур и функций.
Иерархия вызовов процедур и функций программного модуля - это схема, содержащая блоки с названиями процедур и функций, описанных в выбранном программном модуле, а так же содержит стрелки от блока процедуры (или функции) к блокам тех процедур (или функций), которые она вызывает. Иерархия вызовов процедур и функций должна быть выведена на экран в таком виде:
Далее что-то типо блок-схемы. Сижу вот и втыкаю, а как вывести эту блок-схему? А если там сотни функций???

Показать текст сообщения полностью
Flk
Рейтинг: 9/-5
-- написано 11-1-2012 10:43 Flk

quote:
Originally posted by Glas:
должна быть выведена на экран в таком виде:
Далее что-то типо блок-схемы.

У меня одного трудности с телепатией после НГ?
Flk
Рейтинг: 9/-5
-- написано 11-1-2012 10:43 Flk

quote:
Originally posted by Glas:
должна быть выведена на экран в таком виде:
Далее что-то типо блок-схемы.

У меня одного трудности с телепатией после НГ?
Glas
Рейтинг: 64/-20
-- написано 11-1-2012 22:13 Glas

quote:
Originally posted by Flk:

У меня одного трудности с телепатией после НГ?



Написал же что-то типо блок-схемы, от каждой функции стрелки к функциям которые она вызывает.
Flk
Рейтинг: 9/-5
-- написано 13-1-2012 19:28 Flk

Ну разбей поле вывода на области количеством sqrt(<кол-во ф-ий> ) по вертикали и горизонтали (для 100 ф-ций это всего лишь 10х10) в центре каждой нарисуй прямоугольник с вписанным в него именем ф-ции и соедини их стрелками.

Привел бы картинку с "типо блок-схемой" можно было бы более точный и детальный совет дать.

Glas
Рейтинг: 64/-20
-- написано 13-1-2012 23:41 Glas

Вот все-таки придется картинку вложить)))
click for enlarge 476 X 320  15,1 Kb picture

история редактирования

Flk
Рейтинг: 9/-5
-- написано 14-1-2012 01:42 Flk

Время позднее пятницы (точнее субботы уже), так что могу сильно ошибиться.

Ну вот, теперь понятнее. Если исключить вызов Ф2 из Ф3, то получим обычное дерево, если преподаватель хочет именно такой вид. При первом проходе строим дерево связей от main, добавляя к нему только новые элементы, вызываемые из известных, на втором проходе добавляем остальные связи (например обратные, как Ф2 из Ф3).
Отдельно надо решить задачу визуализации линий (т.е. исключить их слияние там, где не надо).

Если велосипед изобретать не надо, то есть такой проект "Graphviz - Graph Visualization Software" http://www.graphviz.org/ - ПО визуализации графов с открытыми исходниками.

Renegade
Рейтинг: 0/0
-- написано 14-1-2012 12:40 Renegade

Суть первой лабы неизвестна.

1. ANTRL-ом построить синтаксическое дерево и выяснить иерархию вызовов.
2. Построить дерево вызовов.
3. Сделать сериализатор дерева в SVG.
4. PROFIT!

история редактирования

Glas
Рейтинг: 64/-20
-- написано 14-1-2012 16:40 Glas

quote:
Originally posted by Renegade:

1. ANTRL-ом построить синтаксическое дерево и выяснить иерархию вызовов.
2. Построить дерево вызовов.
3. Сделать сериализатор дерева в SVG.
4. PROFIT!



И гвозди кувалдой забивать?

200x150 320x240 400x300 800x600    без переносов   
быстрый ответ   

подпись
следующая тема | предыдущая тема

Главная /  Программирование /  ивт тяпимт лаба форумы izhevsk.ru

 
 
 
 
 
© ООО "Марк" 2020
 
Интернет-провайдер КК МАРК-ИТТ