abc プロジェクト
21.4. ErrMsg 関数説明

関数名 ErrMsg
定義ファイル名pass2.cpp
定義行 1484
宣言形式 void ErrMsg ( TList * TokenList , int Pos , AnsiString Msg )
概要 エラーメッセージを表示する
Msgで指定したメッセージとPosのトークン位置の行を表示する。
戻り値
パラメタ説明 TokenList トークンリスト
Pos トークン位置
Msg メッセージ
機能説明
備考

呼出し元関数一覧表
名称 定義ファイル名 定義行
1 Eval pass2.cpp 922
2 Pass2_Line pass2.cpp 104

呼出し先関数一覧表
名称 定義ファイル名 定義行
1 TMainF::err main.cpp 271

参照外部変数一覧表
名称 定義ファイル名 定義行
1 MainF main.cpp 26

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

関数論理チャート

        |  +------------------------------------------------------+ 
  1484  +--+ void ErrMsg(TList *TokenList,int Pos,AnsiString Msg) | 
  1485     | {                                                    | 
           +--+---------------------------------------------------+ 
  1486        +--- int i;
  1487        +--- int LineNo = 1;
  1488        +--- AnsiString s = "";
  1489        +--- TToken *Token;
  1490        |    
              |  +------------------------------+ 
  1491        +--+ for(i = 1 ; i < Pos ; i++){  | 
              |  +--+---------------------------+ 
  1492        |     +--- Token = (TToken *)TokenList->Items[i];
              |     |  +------------------------------------------------------------+ 
  1493        |     +--+ if(Token->TokId == tid_LineEnd){ // 1行単位で解析を行う。 | 
              |     |  +--+---------------------------------------------------------+ 
  1494        |     |     +--- LineNo++;
  1495        |     |     +--- s = "";
              |     |     |  +------------+ 
  1496        |     |     +--+ continue;  | 
              |     |     |  +------------+ 
              |     |   +-+---+ 
  1497        |     |   |  }  | 
              |     |   +-----+ 
  1498        |     +--- s += Token->Str;
              |   +-+---+ 
  1499        |   |  }  | 
              |   +-----+ 
              |  +------------------------------------+ 
  1500        +--+ for(; i < TokenList->Count ; i++){ | 
              |  +--+---------------------------------+ 
  1501        |     +--- Token = (TToken *)TokenList->Items[i];
              |     |  +------------------------------------------------------------+ 
  1502        |     +--+ if(Token->TokId == tid_LineEnd){ // 1行単位で解析を行う。 | 
              |     |  +--+---------------------------------------------------------+ 
              |     |     |  +--------+ 
  1503        |     |     +--+ break; | 
              |     |     |  +--------+ 
              |     |   +-+---+ 
  1504        |     |   |  }  | 
              |     |   +-----+ 
  1505        |     +--- s += Token->Str;
              |   +-+---+ 
  1506        |   |  }  | 
              |   +-----+ 
  1507        +--- MainF->err("**** " + Msg + " **** [ " + s + " ]");
            +-+---+ 
  1508      |  }  | 
            +-----+