Changeset 268 in dev for trunk/abdev/BasicCompiler_Common


Ignore:
Timestamp:
Aug 8, 2007, 3:22:49 AM (17 years ago)
Author:
dai_9181
Message:
 
Location:
trunk/abdev/BasicCompiler_Common
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler_Common/DebugMiddleFile.cpp

    r266 r268  
    102102    }
    103103
     104    // ソースコード
     105    {
     106        int length = compiler.source.GetLength();
     107        if(BufferSize<i2+(int)length+32768){
     108            while( BufferSize<i2+(int)length+32768 )
     109            {
     110                BufferSize+=32768;
     111            }
     112
     113            buffer=(char *)HeapReAlloc(hHeap,0,buffer,BufferSize);
     114        }
     115
     116        // バッファ
     117        lstrcpy( buffer + i2, compiler.source.GetBuffer() );
     118        i2 += lstrlen(buffer + i2) + 1;
     119    }
    104120
    105121    //インクルード情報
     
    215231    }
    216232
     233    // ソースコード
     234    {
     235        // バッファ
     236        compiler.source.SetBuffer(buffer+i2);
     237        i2 += lstrlen( buffer+i2 ) + 1;
     238    }
     239
    217240    //インクルード情報
    218241    _IncludeFileInfo.FilesNum=*(long *)(buffer+i2);
     
    225248        i2+=lstrlen(buffer+i2)+1;
    226249    }
    227     for(i2++,i3=0;;i2++,i3++){
    228         _IncludeFileInfo.LineOfFile[i3]=(long)buffer[i2];
     250    for(i3=0;;i3++){
     251        _IncludeFileInfo.LineOfFile[i3]=(long)buffer[i2++];
    229252        if(_IncludeFileInfo.LineOfFile[i3]==-1) break;
    230253    }
    231254
    232255    //コードと行番号の関係
    233     int maxLineInfoNum;
    234     maxLineInfoNum=*(long *)(buffer+i2);
     256    int maxLineInfoNum = *(long *)(buffer+i2);
    235257    i2+=sizeof(long);
    236258    for(i3=0;i3<maxLineInfoNum;i3++){
  • trunk/abdev/BasicCompiler_Common/Enum.cpp

    r266 r268  
    115115    iEnumParentNum=0;
    116116
    117     const char *source = compiler.GetObjectModule().source.GetBuffer();
     117    const char *source = compiler.source.GetBuffer();
    118118
    119119    // 名前空間管理
  • trunk/abdev/BasicCompiler_Common/MakeExe.cpp

    r266 r268  
    2424
    2525    //最後尾に貼り付け
    26     compiler.GetObjectModule().source.Addition( temp );
     26    compiler.source.Addition( temp );
    2727
    2828    HeapDefaultFree(temp);
     
    5757    //プログラムをファイルから読み込む
    5858    extern char SourceFileName[MAX_PATH];
    59     if( !compiler.GetObjectModule().source.ReadFile( SourceFileName ) ){
     59    if( !compiler.source.ReadFile( SourceFileName ) ){
    6060        SetError(201,SourceFileName,-1);
    6161        goto EndCompile;
     
    143143    AllInitGlobalVarSize=0;
    144144
    145 
    146     /*
    147     int t,t2;
    148     t=GetTickCount();
    149     Compile();
    150     t2=GetTickCount();
    151     t2-=t;
    152     char s[100];
    153     sprintf(s,"%d",t2);
    154     MessageBox(0,s,"test",0);*/
    155145    Compile();
    156146
  • trunk/abdev/BasicCompiler_Common/include/Compiler.h

    r266 r268  
    3434        return namespaceSupporter;
    3535    }
     36
     37    // ソースコード
     38    BasicSource source;
    3639
    3740    // コード生成機構
  • trunk/abdev/BasicCompiler_Common/include/Linker.h

    r266 r268  
    1212    // データテーブル
    1313    DataTable dataTable;
    14 
    15     // ソースコード
    16     BasicSource source;
    1714
    1815    // XMLシリアライズ用
     
    3027        ar & BOOST_SERIALIZATION_NVP( globalNativeCode );
    3128        ar & BOOST_SERIALIZATION_NVP( dataTable );
    32         ar & BOOST_SERIALIZATION_NVP( source );
    3329    }
    3430};
  • trunk/abdev/BasicCompiler_Common/include/Source.h

    r266 r268  
    2525    int length;
    2626
    27     // XMLシリアライズ用
    28 private:
    29     friend class boost::serialization::access;
    30     BOOST_SERIALIZATION_SPLIT_MEMBER();
    31     template<class Archive> void load(Archive& ar, const unsigned int version)
    32     {
    33         trace_for_serialize( "serializing(load) - Text" );
    34 
    35         std::string str;
    36         ar & BOOST_SERIALIZATION_NVP( str );
    37 
    38         // 読み込み後の処理
    39         Clear();
    40         Add( str );
    41     }
    42     template<class Archive> void save(Archive& ar, const unsigned int version) const
    43     {
    44         trace_for_serialize( "serializing(save) - Text" );
    45 
    46         // 保存準備
    47         std::string str( buffer, length );
    48 
    49         ar & BOOST_SERIALIZATION_NVP( str );
    50     }
    5127public:
    5228
     
    6844        length += (int)str.size();
    6945    }
     46    void Add( const std::vector<char> &str )
     47    {
     48        buffer = (char *)realloc( buffer, length + str.size() + 1 );
     49        lstrcpy( buffer + length, &str[0] );
     50        length += (int)str.size();
     51    }
    7052
    7153    bool ReadFile( const string &filePath );
     
    8264class BasicSource : public Text
    8365{
    84     // XMLシリアライズ用
    85 private:
    86     friend class boost::serialization::access;
    87     template<class Archive> void serialize(Archive& ar, const unsigned int version)
    88     {
    89         trace_for_serialize( "serializing - BasicSource" );
    90 
    91         ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP( Text );
    92     }
    93 
    9466    static const string generateDirectiveName;
    9567
Note: See TracChangeset for help on using the changeset viewer.