abc プロジェクト
21.14. Pass1_3 関数説明

関数名 Pass1_3
定義ファイル名pass1.cpp
定義行 531
宣言形式 void Pass1_3 ( AnsiString SrcFileName , TList * TokenList )
概要 各トークンのStrPosを調べて、ソースコードに対応した OrgStrをトークンに設定
する。
ソースの '\r'は、削除する。
戻り値
パラメタ説明 SrcFileName ソースファイル名
TokenList トークンリスト
機能説明
備考

呼出し元関数一覧表
名称 定義ファイル名 定義行
1 TMainF::FormActivate main.cpp 299

呼出し先関数一覧表
名称 定義ファイル名 定義行
1 Delete

2 Pos

3 Read

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

関数論理チャート

        |  +--------------------------------------------------------+ 
   531  +--+ void Pass1_3(AnsiString SrcFileName,TList *TokenList)  | 
   532     | {                                                      | 
           +--+-----------------------------------------------------+ 
   533        +--- TFileStream *Stream;
   534        +--- int i,pos,len;
   535        +--- char cBuff[1024];
   536        +--- TToken *Token;
   537        +--- int Pos;
   538        |    
   539        +--- Stream = new TFileStream(SrcFileName,fmOpenRead);
   540        +--- pos = 0;
              |  +------------------------------------------+ 
   541        +--+ for(i = 0 ; i < TokenList->Count ; i++){ | 
              |  +--+---------------------------------------+ 
   542        |     +--- Token = (TToken *)TokenList->Items[i];
   543        |     +--- len = Token->StrPos - pos;
              |     |  +--------------+ 
   544        |     +--+ if(len > 0){ | 
              |     |  +--+-----------+ 
   545        |     |     +--- Stream->Read(cBuff,len);
   546        |     |     +--- cBuff[len] = '\0';
   547        |     |     +--- Token->OrgStr = cBuff;
   548        |     |     +--- //
   549        |     |     |    // '\r'コードを OrgStrから削除する。             
   550        |     |     |    // WinのテキストとLinuxテキストに対応するため。  
   551        |     |     |    //                                               
   552        |     |     +--- Pos = Token->OrgStr.Pos("\r");
   553        |     |     +--- //            if(Pos != 0){
   554        |     |     |    //              Token->OrgStr.Delete(Pos,1); 
              |     |     |  +------------------+ 
   555        |     |     +--+ while(Pos != 0){ | 
              |     |     |  +--+---------------+ 
   556        |     |     |     +--- Token->OrgStr.Delete(Pos,1);
   557        |     |     |     +--- Pos = Token->OrgStr.Pos("\r");
              |     |     |   +-+---+ 
   558        |     |     |   |  }  | 
              |     |     |   +-----+ 
              |     |   +-+---+ 
   559        |     |   |  }  | 
              |     |   +-----+ 
   560        |     +--- pos = Token->StrPos;
   561        |     |    
              |   +-+---+ 
   562        |   |  }  | 
              |   +-----+ 
   563        +--- delete Stream;
   564        |    
            +-+---+ 
   565      |  }  | 
            +-----+