Recursive Functions

Составьте таблицу рекурсивных функций

Описание

Этот компонент составляет таблицу, содержащую рекурсивные функции в вашем исходном коде (наряду с файлами, содержащими функции).

  • Для каждой прямой рекурсии (функция, вызывая себя непосредственно), таблица приводит рекурсивную функцию.

  • Для каждого косвенного цикла рекурсии (функция, вызывая себя через другие функции), таблица приводит одну функцию в цикле.

Например, следующий код содержит два косвенных цикла рекурсии.

volatile int signal;

void operation1() {
    int stop = signal%2;
    if(!stop)
        operation1_1();
}


void operation1_1() {
    operation1();
}

void operation2() {
    int stop = signal%2;
    if(!stop)
        operation2_1();
}

void operation2_1() {
    operation2();
}

void main(){
    operation1();
    operation2();
}

Два цикла графа вызовов:

  • operation1operation1_1operation1

  • operation2operation2_1operation2

Этот компонент отчета показывает одну функцию от каждого из этих двух циклов: operation1 и operation2. Чтобы видеть полный цикл, откройте результаты в пользовательском интерфейсе Polyspace®.