Граф процедур: различия между версиями

Материал из WikiGrapp
Перейти к навигации Перейти к поиску
(Создана новая страница размером '''Граф процедур''' (''Call graph'') - орграф, вершины которого суть процедуры програ...)
 
Нет описания правки
 
(не показаны 4 промежуточные версии этого же участника)
Строка 1: Строка 1:
'''Граф процедур''' (''Call graph'') -
'''Граф процедур''' (''[[Call graph]]'') — [[орграф]], [[вершина|вершины]] которого суть процедуры программы, а [[дуга|дуги]]
орграф, вершины которого суть процедуры программы, а дуги
отражают возможность прямого обращения  одной процедуры к другой. В '''графе процедур''' предполагается, что все исполнения операторов вызова, обращающихся к одной и той же процедуре, приводят к одним и тем же цепочкам вложенных вызовов процедур.
отражают возможность прямого обращения  одной процедуры к другой.
В '''Г.п.''' предполагается, что все исполнения операторов вызова,
обращающихся к одной и той же процедуре, приводят к одним и тем же
цепочкам вложенных вызовов процедур.


[[Файл:Call graph.png|750px]]


Для более точного кодирования
Для более точного кодирования межпроцедурных связей используется  ''[[граф вызовов]]'', вершинами которого являются операторы вызовов процедур, а дуги отражают непосредственную вложенность вызовов. В этом графе склеены, однако, выполнения так называемых
межпроцедурных связей используется  ''граф вызовов'', вершинами
особых вызовов таких, при разных исполнениях которых могут вызываться разные процедуры.
которого являются операторы вызовов процедур, а дуги отражают
непосредственную вложенность вызовов.
В этом графе склеены, однако, выполнения так называемых
особых вызовов --- таких, при разных исполнениях которых могут
вызываться разные процедуры.




Выполнения особых вызовов расклеиваются
Выполнения особых вызовов расклеиваются в  ''[[граф зацепленности|графе зацепленности]]'', вершинами которого являются пары оператор вызова вызываемая процедура, а дуги отражают непосредственную вложенность соответствующих пар.
в  ''графе зацепленности'', вершинами которого являются пары
оператор вызова --- вызываемая процедура, а дуги отражают
непосредственную вложенность соответствующих пар.
==Литература==
==Литература==
[Касьянов/88]
* Касьянов В.Н. Оптимизирующие преобразования программ. — М.: Наука, 1988.

Текущая версия от 16:49, 1 февраля 2011

Граф процедур (Call graph) — орграф, вершины которого суть процедуры программы, а дуги отражают возможность прямого обращения одной процедуры к другой. В графе процедур предполагается, что все исполнения операторов вызова, обращающихся к одной и той же процедуре, приводят к одним и тем же цепочкам вложенных вызовов процедур.

Call graph.png

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


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

Литература

  • Касьянов В.Н. Оптимизирующие преобразования программ. — М.: Наука, 1988.