Changeset 34 in dev for BasicCompiler_Common/Compile.cpp


Ignore:
Timestamp:
Jan 14, 2007, 6:11:23 AM (17 years ago)
Author:
dai_9181
Message:

スコープ処理を統一した。関数の途中でReturnしても、スコープにあるローカルオブジェクトを正確に破棄できるようにした。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • BasicCompiler_Common/Compile.cpp

    r26 r34  
    1414LABEL *pLabelNames;
    1515int MaxLabelNum;
    16 
    17 //ループごとのスケジュール
    18 DWORD *pExitWhileSchedule;  //ExitWhileスケジュール
    19 int ExitWhileScheduleNum;
    20 DWORD *pExitForSchedule;    //ExitForスケジュール
    21 int ExitForScheduleNum;
    22 DWORD *pExitDoSchedule;     //ExitDoスケジュール
    23 int ExitDoScheduleNum;
    2416
    2517//Continueアドレス
     
    176168                break;
    177169            case ESC_EXITWHILE:
    178                 OpcodeExitWhile();
     170                obj_LexScopes.ExitWhile();
    179171                break;
    180172            case ESC_EXITFOR:
    181                 OpcodeExitFor();
     173                obj_LexScopes.ExitFor();
    182174                break;
    183175            case ESC_EXITDO:
    184                 OpcodeExitDo();
     176                obj_LexScopes.ExitDo();
    185177                break;
    186178            case ESC_CONTINUE:
Note: See TracChangeset for help on using the changeset viewer.