Changeset 245 in dev for trunk/abdev/BasicCompiler32


Ignore:
Timestamp:
Jul 27, 2007, 8:02:22 PM (17 years ago)
Author:
dai_9181
Message:
 
Location:
trunk/abdev/BasicCompiler32
Files:
2 edited

Legend:

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

    r243 r245  
    140140    }
    141141
    142     CodeGenerator::PertialSchedule *pIfPertialSchedule = NULL;
     142    const CodeGenerator::PertialSchedule *pIfPertialSchedule = NULL;
    143143    if( !NumOpe(Parameter,Type(),tempType) ){
    144144        //NumOpe内でエラー
     
    207207
    208208        //jne
    209         CodeGenerator::PertialSchedule *pTempPertialSchedule1 = compiler.codeGenerator.op_jne( 0, sizeof(char), true );
     209        const CodeGenerator::PertialSchedule *pTempPertialSchedule1 = compiler.codeGenerator.op_jne( 0, sizeof(char), true );
    210210
    211211        //cmp ebx,0
     
    213213
    214214        //jne
    215         CodeGenerator::PertialSchedule *pTempPertialSchedule2 = compiler.codeGenerator.op_jne( 0, sizeof(char), true );
     215        const CodeGenerator::PertialSchedule *pTempPertialSchedule2 = compiler.codeGenerator.op_jne( 0, sizeof(char), true );
    216216
    217217        //jmp (endif、または else までジャンプ)
     
    252252    if(i2==ESC_ELSE){
    253253        //jmp (endifまで)
    254         CodeGenerator::PertialSchedule *pTempPertialSchedule = compiler.codeGenerator.op_jmp( 0, sizeof(long), true );
     254        const CodeGenerator::PertialSchedule *pTempPertialSchedule = compiler.codeGenerator.op_jmp( 0, sizeof(long), true );
    255255
    256256        compiler.codeGenerator.opfix_JmpPertialSchedule( pIfPertialSchedule );
     
    346346    if(!Parameter[0]) SetError(10,"While",cp);
    347347
    348     CodeGenerator::PertialSchedule *pWhilePertialSchedule = NULL;
     348    const CodeGenerator::PertialSchedule *pWhilePertialSchedule = NULL;
    349349    Type tempType;
    350350    if( !NumOpe(Parameter,Type(),tempType) ){
     
    414414
    415415        //jne
    416         CodeGenerator::PertialSchedule *pTempPertialSchedule1 = compiler.codeGenerator.op_jne( 0, sizeof(char), true );
     416        const CodeGenerator::PertialSchedule *pTempPertialSchedule1 = compiler.codeGenerator.op_jne( 0, sizeof(char), true );
    417417
    418418        //cmp ebx,0
     
    420420
    421421        //jne
    422         CodeGenerator::PertialSchedule *pTempPertialSchedule2 = compiler.codeGenerator.op_jne( 0, sizeof(char), true );
     422        const CodeGenerator::PertialSchedule *pTempPertialSchedule2 = compiler.codeGenerator.op_jne( 0, sizeof(char), true );
    423423
    424424        //jmp (Wendまでジャンプ)
     
    492492
    493493    //jmp ...
    494     CodeGenerator::PertialSchedule *pTempPertialSchedule = compiler.codeGenerator.op_jmp( 0, sizeof(long), true );
     494    const CodeGenerator::PertialSchedule *pTempPertialSchedule = compiler.codeGenerator.op_jmp( 0, sizeof(long), true );
    495495
    496496    //Continueアドレスのバックアップとセット
     
    534534
    535535    //jmp [カウンタ減少の場合の判定を飛び越す]
    536     CodeGenerator::PertialSchedule *pTempPertialSchedule2 = compiler.codeGenerator.op_jmp( 0, sizeof(long), true );
     536    const CodeGenerator::PertialSchedule *pTempPertialSchedule2 = compiler.codeGenerator.op_jmp( 0, sizeof(long), true );
    537537
    538538    //jeジャンプ先のオフセット値
     
    601601    GetLexicalScopes().CallDestructorsOfScopeEnd();
    602602
    603     CodeGenerator::PertialSchedule *pDoPertialSchedule = NULL;
     603    const CodeGenerator::PertialSchedule *pDoPertialSchedule = NULL;
    604604
    605605    extern char *basbuf;
     
    780780
    781781    //jmp ...
    782     CodeGenerator::PertialSchedule *pTempPertialSchedule = compiler.codeGenerator.op_jmp( 0, sizeof(long), true );
     782    const CodeGenerator::PertialSchedule *pTempPertialSchedule = compiler.codeGenerator.op_jmp( 0, sizeof(long), true );
    783783
    784784    //レキシカルスコープをレベルダウン
  • trunk/abdev/BasicCompiler32/NumOpe_Relation.cpp

    r240 r245  
    142142        compiler.codeGenerator.op_cmp_RR( REG_EDX, REG_ECX );
    143143
    144         CodeGenerator::PertialSchedule *pFalsePertialSchedule1;
     144        const CodeGenerator::PertialSchedule *pFalsePertialSchedule1;
    145145        if(IsSignedType(type_stack[sp-2])==0&&IsSignedType(type_stack[sp-1])==0){
    146146            //符号なし演算
     
    156156        }
    157157
    158         CodeGenerator::PertialSchedule *pTruePertialSchedule;
     158        const CodeGenerator::PertialSchedule *pTruePertialSchedule;
    159159        if(IsSignedType(type_stack[sp-2])==0&&IsSignedType(type_stack[sp-1])==0){
    160160            //符号なし演算
     
    174174
    175175        //ja FalseSchedule2(偽へジャンプ)
    176         CodeGenerator::PertialSchedule *pFalsePertialSchedule2 = compiler.codeGenerator.op_ja( 0, sizeof(char), true );
     176        const CodeGenerator::PertialSchedule *pFalsePertialSchedule2 = compiler.codeGenerator.op_ja( 0, sizeof(char), true );
    177177
    178178        //TrueScheduleのジャンプ先の設定
     
    351351        compiler.codeGenerator.op_cmp_RR( REG_EDX, REG_ECX );
    352352
    353         CodeGenerator::PertialSchedule *pFalsePertialSchedule1;
     353        const CodeGenerator::PertialSchedule *pFalsePertialSchedule1;
    354354        if(IsSignedType(AnswerType)){
    355355            //符号あり演算
     
    365365        }
    366366
    367         CodeGenerator::PertialSchedule *pTruePertialSchedule;
     367        const CodeGenerator::PertialSchedule *pTruePertialSchedule;
    368368        if(IsSignedType(AnswerType)){
    369369            //符号あり演算
     
    383383
    384384        //jb FalseSchedule2(偽へジャンプ)
    385         CodeGenerator::PertialSchedule *pFalsePertialSchedule2 = compiler.codeGenerator.op_jb( 0, sizeof(char), true );
     385        const CodeGenerator::PertialSchedule *pFalsePertialSchedule2 = compiler.codeGenerator.op_jb( 0, sizeof(char), true );
    386386
    387387        //TrueScheduleのジャンプ先の設定
     
    563563        compiler.codeGenerator.op_cmp_RR( REG_EDX, REG_ECX );
    564564
    565         CodeGenerator::PertialSchedule *pTruePertialSchedule1;
     565        const CodeGenerator::PertialSchedule *pTruePertialSchedule1;
    566566        if(IsSignedType(AnswerType)){
    567567            //符号あり演算
     
    577577        }
    578578
    579         CodeGenerator::PertialSchedule *pFalsePertialSchedule;
     579        const CodeGenerator::PertialSchedule *pFalsePertialSchedule;
    580580        if(IsSignedType(AnswerType)){
    581581            //符号あり演算
     
    595595
    596596        //jb TrueSchedule2(真へジャンプ)
    597         CodeGenerator::PertialSchedule *pTruePertialSchedule2 = compiler.codeGenerator.op_jb( 0, sizeof(char), true );
     597        const CodeGenerator::PertialSchedule *pTruePertialSchedule2 = compiler.codeGenerator.op_jb( 0, sizeof(char), true );
    598598
    599599        //FalseScheduleのジャンプ先の設定
     
    771771        compiler.codeGenerator.op_cmp_RR( REG_EDX, REG_ECX );
    772772
    773         CodeGenerator::PertialSchedule *pTruePertialSchedule1;
     773        const CodeGenerator::PertialSchedule *pTruePertialSchedule1;
    774774        if(IsSignedType(AnswerType)){
    775775            //符号有り
     
    785785        }
    786786
    787         CodeGenerator::PertialSchedule *pFalsePertialSchedule;
     787        const CodeGenerator::PertialSchedule *pFalsePertialSchedule;
    788788        if(IsSignedType(AnswerType)){
    789789            //符号有り
     
    803803
    804804        //ja TrueSchedule2(真へジャンプ)
    805         CodeGenerator::PertialSchedule *pTruePertialSchedule2 = compiler.codeGenerator.op_ja( 0, sizeof(char), true );
     805        const CodeGenerator::PertialSchedule *pTruePertialSchedule2 = compiler.codeGenerator.op_ja( 0, sizeof(char), true );
    806806
    807807        //FalseScheduleのジャンプ先の設定
     
    975975
    976976        //jne TrueSchedule1(真へジャンプ)
    977         CodeGenerator::PertialSchedule *pTruePertialSchedule1 = compiler.codeGenerator.op_jne( 0, sizeof(char), true );
     977        const CodeGenerator::PertialSchedule *pTruePertialSchedule1 = compiler.codeGenerator.op_jne( 0, sizeof(char), true );
    978978
    979979        //cmp edx,ecx
     
    981981
    982982        //jne TrueSchedule2(真へジャンプ)
    983         CodeGenerator::PertialSchedule *pTruePertialSchedule2 = compiler.codeGenerator.op_jne( 0, sizeof(char), true );
     983        const CodeGenerator::PertialSchedule *pTruePertialSchedule2 = compiler.codeGenerator.op_jne( 0, sizeof(char), true );
    984984
    985985        //xor eax,eax(eaxを0にする)
     
    11411141
    11421142        //jne FalseSchedule1(偽へジャンプ)
    1143         CodeGenerator::PertialSchedule *pFalsePertialSchedule1 = compiler.codeGenerator.op_jne( 0, sizeof(char), true );
     1143        const CodeGenerator::PertialSchedule *pFalsePertialSchedule1 = compiler.codeGenerator.op_jne( 0, sizeof(char), true );
    11441144
    11451145        //cmp edx,ecx
     
    11471147
    11481148        //jne FalseSchedule2(偽へジャンプ)
    1149         CodeGenerator::PertialSchedule *pFalsePertialSchedule2 = compiler.codeGenerator.op_jne( 0, sizeof(char), true );
     1149        const CodeGenerator::PertialSchedule *pFalsePertialSchedule2 = compiler.codeGenerator.op_jne( 0, sizeof(char), true );
    11501150
    11511151        //mov eax,1
Note: See TracChangeset for help on using the changeset viewer.