関数定義書 ドキュメント自動生成ツール【A HotDocument】

GetFuncFlow

関数定義書 - GetFuncFlow

関数フロー 取得関数

static int GetFuncFlow(
  const char * tarline - 対象の行
  const char * SourceFile - ファイル名
)

パラメータ

tarline
対象の行
SourceFile
ファイル名

機能

関数フロー 取得関数

返り値

エラー値

機能説明

それぞれの実行行に対して、既に取得された関数情報から、
関数を呼び出しているかどうかを解析し、構造体にセットする。

処理説明

・テンポラリ文字列に入力行を複製する
・中括弧の深さを初期化する
・コード部とコメント部を分割する
・実行部をスタックする
・コード部のリテラル文字列を除去する
・'{' が現れた場合、中括弧の深さをインクリメントする
・'}' が現れた場合、中括弧の深さをデクリメントする
・一番最初の "{" 以前を取り出す
・関数名および型取得
・関数の属性と名前の境界位置を取得する
・境界位置がない場合( "Samp::Samp() {...}"など)
 ・すべて名前とする
・境界位置がある場合
 ・関数の名前を取得する
 ・コード部のリテラル文字列を除去する
 ・最初のトークンを取得する
 ・実行部文字列にトークンがなくなるまで繰り返す
  ・関数フローでは重複する関数は、1つにまとめる
  ・リスト構造の先頭位置を設定する
  ・次のトークンを取得する
 ・'{' が現れた場合、中括弧の深さをインクリメントする
 ・'}' が現れた場合、中括弧の深さをデクリメントする
・中括弧の深さが 0に戻ったとき、関数定義は終了とする

ファイル名

BlockIn.cpp

作成日情報

日付担当バージョン
'07.01.25今井 浩司1.0

修正日情報

日付担当バージョン
'07.02.06今井 浩司1.2

See Also

目次 | ファイル一覧 | 関数一覧 | #define一覧 | 外部変数一覧 | 構造体一覧 | BlockIn.cpp