abc プロジェクト
関数名 | FindBrace |
定義ファイル名 | pass2.cpp |
定義行 | 1215 |
宣言形式 | int FindBrace ( TList * TokenList , int sPos ) |
概要 | (に対応する )の Posを返す。ネストに関しても処理される。 見つからない場合は、-1を返す。 |
戻り値 | 対応する ()の Posを返す。見つからない場合は、-1を返す。 |
パラメタ説明 | TokenList トークンリスト sPos 開始位置 |
機能説明 | |
備考 | |
参照先一覧表
関数論理チャート
| +------------------------------------------+
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 | } |
+-----+