Ignore:
Timestamp:
Jun 24, 2007, 6:50:40 PM (17 years ago)
Author:
dai_9181
Message:
 
File:
1 edited

Legend:

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

    r135 r183  
     1#include <jenga/include/smoothie/LexicalAnalysis.h>
     2
     3#include <LexicalScopingImpl.h>
     4#include <Compiler.h>
     5
    16#include "../BasicCompiler_Common/common.h"
    27#include "Opcode.h"
     
    131136    if(resultType.IsDouble()){
    132137        double dbl=0;
    133         offset=dataTable.Add( dbl );
     138        offset=Compiler::GetNativeCode().GetDataTable().Add( dbl );
    134139
    135140        //comisd xmm0,qword ptr[data table offset]
     
    145150    else if(resultType.IsSingle()){
    146151        float flt=0;
    147         offset=dataTable.Add( flt );
     152        offset=Compiler::GetNativeCode().GetDataTable().Add( flt );
    148153
    149154        //comiss xmm0,dword ptr[data table offset]
     
    195200
    196201    //レキシカルスコープをレベルアップ
    197     obj_LexScopes.Start( obp, SCOPE_TYPE_IF );
     202    GetLexicalScopes().Start( obp, SCOPE_TYPE_IF );
    198203
    199204    i2=CompileBuffer(ESC_ENDIF,0);
    200205
    201206    //レキシカルスコープをレベルダウン
    202     obj_LexScopes.End();
     207    GetLexicalScopes().End();
    203208
    204209
     
    218223
    219224        //レキシカルスコープをレベルアップ
    220         obj_LexScopes.Start( obp, SCOPE_TYPE_IF );
     225        GetLexicalScopes().Start( obp, SCOPE_TYPE_IF );
    221226
    222227        CompileBuffer(ESC_ENDIF,0);
    223228
    224229        //レキシカルスコープをレベルダウン
    225         obj_LexScopes.End();
     230        GetLexicalScopes().End();
    226231
    227232
     
    320325
    321326    //レキシカルスコープをレベルアップ
    322     obj_LexScopes.Start( obp, SCOPE_TYPE_WHILE );
     327    GetLexicalScopes().Start( obp, SCOPE_TYPE_WHILE );
    323328
    324329    //While内をコンパイル
    325330    CompileBuffer(0,COM_WEND);
    326331
    327     obj_LexScopes.CallDestructorsOfScopeEnd();
     332    GetLexicalScopes().CallDestructorsOfScopeEnd();
    328333
    329334    //jmp ...
     
    335340
    336341    //レキシカルスコープをレベルダウン
    337     obj_LexScopes.End();
     342    GetLexicalScopes().End();
    338343
    339344    *((long *)(OpBuffer+je_schedule-sizeof(long)))=obp-je_schedule; //jeジャンプ先のオフセット値
     
    457462
    458463    //レキシカルスコープをレベルアップ
    459     obj_LexScopes.Start( obp, SCOPE_TYPE_FOR );
     464    GetLexicalScopes().Start( obp, SCOPE_TYPE_FOR );
    460465
    461466    //For内をコンパイル
    462467    CompileBuffer(0,COM_NEXT);
    463468
    464     obj_LexScopes.CallDestructorsOfScopeEnd();
     469    GetLexicalScopes().CallDestructorsOfScopeEnd();
    465470
    466471    if(szNextVariable[0]){
     
    480485
    481486    //レキシカルスコープをレベルダウン
    482     obj_LexScopes.End();
     487    GetLexicalScopes().End();
    483488
    484489    *((long *)(OpBuffer+je_schedule))=obp-(je_schedule+sizeof(long)); //jeジャンプ先のオフセット値
     
    504509
    505510    //レキシカルスコープをレベルアップ
    506     obj_LexScopes.Start( obp, SCOPE_TYPE_DO );
     511    GetLexicalScopes().Start( obp, SCOPE_TYPE_DO );
    507512
    508513    //Do内をコンパイル
    509514    CompileBuffer(0,COM_LOOP);
    510515
    511     obj_LexScopes.CallDestructorsOfScopeEnd();
     516    GetLexicalScopes().CallDestructorsOfScopeEnd();
    512517
    513518    extern char *basbuf;
     
    565570
    566571    //レキシカルスコープをレベルダウン
    567     obj_LexScopes.End();
     572    GetLexicalScopes().End();
    568573
    569574    *((long *)(OpBuffer+je_schedule))=obp-(je_schedule+sizeof(long)); //jmpジャンプ先のオフセット値
     
    599604
    600605    //未解放のローカルオブジェクトのデストラクタを呼び出す
    601     obj_LexScopes.CallDestructorsOfReturn();
     606    GetLexicalScopes().CallDestructorsOfReturn();
    602607
    603608    //jmp ...(End Sub/Function)
     
    831836
    832837    //レキシカルスコープをレベルアップ
    833     obj_LexScopes.Start( obp, SCOPE_TYPE_SELECT );
     838    GetLexicalScopes().Start( obp, SCOPE_TYPE_SELECT );
    834839
    835840    //Select Case内をコンパイル
     
    848853
    849854    //レキシカルスコープをレベルダウン
    850     obj_LexScopes.End();
     855    GetLexicalScopes().End();
    851856
    852857    pCaseSchedule=temp_pCaseSchedule;
Note: See TracChangeset for help on using the changeset viewer.