abc プロジェクト
21.6. FindBrace 関数説明

関数名 FindBrace
定義ファイル名pass2.cpp
定義行 1215
宣言形式 int FindBrace ( TList * TokenList , int sPos )
概要 (に対応する )の Posを返す。ネストに関しても処理される。
見つからない場合は、-1を返す。
戻り値 対応する ()の Posを返す。見つからない場合は、-1を返す。
パラメタ説明 TokenList トークンリスト
sPos 開始位置
機能説明
備考

参照先一覧表
名称 種別 定義ファイル名 定義行
1 TToken クラス pass1.h 216

関数論理チャート

        |  +------------------------------------------+ 
  1215  +--+ int FindBrace(TList *TokenList,int sPos) | 
  1216     | {                                        | 
           +--+---------------------------------------+ 
  1217        +--- int i;
  1218        +--- int Level = 0;
  1219        +--- TToken *Token;
  1220        |    
              |  +----------------------------------------------+ 
  1221        +--+ for(i = sPos ; i < TokenList->Count ; i++){  | 
              |  +--+-------------------------------------------+ 
  1222        |     +--- Token = (TToken *)TokenList->Items[i];
              |     |  +--------------------------------+ 
  1223        |     +--+ if(Token->TokId == tid_Kakko){ | 
              |     |  +--+-----------------------------+ 
  1224        |     |     +--- Level++;
              |     |   +-+---+ 
  1225        |     |   |  }  | 
              |     |   +-+---+ 
              |     |   +-+-------------------------------------+ 
  1225        |     |   |  else if(Token->TokId == tid_Kokka){  | 
              |     |   +-+-------------------------------------+ 
  1226        |     |     +--- Level--;
              |     |     |  +------------------+ 
  1227        |     |     +--+ if(Level == 0){  | 
              |     |     |  +--+---------------+ 
              |     |     |     |  +------------+ 
  1228        |     |     |     +--+ return i;  | 
              |     |     |     |  +------------+ 
              |     |     |   +-+---+ 
  1229        |     |     |   |  }  | 
              |     |     |   +-----+ 
              |     |   +-+---+ 
  1230        |     |   |  }  | 
              |     |   +-----+ 
              |   +-+---+ 
  1231        |   |  }  | 
              |   +-----+ 
              |  +------------+ 
  1232        +--+ return -1; | 
              |  +------------+ 
            +-+---+ 
  1233      |  }  | 
            +-----+