Ignore:
Timestamp:
Mar 8, 2007, 2:49:34 AM (17 years ago)
Author:
dai_9181
Message:

すべてのオブジェクトを参照型に切り替えた。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • BasicCompiler32/Compile_Statement.cpp

    r55 r64  
    105105            OpBuffer[obp++]=(char)0xD8;
    106106        }
    107         if(i2==DEF_OBJECT){
     107        if(i2==DEF_STRUCT){
    108108            //mov ebx,eax
    109109            op_mov_RR(REG_EBX,REG_EAX);
     
    13361336            else temp=pCompilingSubInfo->name;
    13371337
     1338            /*
     1339            TODO: 消す
    13381340            if( pCompilingSubInfo->isReturnRef ){
    13391341                //参照型
     
    13411343            }
    13421344            else{
    1343                 //値型
     1345                //値型*/
    13441346                char temporary[VN_SIZE];
    13451347                sprintf(temporary,"%s=%s",temp,Parameter);
    13461348                OpcodeCalc(temporary);
    1347             }
     1349            //}
    13481350        }
    13491351
     
    13531355}
    13541356
    1355 void Opcode_Input(char *Parameter){
     1357void Opcode_Input(const char *Parameter){
    13561358    extern int cp;
    13571359    int i2,i3,i4,i5,type;
    13581360    BOOL bFile;
    13591361    char temporary[VN_SIZE],temp2[VN_SIZE],buffer[VN_SIZE];
    1360 
    1361     KillStringSpaces(Parameter);
    13621362
    13631363    if(Parameter[0]=='#'){
     
    14691469    Opcode_CallProc(buffer,psi,0,"",0);
    14701470}
    1471 void Opcode_PrintUsing(char *Parameter,char *buffer,BOOL bFile){
     1471void Opcode_PrintUsing(const char *Parameter,char *buffer,BOOL bFile){
    14721472    extern int cp;
    14731473    int i2,i3,i4,i5;
     
    14751475    BOOL bReturnLine;
    14761476
    1477     i2=lstrlen(Parameter);
    1478     if(Parameter[i2-1]==';'){
     1477    char parms[8192];
     1478    lstrcpy( parms, Parameter );
     1479
     1480    i2=lstrlen(parms);
     1481    if(parms[i2-1]==';'){
    14791482        bReturnLine=0;
    1480         Parameter[i2-1]=0;
     1483        parms[i2-1]=0;
    14811484    }
    14821485    else bReturnLine=1;
     
    14841487    i3=lstrlen(buffer);
    14851488    for(i2=0;;i2++,i3++){
    1486         if(Parameter[i2]==';'){
     1489        if(parms[i2]==';'){
    14871490            buffer[i3]=0;
    14881491            break;
    14891492        }
    1490         buffer[i3]=Parameter[i2];
    1491         if(Parameter[i2]=='\0') break;
    1492     }
    1493     if(Parameter[i2]==';') i2++;
     1493        buffer[i3]=parms[i2];
     1494        if(parms[i2]=='\0') break;
     1495    }
     1496    if(parms[i2]==';') i2++;
    14941497
    14951498    if(bReturnLine) lstrcat(buffer,"+Ex\"\\r\\n\"");
     
    14991502    while(1){
    15001503        for(i3=0;;i2++,i3++){
    1501             if(Parameter[i2]=='\"'){
    1502                 temporary[i3]=Parameter[i2];
     1504            if(parms[i2]=='\"'){
     1505                temporary[i3]=parms[i2];
    15031506                for(i2++,i3++;;i2++,i3++){
    1504                     temporary[i3]=Parameter[i2];
    1505                     if(Parameter[i2]=='\"') break;
     1507                    temporary[i3]=parms[i2];
     1508                    if(parms[i2]=='\"') break;
    15061509                }
    15071510                continue;
    15081511            }
    1509             if(Parameter[i2]=='('){
    1510                 i5=GetStringInPare(temporary+i3,Parameter+i2);
     1512            if(parms[i2]=='('){
     1513                i5=GetStringInPare(temporary+i3,parms+i2);
    15111514                i2+=i5-1;
    15121515                i3+=i5-1;
    15131516                continue;
    15141517            }
    1515             if(Parameter[i2]=='['){
    1516                 i5=GetStringInBracket(temporary+i3,Parameter+i2);
     1518            if(parms[i2]=='['){
     1519                i5=GetStringInBracket(temporary+i3,parms+i2);
    15171520                i2+=i5-1;
    15181521                i3+=i5-1;
    15191522                continue;
    15201523            }
    1521             if(Parameter[i2]==','){
     1524            if(parms[i2]==','){
    15221525                temporary[i3]=0;
    15231526                i2++;
    15241527                break;
    15251528            }
    1526             temporary[i3]=Parameter[i2];
    1527             if(Parameter[i2]=='\0') break;
     1529            temporary[i3]=parms[i2];
     1530            if(parms[i2]=='\0') break;
    15281531        }
    15291532        if(temporary[0]=='\0'){
     
    15541557
    15551558        i4++;
    1556         if(Parameter[i2]=='\0') break;
     1559        if(parms[i2]=='\0') break;
    15571560    }
    15581561    sprintf(temp2,"_System_UsingDataType[%d]=-1",i4);
     
    15681571    Opcode_CallProc(buffer,psi,0,"",0);
    15691572}
    1570 void Opcode_Print(char *Parameter,BOOL bWrite){
     1573void Opcode_Print(const char *Parameter,BOOL bWrite){
    15711574    int i2,i3,i4,sw;
    15721575    char temporary[VN_SIZE],buffer[VN_SIZE];
    15731576    BOOL bFile;
    1574 
    1575     KillStringSpaces(Parameter);
    15761577
    15771578    if(Parameter[0]=='#'){
Note: See TracChangeset for help on using the changeset viewer.