Changeset 75 in dev for BasicCompiler_Common/error.cpp


Ignore:
Timestamp:
Mar 20, 2007, 4:36:16 AM (17 years ago)
Author:
dai_9181
Message:

TYPEINFO→Typeへのリファクタリングを実施。64bitはほぼ完了。32bitが全般的に未完成。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • BasicCompiler_Common/error.cpp

    r65 r75  
    9393    //日本語
    9494    ////////////////////
    95     if(num==1) lstrcpy(msg,"文法が間違っています");
    96     if(num==2) sprintf(msg,"左のオペランドが、左辺値になっていません");
     95    if(num==1) lstrcpy(msg,"文法が間違っています");
     96    if(num==2) sprintf(msg,"左のオペランドが、左辺値になっていません");
    9797    //num==3は予約されています
    98     if(num==4) sprintf(msg,"%sの相互関係が一致しません",tempKeyWord);
    99     if(num==5) sprintf(msg,"ダブルクォートの数が一致しません");
    100     if(num==6) sprintf(msg,"\"%s\" ジャンプ先が不正です",tempKeyWord);
    101     if(num==7) lstrcpy(msg,"DLL名が長すぎます(拡張子を含め、16文字以下にして下さい)");
    102     if(num==8) lstrcpy(msg,"コンパイラが認識できない文字コードが含まれています");
    103     if(num==9) sprintf(msg,"型が違います");
    104     if(num==10) sprintf(msg,"\"%s\" のパラメータ指定が間違っています",tempKeyWord);
    105     if(num==11) sprintf(msg,"\"%s\" 型が違います",tempKeyWord);
    106     if(num==12) sprintf(msg,"\"%s\" の使い方が不正です",tempKeyWord);
    107     if(num==13) sprintf(msg,"\"%s\" を参照できません",tempKeyWord);
    108     if(num==14) sprintf(msg,"\"%s\" 配列指定が不正です",tempKeyWord);
    109     if(num==15) sprintf(msg,"\"%s\" はすでに定義されています",tempKeyWord);
    110     if(num==16) sprintf(msg,"\"%s\" 配列、またはポインタ以外の変数に添え字が指定されています",tempKeyWord);
    111     if(num==17) sprintf(msg,"リソース データが不正です");
    112     if(num==18) sprintf(msg,"\"%s\"はポインタ変数型です。文字列演算を指定することはできません",tempKeyWord);
    113     if(num==19) sprintf(msg,"\"%s\"は値参照型です。ByVal指定することはできません",tempKeyWord);
    114     if(num==20) lstrcpy(msg,"全角スペースが含まれています(全角スペースはコンパイラが認識できないので、半角スペースまたはタブ文字にしてください)");
    115     if(num==21) sprintf(msg,"If制御のブロック指定が不正です");
    116     if(num==22) sprintf(msg,"\"%s\" に対する \"End %s\" が見つかりません",tempKeyWord,tempKeyWord);
    117     if(num==23) sprintf(msg,"リソース ファイル \"%s\" の読み込みに失敗",tempKeyWord);
    118     if(num==24) lstrcpy(msg,"Export指定の関数のパラメータには実体オブジェクトを利用することはできません(BytePtr型などを利用して下さい)");
    119     if(num==27) sprintf(msg,"\"%s\" は定義されていません",tempKeyWord);
    120     if(num==28) sprintf(msg,"構造体パラメータはポインタ参照にしてください(%s)",tempKeyWord);
    121     if(num==29) sprintf(msg,"配列ポインタを要素と同時に引渡すときは、ポインタ参照(ByRef)にしてください");
     98    if(num==4) sprintf(msg,"%sの相互関係が一致しません。",tempKeyWord);
     99    if(num==5) sprintf(msg,"ダブルクォートの数が一致しません。");
     100    if(num==6) sprintf(msg,"\"%s\" ジャンプ先が不正です。",tempKeyWord);
     101    if(num==7) lstrcpy(msg,"DLL名が長すぎます(拡張子を含め、16文字以下にして下さい)。");
     102    if(num==8) lstrcpy(msg,"コンパイラが認識できない文字コードが含まれています。");
     103    if(num==9) sprintf(msg,"型が違います。");
     104    if(num==10) sprintf(msg,"\"%s\" のパラメータ指定が間違っています。",tempKeyWord);
     105    if(num==11) sprintf(msg,"\"%s\" 型が違います。",tempKeyWord);
     106    if(num==12) sprintf(msg,"\"%s\" の使い方が不正です。",tempKeyWord);
     107    if(num==13) sprintf(msg,"\"%s\" を参照できません。",tempKeyWord);
     108    if(num==14) sprintf(msg,"\"%s\" 配列指定が不正です。",tempKeyWord);
     109    if(num==15) sprintf(msg,"\"%s\" はすでに定義されています。",tempKeyWord);
     110    if(num==16) sprintf(msg,"\"%s\" 配列、またはポインタ以外の変数に添え字が指定されています。",tempKeyWord);
     111    if(num==17) sprintf(msg,"リソース データが不正です。");
     112    if(num==18) sprintf(msg,"\"%s\"はポインタ変数型です。文字列演算を指定することはできません。",tempKeyWord);
     113    if(num==19) sprintf(msg,"\"%s\"は値参照型です。ByVal指定することはできません。",tempKeyWord);
     114    if(num==20) lstrcpy(msg,"全角スペースが含まれています(全角スペースはコンパイラが認識できないので、半角スペースまたはタブ文字にしてください)。");
     115    if(num==21) sprintf(msg,"If制御のブロック指定が不正です。");
     116    if(num==22) sprintf(msg,"\"%s\" に対する \"End %s\" が見つかりません。",tempKeyWord,tempKeyWord);
     117    if(num==23) sprintf(msg,"リソース ファイル \"%s\" の読み込みに失敗。",tempKeyWord);
     118    if(num==24) lstrcpy(msg,"Export指定の関数のパラメータには実体オブジェクトを利用することはできません(BytePtr型などを利用して下さい)。");
     119    if(num==25) sprintf(msg,"DLL関数にオブジェクトを引き渡すことはできません(%s)。",tempKeyWord);
     120    if(num==26) sprintf(msg,"\"%s\" 戻り値の型が指定されていません。",tempKeyWord);
     121    if(num==27) sprintf(msg,"\"%s\" は定義されていません。",tempKeyWord);
     122    if(num==28) sprintf(msg,"構造体パラメータは参照渡しにしてください(%s)。",tempKeyWord);
     123    if(num==29) sprintf(msg,"配列ポインタを要素と同時に引渡すときは、ポインタ参照(ByRef)にしてください。");
    122124    //num==30は予約されています
    123     if(num==31) sprintf(msg,"\"%s\" は構造体です(メンバの参照はピリオド \".\" で区切ってください)",tempKeyWord);
    124     if(num==32) sprintf(msg,"\"%s\" は構造体ポインタです(メンバの参照は \"->\" で区切ってください)",tempKeyWord);
    125     if(num==33) sprintf(msg,"定数式にリテラル値、または定数以外のものが含まれています");
    126     if(num==34) sprintf(msg,"定数はモジュールレベルで宣言して下さい");
    127     if(num==38) sprintf(msg,"\"%s\" 戻り値が存在しないプロシージャです",tempKeyWord);
    128     if(num==39) sprintf(msg,"\"%s\" はオブジェクトポインタではありません(\"->\" 参照はできません)",tempKeyWord);
    129     if(num==40) lstrcpy(msg,"関数の戻り値にオブジェクトを指定することはできません");
    130     if(num==41) lstrcpy(msg,"初期データが不正です");
    131     if(num==42) lstrcpy(msg,"閉じカッコ \")\" の後に不正な文字が含まれています");
    132     if(num==43) lstrcpy(msg,"ダブルクォートの後に不正な文字が含まれています");
    133     if(num==45) sprintf(msg,"実数に対して \"%s\" 演算子は利用できません",tempKeyWord);
    134     if(num==46) lstrcpy(msg,"配列の添え字に整数以外の値が与えられています");
    135     if(num==47) lstrcpy(msg,"As演算子の右辺値に型名以外の識別子が指定されています");
    136     if(num==48) sprintf(msg,"%s演算子に対して型名が指定されています",tempKeyWord);
    137     if(num==49) lstrcpy(msg,"添え字に整数以外の型が指定されています");
    138     if(num==50) sprintf(msg,"%sに変換できません",tempKeyWord);
    139     if(num==51) lstrcpy(msg,"オブジェクト、構造体のアラインメント値は1,2,4,8,16のいずれかでなければなりません");
    140     if(num==52) sprintf(msg,"\"%s\" オーバーロードを解決できません",tempKeyWord);
    141     if(num==53) sprintf(msg,"\"%s\" 出力ファイルの書き込みに失敗しました。実行されている可能性があります",tempKeyWord);
     125    if(num==31) sprintf(msg,"\"%s\" は構造体です(メンバの参照はピリオド \".\" で区切ってください)",tempKeyWord);
     126    if(num==32) sprintf(msg,"\"%s\" は構造体ポインタです(メンバの参照は \"->\" で区切ってください)",tempKeyWord);
     127    if(num==33) sprintf(msg,"定数式にリテラル値、または定数以外のものが含まれています");
     128    if(num==34) sprintf(msg,"定数はモジュールレベルで宣言して下さい");
     129    if(num==38) sprintf(msg,"\"%s\" 戻り値が存在しないプロシージャです",tempKeyWord);
     130    if(num==39) sprintf(msg,"\"%s\" はオブジェクトポインタではありません(\"->\" 参照はできません)",tempKeyWord);
     131    if(num==40) lstrcpy(msg,"DLL関数の戻り値としてオブジェクトを受け取ることはできません。");
     132    if(num==41) lstrcpy(msg,"初期データが不正です");
     133    if(num==42) lstrcpy(msg,"閉じカッコ \")\" の後に不正な文字が含まれています");
     134    if(num==43) lstrcpy(msg,"ダブルクォートの後に不正な文字が含まれています");
     135    if(num==45) sprintf(msg,"実数に対して \"%s\" 演算子は利用できません",tempKeyWord);
     136    if(num==46) lstrcpy(msg,"配列の添え字に整数以外の値が与えられています");
     137    if(num==47) lstrcpy(msg,"As演算子の右辺値に型名以外の識別子が指定されています");
     138    if(num==48) sprintf(msg,"%s演算子に対して型名が指定されています",tempKeyWord);
     139    if(num==49) lstrcpy(msg,"添え字に整数以外の型が指定されています");
     140    if(num==50) sprintf(msg,"%sに変換できません",tempKeyWord);
     141    if(num==51) lstrcpy(msg,"オブジェクト、構造体のアラインメント値は1,2,4,8,16のいずれかでなければなりません");
     142    if(num==52) sprintf(msg,"\"%s\" オーバーロードを解決できません",tempKeyWord);
     143    if(num==53) sprintf(msg,"\"%s\" 出力ファイルの書き込みに失敗しました。実行されている可能性があります",tempKeyWord);
    142144    if(num==54) sprintf(msg,"対応する%sが存在しません。",tempKeyWord);
    143145    if(num==55) sprintf(msg,"\"%s\" は対応するForステートメントで利用されるカウンタ変数ではありません。",tempKeyWord);
     
    152154
    153155    //オブジェクト関連
    154     if(num==102) sprintf(msg,"\"%s\" オブジェクトは定義されていません",tempKeyWord);
    155     if(num==103) sprintf(msg,"\"%s\" メンバは定義されていません",tempKeyWord);
    156     if(num==104) sprintf(msg,"\"%s\" 参照方法が違います",tempKeyWord);
    157     if(num==105) sprintf(msg,"\"%s\" 自身のクラスを継承することはできません",tempKeyWord);
    158     if(num==106) sprintf(msg,"\"%s\" クラスは定義されていません",tempKeyWord);
    159     if(num==107) sprintf(msg,"Privateメンバ \"%s\" にアクセスすることはできません",tempKeyWord);
    160     if(num==108) sprintf(msg,"Protectedメンバ \"%s\" にアクセスすることはできません",tempKeyWord);
    161     if(num==109) sprintf(msg,"Privateメンバ関数 \"%s\" を呼び出すことはできません",tempKeyWord);
    162     if(num==110) sprintf(msg,"Protectedメンバ関数 \"%s\" を呼び出すことはできません",tempKeyWord);
    163     if(num==111) lstrcpy(msg,"InheritsはClass定義内の先頭に記述する必要があります");
    164     if(num==112) sprintf(msg,"\"%s\" はクラス型ではないため、初期パラメータを指定することはできません",tempKeyWord);
    165     if(num==113) sprintf(msg,"\"%s\" コンストラクタへ渡すパラメータが不正です",tempKeyWord);
    166     if(num==114) lstrcpy(msg,"デストラクタはパラメータを持てません");
    167     if(num==115) lstrcpy(msg,"コンストラクタ及びデストラクタは戻り値を持てません");
    168     if(num==116) lstrcpy(msg,"コンストラクタ及びデストラクタはパブリックアクセスにしなければなりません");
    169     if(num==117) lstrcpy(msg,"デストラクタの名前が \"~クラス名\" になっていません");
    170     if(num==118) lstrcpy(msg,"参照する基底クラスが存在しません");
    171     if(num==119) sprintf(msg,"\"%s\" メンバは基底クラスで定義されていません",tempKeyWord);
    172     if(num==120) lstrcpy(msg,"デストラクトするオブジェクトの型が不明です");
    173     if(num==121) lstrcpy(msg,"New演算子にはクラス以外の型を指定できません");
    174     if(num==122) lstrcpy(msg,"Delete演算子にポインタ以外の型が指定されています");
    175     if(num==123) lstrcpy(msg,"ループ継承が行われました");
    176     if(num==124) lstrcpy(msg,"循環参照が行われました");
     156    if(num==102) sprintf(msg,"\"%s\" オブジェクトは定義されていません",tempKeyWord);
     157    if(num==103) sprintf(msg,"\"%s\" メンバは定義されていません",tempKeyWord);
     158    if(num==104) sprintf(msg,"\"%s\" 参照方法が違います",tempKeyWord);
     159    if(num==105) sprintf(msg,"\"%s\" 自身のクラスを継承することはできません",tempKeyWord);
     160    if(num==106) sprintf(msg,"\"%s\" クラスは定義されていません",tempKeyWord);
     161    if(num==107) sprintf(msg,"Privateメンバ \"%s\" にアクセスすることはできません",tempKeyWord);
     162    if(num==108) sprintf(msg,"Protectedメンバ \"%s\" にアクセスすることはできません",tempKeyWord);
     163    if(num==109) sprintf(msg,"Privateメンバ関数 \"%s\" を呼び出すことはできません",tempKeyWord);
     164    if(num==110) sprintf(msg,"Protectedメンバ関数 \"%s\" を呼び出すことはできません",tempKeyWord);
     165    if(num==111) lstrcpy(msg,"InheritsはClass定義内の先頭に記述する必要があります");
     166    if(num==112) sprintf(msg,"\"%s\" はクラス型ではないため、初期パラメータを指定することはできません",tempKeyWord);
     167    if(num==113) sprintf(msg,"\"%s\" コンストラクタへ渡すパラメータが不正です",tempKeyWord);
     168    if(num==114) lstrcpy(msg,"デストラクタはパラメータを持てません");
     169    if(num==115) lstrcpy(msg,"コンストラクタ及びデストラクタは戻り値を持てません");
     170    if(num==116) lstrcpy(msg,"コンストラクタ及びデストラクタはパブリックアクセスにしなければなりません");
     171    if(num==117) lstrcpy(msg,"デストラクタの名前が \"~クラス名\" になっていません");
     172    if(num==118) lstrcpy(msg,"参照する基底クラスが存在しません");
     173    if(num==119) sprintf(msg,"\"%s\" メンバは基底クラスで定義されていません",tempKeyWord);
     174    if(num==120) lstrcpy(msg,"デストラクトするオブジェクトの型が不明です");
     175    if(num==121) lstrcpy(msg,"New演算子にはクラス以外の型を指定できません");
     176    if(num==122) lstrcpy(msg,"Delete演算子にポインタ以外の型が指定されています");
     177    if(num==123) lstrcpy(msg,"ループ継承が行われました");
     178    if(num==124) lstrcpy(msg,"循環参照が行われました");
    177179    if(num==125) sprintf(msg,"\"%s\" は抽象クラスです。インスタンス化することはできません。",tempKeyWord);
    178180    if(num==126) lstrcpy(msg,"オペレータのオーバーロードをクラスの外で行うことはできません。");
     
    186188
    187189    //Enum関連
    188     if(num==150) sprintf(msg,"\"%s\" 値が定義されていません",tempKeyWord);
    189     if(num==151) sprintf(msg,"\"%s\" 列挙リストに登録されていません",tempKeyWord);
     190    if(num==150) sprintf(msg,"\"%s\" 値が定義されていません",tempKeyWord);
     191    if(num==151) sprintf(msg,"\"%s\" 列挙リストに登録されていません",tempKeyWord);
    190192
    191193    //リンカ
    192     if(num==200) sprintf(msg,"\"%s\" 未解決です (リンク エラー)",tempKeyWord);
    193     if(num==201) sprintf(msg,"\"%s\" の読み込みに失敗",tempKeyWord);
     194    if(num==200) sprintf(msg,"\"%s\" 未解決です (リンク エラー)",tempKeyWord);
     195    if(num==201) sprintf(msg,"\"%s\" の読み込みに失敗",tempKeyWord);
    194196
    195197    //原因不明
     
    268270    return 1;
    269271}
     272void SetError(int ErrorNum,const string &keyWord,int pos){
     273    SetError( ErrorNum, keyWord.c_str(), pos );
     274}
    270275void SetError(int num,const char *KeyWord,int pos){
    271276    extern HANDLE hHeap;
     
    523528    return true;
    524529}
     530bool CheckDifferentType( const Type &varType,const Type &calcType,const char *pszFuncName,const int ParmNum){
     531    return CheckDifferentType(
     532        varType.GetBasicType(),
     533        varType.GetIndex(),
     534        calcType.GetBasicType(),
     535        calcType.GetIndex(),
     536        pszFuncName,
     537        ParmNum );
     538}
Note: See TracChangeset for help on using the changeset viewer.