Граф процедур: различия между версиями
Glk (обсуждение | вклад) (Создана новая страница размером '''Граф процедур''' (''Call graph'') - орграф, вершины которого суть процедуры програ...) |
KEV (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
'''Граф процедур''' (''Call graph'') - | '''Граф процедур''' (''[[Call graph]]'') - [[орграф]], [[вершина|вершины]] которого суть процедуры программы, а [[дуга|дуги]] | ||
орграф, вершины которого суть процедуры программы, а дуги | отражают возможность прямого обращения одной процедуры к другой. В '''Г.п.''' предполагается, что все исполнения операторов вызова, обращающихся к одной и той же процедуре, приводят к одним и тем же цепочкам вложенных вызовов процедур. | ||
отражают возможность прямого обращения одной процедуры к другой. | |||
В '''Г.п.''' предполагается, что все исполнения операторов вызова, | |||
обращающихся к одной и той же процедуре, приводят к одним и тем же | |||
цепочкам вложенных вызовов процедур. | |||
[[Файл:Call graph.png]] | |||
Для более точного кодирования | Для более точного кодирования межпроцедурных связей используется ''[[граф вызовов]]'', вершинами которого являются операторы вызовов процедур, а дуги отражают непосредственную вложенность вызовов. В этом графе склеены, однако, выполнения так называемых | ||
межпроцедурных связей используется ''граф вызовов'', вершинами | особых вызовов --- таких, при разных исполнениях которых могут вызываться разные процедуры. | ||
которого являются операторы вызовов процедур, а дуги отражают | |||
непосредственную вложенность вызовов. | |||
В этом графе склеены, однако, выполнения так называемых | |||
особых вызовов --- таких, при разных исполнениях которых могут | |||
вызываться разные процедуры. | |||
Выполнения особых вызовов расклеиваются | Выполнения особых вызовов расклеиваются в ''[[графе зацепленности]]'', вершинами которого являются пары оператор вызова --- вызываемая процедура, а дуги отражают непосредственную вложенность соответствующих пар. | ||
в ''графе зацепленности'', вершинами которого являются пары | |||
оператор вызова --- вызываемая процедура, а дуги отражают | |||
непосредственную вложенность соответствующих пар. | |||
==Литература== | ==Литература== | ||
[Касьянов/88] | [Касьянов/88] |
Версия от 10:30, 13 октября 2009
Граф процедур (Call graph) - орграф, вершины которого суть процедуры программы, а дуги отражают возможность прямого обращения одной процедуры к другой. В Г.п. предполагается, что все исполнения операторов вызова, обращающихся к одной и той же процедуре, приводят к одним и тем же цепочкам вложенных вызовов процедур.
Для более точного кодирования межпроцедурных связей используется граф вызовов, вершинами которого являются операторы вызовов процедур, а дуги отражают непосредственную вложенность вызовов. В этом графе склеены, однако, выполнения так называемых особых вызовов --- таких, при разных исполнениях которых могут вызываться разные процедуры.
Выполнения особых вызовов расклеиваются в графе зацепленности, вершинами которого являются пары оператор вызова --- вызываемая процедура, а дуги отражают непосредственную вложенность соответствующих пар.
Литература
[Касьянов/88]