Changeset 366 in dev for trunk


Ignore:
Timestamp:
Nov 11, 2007, 6:38:52 PM (17 years ago)
Author:
dai_9181
Message:

Tryスコープのコード補完機能のバグを修正(EndTryコード補間が過剰に行われていた)。
コンパイラのログ生成処理をきった。

Location:
trunk/abdev
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler64/Compile_ProcOp.cpp

    r364 r366  
    591591    }
    592592
     593    // Tryスコープの検証
     594    Exception::InspectTryScope();
     595
    593596    //With情報のメモリを解放
    594597    for(i3=0;i3<WithInfo.num;i3++){
  • trunk/abdev/BasicCompiler_Common/error.cpp

    r365 r366  
    113113    if(num==10) sprintf(msg,"\"%s\" のパラメータ指定が間違っています。",tempKeyWord);
    114114    if(num==11) sprintf(msg,"\"%s\" 型が違います。",tempKeyWord);
    115     if(num==12) sprintf(msg,"\"%s\" の使い方が不正です。",tempKeyWord);
     115    if(num==12) sprintf(msg,"%s の使い方が不正です。",tempKeyWord);
    116116    if(num==13) sprintf(msg,"\"%s\" を参照できません。",tempKeyWord);
    117117    if(num==14) sprintf(msg,"\"%s\" 配列指定が不正です。",tempKeyWord);
     
    123123    if(num==20) lstrcpy(msg,"全角スペースが含まれています(全角スペースはコンパイラが認識できないので、半角スペースまたはタブ文字にしてください)。");
    124124    if(num==21) sprintf(msg,"If制御のブロック指定が不正です。");
    125     if(num==22) sprintf(msg,"\"%s\" に対する \"End %s\" が見つかりません。",tempKeyWord,tempKeyWord);
     125    if(num==22) sprintf(msg,"%s に対する End %s が見つかりません。",tempKeyWord,tempKeyWord);
    126126    if(num==23) sprintf(msg,"リソース ファイル \"%s\" の読み込みに失敗。",tempKeyWord);
    127127    if(num==24) lstrcpy(msg,"Export指定の関数のパラメータには実体オブジェクトを利用することはできません(BytePtr型などを利用して下さい)。");
  • trunk/abdev/BasicCompiler_Common/include/Exception.h

    r359 r366  
    66    void CatchCommand( const char *parameter );
    77    void FinallyCommand();
    8     void EndTryCommand();
     8    void EndTryCommand( bool isNoWarning = false );
     9
     10    // Tryスコープを検証する
     11    void InspectTryScope();
    912
    1013    void ThrowCommand( const char *Parameter );
  • trunk/abdev/BasicCompiler_Common/include/option.h

    r353 r366  
    1414    #define USE_TRACE
    1515#else
    16     #define USE_TRACE
     16    //#define USE_TRACE
    1717#endif
    1818
  • trunk/abdev/BasicCompiler_Common/include/ver.h

    r365 r366  
    66// バージョン付加文字列
    77#ifdef _AMD64_
    8 #define VER_INFO        "(x64) (rev.376)"
     8#define VER_INFO        "(x64) (rev.378)"
    99#else
    10 #define VER_INFO        "(rev.376)"
     10#define VER_INFO        "(rev.378)"
    1111#endif
  • trunk/abdev/BasicCompiler_Common/src/Exception.cpp

    r365 r366  
    315315    compiler.codeGenerator.opfix( tryScopes.back().GetPertialScheduleForFinallyAddress(), compiler.codeGenerator.GetNativeCodeSize() );
    316316}
    317 void EndTryCommand()
     317void EndTryCommand( bool isNoWarning )
    318318{
    319319    if( tryScopes.size() == 0 )
    320320    {
    321         SetError(1,NULL,cp);
     321        SetError(12,"End Try",cp);
    322322        return;
    323323    }
    324324
    325     if( !tryScopes.back().IsDefinedFinally() && !tryScopes.back().IsCatched() )
     325    if( !isNoWarning && !tryScopes.back().IsDefinedFinally() && !tryScopes.back().IsCatched() )
    326326    {
    327327        // CatchもFinallyも存在しないとき
     
    351351    tryScopes.back().EndTry();
    352352    tryScopes.pop_back();
     353}
     354
     355void InspectTryScope()
     356{
     357    while( tryScopes.size() > 0 )
     358    {
     359        SetError(22, "Try", tryScopes.back().GetSourceCodePos() );
     360
     361        EndTryCommand( true );
     362    }
    353363}
    354364
  • trunk/abdev/ProjectEditor/Common.h

    r364 r366  
    6666#define APPLICATION_NAME "ActiveBasic 5.0"
    6767#define VERSION_APPLI_NAME APPLICATION_NAME
    68 #define VERSION_STRING "5.00.00 (rev.375)"
     68#define VERSION_STRING "5.00.00 (rev.378)"
    6969
    7070#endif
  • trunk/abdev/ProjectEditor/EndPairCommandComplement.cpp

    r364 r366  
    113113    if(lstrcmpi(temporary,"EndSelect")==0) return COM_SELECT;
    114114    if(lstrcmpi(temporary,"EndSub")==0) return COM_SUB;
     115    if(lstrcmpi(temporary,"EndTry")==0) return COM_TRY;
    115116    if(lstrcmpi(temporary,"EndType")==0) return COM_TYPE;
    116117    if(lstrcmpi(temporary,"Wend")==0) return COM_WHILE;
  • trunk/abdev/ProjectEditor/TextEditor_KeyEvent.cpp

    r364 r366  
    134134        lstrcmpi(temporary,"EndSub")==0||
    135135        lstrcmpi(temporary,"EndType")==0||
     136        lstrcmpi(temporary,"EndTry")==0||
    136137        lstrcmpi(temporary,"Wend")==0||
    137138        lstrcmpi(temporary,"EndWith")==0||
Note: See TracChangeset for help on using the changeset viewer.