関数フロー 取得関数
static int GetFuncFlow(
const char * tarline - 対象の行
const char * SourceFile - ファイル名
)
関数フロー 取得関数
エラー値
それぞれの実行行に対して、既に取得された関数情報から、 関数を呼び出しているかどうかを解析し、構造体にセットする。
・テンポラリ文字列に入力行を複製する ・中括弧の深さを初期化する ・コード部とコメント部を分割する ・実行部をスタックする ・コード部のリテラル文字列を除去する ・'{' が現れた場合、中括弧の深さをインクリメントする ・'}' が現れた場合、中括弧の深さをデクリメントする ・一番最初の "{" 以前を取り出す ・関数名および型取得 ・関数の属性と名前の境界位置を取得する ・境界位置がない場合( "Samp::Samp() {...}"など) ・すべて名前とする ・境界位置がある場合 ・関数の名前を取得する ・コード部のリテラル文字列を除去する ・最初のトークンを取得する ・実行部文字列にトークンがなくなるまで繰り返す ・関数フローでは重複する関数は、1つにまとめる ・リスト構造の先頭位置を設定する ・次のトークンを取得する ・'{' が現れた場合、中括弧の深さをインクリメントする ・'}' が現れた場合、中括弧の深さをデクリメントする ・中括弧の深さが 0に戻ったとき、関数定義は終了とする
日付 | 担当 | バージョン |
---|---|---|
'14.01.25 | 今井 浩司 | 1.0 |
日付 | 担当 | バージョン |
---|---|---|
'14.02.06 | 今井 浩司 | 1.2 |