メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

Recursive Functions

再帰関数のテーブルの作成

説明

このコンポーネントは、ソース コード内の再帰関数 (およびその関数を含むファイル) を示すテーブルを作成します。

  • 直接再帰 (自身を直接呼び出す関数) ごとに、テーブルが再帰関数をリストします。

  • 間接再帰サイクル (他の関数を介して自身を呼び出す関数) ごとに、テーブルがサイクル内の関数の 1 つをリストします。

たとえば、次のコードには 2 つの間接再帰サイクルが含まれています。

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();
}

呼び出しグラフ サイクルは次の 2 つです。

  • operation1operation1_1operation1

  • operation2operation2_1operation2

Pictorial representation of indirect recursion

このレポート コンポーネントは、operation1 および operation2 の 2 つのサイクルのそれぞれから 1 つの関数を示しています。サイクル全体を確認するには、Polyspace® ユーザー インターフェイスで結果を開きます。