主要内容

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

Pictorial representation of indirect recursion

对于这两个循环,此报告组件将显示每个循环中的一个函数:operation1operation2。要查看完整循环,请在 Polyspace® 用户界面中打开结果。