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® пользовательский интерфейс.