Ignore:
Timestamp:
Apr 2, 2007, 12:10:02 AM (17 years ago)
Author:
dai_9181
Message:

House→Smoothie
Sourceクラスを用意した。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • BasicCompiler_Common/DebugMiddleFile.cpp

    r87 r88  
    6060
    6161    extern char *basbuf;
    62     i3=lstrlen(basbuf);
    63 
    6462    BufferSize=lstrlen(basbuf)+65535;
    6563    buffer=(char *)HeapAlloc(hHeap,0,BufferSize);
     
    138136    // TypeDef情報
    139137    //////////////////
    140     *(long *)(buffer+i2)=(int)House::Meta::typeDefs.size();
    141     i2+=sizeof(long);
    142     for(i3=0;i3<(int)House::Meta::typeDefs.size();i3++){
    143         lstrcpy(buffer+i2,House::Meta::typeDefs[i3].GetNewName().c_str() );
    144         i2+=lstrlen(buffer+i2)+1;
    145 
    146         lstrcpy(buffer+i2,House::Meta::typeDefs[i3].GetBaseName().c_str() );
     138    *(long *)(buffer+i2)=(int)Smoothie::Meta::typeDefs.size();
     139    i2+=sizeof(long);
     140    for(i3=0;i3<(int)Smoothie::Meta::typeDefs.size();i3++){
     141        lstrcpy(buffer+i2,Smoothie::Meta::typeDefs[i3].GetNewName().c_str() );
     142        i2+=lstrlen(buffer+i2)+1;
     143
     144        lstrcpy(buffer+i2,Smoothie::Meta::typeDefs[i3].GetBaseName().c_str() );
    147145        i2+=lstrlen(buffer+i2)+1;
    148146
     
    466464    //ソースコード
    467465    i2++;
    468     pBaseBuffer=(char *)HeapAlloc(hHeap,0,lstrlen(buffer+i2)+3);
    469     basbuf=pBaseBuffer+2;
    470     lstrcpy(basbuf,buffer+i2);
     466    source.SetBuffer( buffer + i2 );
    471467    i2+=lstrlen(buffer+i2)+1;
    472     extern char *basbuf;
    473     basbuf=this->basbuf;
    474468
    475469    //コードと行番号の関係
     
    505499
    506500    //初期化
    507     House::Meta::typeDefs.clear();
     501    Smoothie::Meta::typeDefs.clear();
    508502
    509503    //個数を取得
     
    514508        i2+=lstrlen(buffer+i2)+1;
    515509
    516         House::Meta::typeDefs.push_back( TypeDef( temp5, buffer+i2 ) );
     510        Smoothie::Meta::typeDefs.push_back( TypeDef( temp5, buffer+i2 ) );
    517511
    518512        i2+=lstrlen(buffer+i2)+1;
     
    934928
    935929    //ソースコード
    936     extern char *pBaseBuffer;
    937     extern char *basbuf;
    938     pBaseBuffer=this->pBaseBuffer;
    939     basbuf=this->basbuf;
     930    Smoothie::Lexical::source = source;
    940931
    941932    //コードと行番号の関係
     
    991982    DeleteConstInfo(ppConstHash);
    992983
    993     //ソースコードを解放
    994     HeapDefaultFree(pBaseBuffer);
    995 
    996984    //コードと行番号の関係を解放
    997985    HeapDefaultFree(pLineInfo);
Note: See TracChangeset for help on using the changeset viewer.