Changeset 79 in dev for BasicCompiler_Common/Procedure.cpp


Ignore:
Timestamp:
Mar 25, 2007, 5:58:57 AM (17 years ago)
Author:
dai_9181
Message:

バージョンをβ17にした。
#strictをデフォルトの状態で適用するようにした(#90)。
Dimステートメントにおいて、初期値式とAsが同時に指定されていたとき、As以降も初期値式の一部として捉えるよう、変更(#91)。
GetTypeDef関数を完全廃止。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • BasicCompiler_Common/Procedure.cpp

    r78 r79  
    120120            Type::StringToType( temporary, type );
    121121
    122             /*
    123             TODO: 消す(TypeDef関連の変更)
    124             if(temporary[0]=='*'&&
    125                 temporary[1]==1&&
    126                 (temporary[2]==ESC_FUNCTION||temporary[2]==ESC_SUB)){
    127                 if(sourceOfParams[i]!='('){
    128                     SetError(10,temporary,nowLine);
    129                     break;
    130                 }
    131                 i3=GetStringInPare(temporary+i2,sourceOfParams+i);
    132                 i+=i3;
    133                 i2+=i3;
    134 
    135                 if(temporary[2]==ESC_FUNCTION&&sourceOfParams[i]==1&&sourceOfParams[i+1]==ESC_AS){
    136                     temporary[i2++]=sourceOfParams[i++];
    137                     temporary[i2++]=sourceOfParams[i++];
    138                     for(;;i++,i2++){
    139                         if(!IsVariableChar(sourceOfParams[i])){
    140                             temporary[i2]=0;
    141                             break;
    142                         }
    143                         temporary[i2]=sourceOfParams[i];
    144                     }
    145                 }
    146             }
    147             else{
    148                 //TypeDefをする前のベース型を取得
    149                 GetOriginalTypeName_Old(temporary);
    150             }*/
    151 
    152122            if( type.IsNull() ){
    153123                SetError(3,temporary,nowLine);
     
    159129            SetError(-103,temporary,nowLine);
    160130        }
    161 
    162         /*
    163         TODO: 消す(TypeDef関連の変更)
    164         if( type.IsProcPtr() ){
    165             //関数ポインタの場合
    166             type.SetIndex( AddProcPtrInfo(temporary+3,temporary[2], nowLine) );
    167         }*/
    168131
    169132        Parameter *pParam = new Parameter( name, type, isRef, initValue );
     
    278241                Type::StringToType( temporary, type );
    279242
    280                 /*
    281                 TODO: 消す(TypeDef関連の変更)
    282                 if(temporary[0]=='*'&&
    283                     temporary[1]==1&&
    284                     (temporary[2]==ESC_FUNCTION||temporary[2]==ESC_SUB)){
    285                     if(sourceOfParams[i]!='('){
    286                         SetError(10,temporary,nowLine);
    287                         break;
    288                     }
    289                     i3=GetStringInPare(temporary+i2,sourceOfParams+i);
    290                     i+=i3;
    291                     i2+=i3;
    292 
    293                     if(temporary[2]==ESC_FUNCTION&&sourceOfParams[i]==1&&sourceOfParams[i+1]==ESC_AS){
    294                         temporary[i2++]=sourceOfParams[i++];
    295                         temporary[i2++]=sourceOfParams[i++];
    296                         for(;;i++,i2++){
    297                             if(!IsVariableChar(sourceOfParams[i])){
    298                                 temporary[i2]=0;
    299                                 break;
    300                             }
    301                             temporary[i2]=sourceOfParams[i];
    302                         }
    303                     }
    304                 }
    305                 else{
    306                     //TypeDefをする前のベース型を取得
    307                     GetOriginalTypeName_Old(temporary);
    308                 }*/
    309 
    310243                if( type.IsNull() ){
    311244                    SetError(3,temporary,nowLine);
     
    317250                SetError(-103,temporary,nowLine);
    318251            }
    319 
    320             /*
    321             TODO: 消す(TypeDef関連の変更)
    322             if( type.IsProcPtr() ){
    323                 //関数ポインタの場合
    324                 type.SetIndex( AddProcPtrInfo(temporary+3,temporary[2], nowLine) );
    325             }*/
    326252
    327253            Parameter *pParam = new Parameter( name, type, isRef );
     
    535461            Type::StringToType( temporary, type );
    536462
    537             /*
    538             TODO: 消す(TypeDef関連の変更)
    539             if(temporary[0]=='*'&&
    540                 temporary[1]==1&&
    541                 (temporary[2]==ESC_FUNCTION||temporary[2]==ESC_SUB)){
    542                 if(sourceOfParams[i]!='('){
    543                     SetError(10,temporary,nowLine);
    544                     break;
    545                 }
    546                 i3=GetStringInPare(temporary+i2,sourceOfParams+i);
    547                 i+=i3;
    548                 i2+=i3;
    549 
    550                 if(temporary[2]==ESC_FUNCTION&&sourceOfParams[i]==1&&sourceOfParams[i+1]==ESC_AS){
    551                     temporary[i2++]=sourceOfParams[i++];
    552                     temporary[i2++]=sourceOfParams[i++];
    553                     for(;;i++,i2++){
    554                         if(!IsVariableChar(sourceOfParams[i])){
    555                             temporary[i2]=0;
    556                             break;
    557                         }
    558                         temporary[i2]=sourceOfParams[i];
    559                     }
    560                 }
    561             }
    562             else{
    563                 //TypeDefをする前のベース型を取得
    564                 GetOriginalTypeName_Old(temporary);
    565             }*/
    566 
    567463            if( type.IsNull() ){
    568464                SetError(3,temporary,nowLine);
     
    574470            SetError(-103,temporary,nowLine);
    575471        }
    576 
    577         /*
    578         TODO: 消す(TypeDef関連の変更)
    579         if( type.IsProcPtr() ){
    580             //関数ポインタの場合
    581             type.SetIndex( AddProcPtrInfo(temporary+3,temporary[2], nowLine ) );
    582         }*/
    583472
    584473        Parameter *pParam = new Parameter( name, type, isRef );
     
    743632            Type::StringToType( temporary, type );
    744633
    745             /*
    746             TODO: 消す(TypeDef関連の変更)
    747             if(temporary[0]=='*'&&
    748                 temporary[1]==1&&
    749                 (temporary[2]==ESC_FUNCTION||temporary[2]==ESC_SUB)){
    750                 if(sourceOfParams[i]!='('){
    751                     SetError(10,temporary,nowLine);
    752                     break;
    753                 }
    754                 i3=GetStringInPare(temporary+i2,sourceOfParams+i);
    755                 i+=i3;
    756                 i2+=i3;
    757 
    758                 if(temporary[2]==ESC_FUNCTION&&sourceOfParams[i]==1&&sourceOfParams[i+1]==ESC_AS){
    759                     temporary[i2++]=sourceOfParams[i++];
    760                     temporary[i2++]=sourceOfParams[i++];
    761                     for(;;i++,i2++){
    762                         if(!IsVariableChar(sourceOfParams[i])){
    763                             temporary[i2]=0;
    764                             break;
    765                         }
    766                         temporary[i2]=sourceOfParams[i];
    767                     }
    768                 }
    769             }
    770             else{
    771                 //TypeDefをする前のベース型を取得
    772                 GetOriginalTypeName_Old(temporary);
    773             }*/
    774 
    775634            if( type.IsNull() ){
    776635                SetError(3,temporary,nowLine);
     
    782641            SetError(-103,temporary,nowLine);
    783642        }
    784 
    785         /*
    786         TODO: 消す(TypeDef関連の変更)
    787         if( type.IsProcPtr() ){
    788             //関数ポインタの場合
    789             type.SetIndex( AddProcPtrInfo(temporary+3,temporary[2], nowLine ) );
    790         }*/
    791643
    792644        Parameter *pParam = new Parameter( name, type, isRef );
Note: See TracChangeset for help on using the changeset viewer.