abc プロジェクト
14.8.12. GetNextKanmaPos メンバ関数説明

メンバ関数名 GetNextKanmaPos
定義ファイル名TuneRegion.cpp
定義行 849
所属名 TTuneRegion
アクセス属性 public
宣言形式 int GetNextKanmaPos ( int sPos )
概要 同レベルでの次のカンマまたは、行末を探して、その位置を返す。
カンマがない場合は、行の最後を返す。
戻り値 カンマか行末のトークン位置
パラメタ説明 sPos 開始位置
機能説明
備考

呼出し元関数一覧表
名称 定義ファイル名 定義行
1 TTuneRegion::MakeUnrollData TuneRegion.cpp 577

参照メンバ変数一覧表
名称 定義ファイル名 定義行
1 TTuneRegion::TokenList TuneRegion.h 120

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

関数論理チャート

        |  +--------------------------------------------+ 
   849  +--+ int TTuneRegion::GetNextKanmaPos(int sPos) | 
   850     | {                                          | 
           +--+-----------------------------------------+ 
   851        +--- int i;
   852        +--- int Nest = 0;
   853        +--- TToken *Token;
   854        |    
              |  +----------------------------------------------+ 
   855        +--+ for(i = sPos ; i < TokenList->Count ; i++){  | 
              |  +--+-------------------------------------------+ 
   856        |     +--- Token = (TToken *)TokenList->Items[i];
              |     |  +--------------------------------+ 
   857        |     +--+ if(Token->TokId == tid_Kakko){ | 
              |     |  +--+-----------------------------+ 
   858        |     |     +--- Nest++;
              |     |   +-+---+ 
   859        |     |   |  }  | 
              |     |   +-+---+ 
              |     |   +-+-------------------------------------+ 
   859        |     |   |  else if(Token->TokId == tid_Kokka){  | 
              |     |   +-+-------------------------------------+ 
   860        |     |     +--- Nest--;
              |     |   +-+---+ 
   861        |     |   |  }  | 
              |     |   +-+---+ 
              |     |   +-+-----------------------------------------------------+ 
   861        |     |   |  else if((Token->TokId == tid_Kannma)&&(Nest == 0)){  | 
              |     |   +-+-----------------------------------------------------+ 
              |     |     |  +------------+ 
   862        |     |     +--+ return i;  | 
              |     |     |  +------------+ 
              |     |   +-+---+ 
   863        |     |   |  }  | 
              |     |   +-+---+ 
              |     |   +-+---------------------------------------+ 
   863        |     |   |  else if(Token->TokId == tid_LineEnd){  | 
              |     |   +-+---------------------------------------+ 
              |     |     |  +------------+ 
   864        |     |     +--+ return i;  | 
              |     |     |  +------------+ 
              |     |   +-+---+ 
   865        |     |   |  }  | 
              |     |   +-----+ 
              |   +-+---+ 
   866        |   |  }  | 
              |   +-----+ 
              |  +------------+ 
   867        +--+ return -1; | 
              |  +------------+ 
            +-+---+ 
   868      |  }  | 
            +-----+