Changeset 366 in dev for trunk/abdev/BasicCompiler_Common


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

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

Location:
trunk/abdev/BasicCompiler_Common
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • 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
Note: See TracChangeset for help on using the changeset viewer.