abc プロジェクト
関数名 | Pass1_3 |
定義ファイル名 | pass1.cpp |
定義行 | 531 |
宣言形式 | void Pass1_3 ( AnsiString SrcFileName , TList * TokenList ) |
概要 | 各トークンのStrPosを調べて、ソースコードに対応した OrgStrをトークンに設定 する。 ソースの '\r'は、削除する。 |
戻り値 | |
パラメタ説明 | SrcFileName ソースファイル名 TokenList トークンリスト |
機能説明 | |
備考 | |
呼出し元関数一覧表
呼出し先関数一覧表
|
名称 |
定義ファイル名 |
定義行 |
1 |
Delete |
|
|
2 |
Pos |
|
|
3 |
Read |
|
|
参照先一覧表
関数論理チャート
| +--------------------------------------------------------+
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 | } |
+-----+