Changeset 256 in dev for trunk/abdev/BasicCompiler_Common


Ignore:
Timestamp:
Aug 1, 2007, 11:19:01 PM (17 years ago)
Author:
dai_9181
Message:

MetaImplを廃止し、Metaにした。
ObjectModuleクラス、Linkerクラスを用意。

Location:
trunk/abdev/BasicCompiler_Common
Files:
1 added
26 edited
1 moved

Legend:

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

    r206 r256  
    4242}
    4343
    44 void CFileBreakPoint::update(char *OpBuffer){
     44void CFileBreakPoint::update(char *nativeCodeBuffer){
    4545    extern INCLUDEFILEINFO IncludeFileInfo;
    4646
     
    8585            }
    8686
    87             OpBuffer[pLineInfo[i3].TopObp]=(char)0xCC;
     87            nativeCodeBuffer[pLineInfo[i3].TopObp]=(char)0xCC;
    8888
    8989            nCount++;
     
    177177}
    178178
    179 char *CDBBreakPoint::update(char *OpBuffer,int SizeOf_CodeSection){
     179char *CDBBreakPoint::update(char *nativeCodeBuffer,int SizeOf_CodeSection){
    180180    char *buffer;
    181181    buffer=(char *)HeapAlloc(hHeap,0,SizeOf_CodeSection);
    182     memcpy(buffer,OpBuffer,SizeOf_CodeSection);
     182    memcpy(buffer,nativeCodeBuffer,SizeOf_CodeSection);
    183183
    184184    int i;
  • trunk/abdev/BasicCompiler_Common/BreakPoint.h

    r4 r256  
    1414    void remove(int iLineNum);
    1515
    16     void update(char *OpBuffer);
     16    void update(char *nativeCodeBuffer);
    1717};
    1818
     
    2828    void remove(char *lpszFileName,int iLineNum);
    2929
    30     char *update(char *OpBuffer,int SizeOf_CodeSection);
     30    char *update(char *nativeCodeBuffer,int SizeOf_CodeSection);
    3131};
    3232
  • trunk/abdev/BasicCompiler_Common/Debug.cpp

    r233 r256  
    230230}
    231231UserProc *GetSubFromObp(ULONG_PTR pos){
    232     compiler.GetMeta().GetUserProcs().Iterator_Reset();
    233     while( compiler.GetMeta().GetUserProcs().Iterator_HasNext() )
     232    compiler.objectModule.meta.GetUserProcs().Iterator_Reset();
     233    while( compiler.objectModule.meta.GetUserProcs().Iterator_HasNext() )
    234234    {
    235         UserProc *pUserProc = compiler.GetMeta().GetUserProcs().Iterator_GetNext();
     235        UserProc *pUserProc = compiler.objectModule.meta.GetUserProcs().Iterator_GetNext();
    236236
    237237        if(rva_to_real(pUserProc->GetBeginOpAddress()) <= pos  &&
  • trunk/abdev/BasicCompiler_Common/DebugMiddleFile.cpp

    r232 r256  
    3737        (*p)+=lstrlen(buffer+(*p))+1;
    3838
    39         type.SetClassPtr( compiler.GetMeta().GetClasses().Find(szClassName) );
     39        type.SetClassPtr( compiler.objectModule.meta.GetClasses().Find(szClassName) );
    4040    }
    4141    else{
     
    121121
    122122    //イテレータをリセット
    123     compiler.GetMeta().GetClasses().Iterator_Reset();
     123    compiler.objectModule.meta.GetClasses().Iterator_Reset();
    124124
    125125    //個数
    126     *(long *)(buffer+i2)=compiler.GetMeta().GetClasses().Iterator_GetMaxCount();
    127     i2+=sizeof(long);
    128 
    129     while(compiler.GetMeta().GetClasses().Iterator_HasNext()){
     126    *(long *)(buffer+i2)=compiler.objectModule.meta.GetClasses().Iterator_GetMaxCount();
     127    i2+=sizeof(long);
     128
     129    while(compiler.objectModule.meta.GetClasses().Iterator_HasNext()){
    130130        CClass *pobj_c;
    131         pobj_c=compiler.GetMeta().GetClasses().Iterator_GetNext();
     131        pobj_c=compiler.objectModule.meta.GetClasses().Iterator_GetNext();
    132132
    133133        //クラス名
     
    141141    // TypeDef情報
    142142    //////////////////
    143     *(long *)(buffer+i2)=(int)compiler.GetMeta().GetTypeDefs().size();
    144     i2+=sizeof(long);
    145     for(i3=0;i3<(int)compiler.GetMeta().GetTypeDefs().size();i3++){
    146         lstrcpy(buffer+i2,compiler.GetMeta().GetTypeDefs()[i3].GetName().c_str() );
    147         i2+=lstrlen(buffer+i2)+1;
    148 
    149         lstrcpy(buffer+i2,compiler.GetMeta().GetTypeDefs()[i3].GetBaseName().c_str() );
     143    *(long *)(buffer+i2)=(int)compiler.objectModule.meta.GetTypeDefs().size();
     144    i2+=sizeof(long);
     145    for(i3=0;i3<(int)compiler.objectModule.meta.GetTypeDefs().size();i3++){
     146        lstrcpy(buffer+i2,compiler.objectModule.meta.GetTypeDefs()[i3].GetName().c_str() );
     147        i2+=lstrlen(buffer+i2)+1;
     148
     149        lstrcpy(buffer+i2,compiler.objectModule.meta.GetTypeDefs()[i3].GetBaseName().c_str() );
    150150        i2+=lstrlen(buffer+i2)+1;
    151151
     
    159159
    160160    //グローバル変数情報
    161     *(long *)(buffer+i2)=(int)compiler.GetMeta().GetGlobalVars().size();
    162     i2+=sizeof(long);
    163     BOOST_FOREACH( Variable *pVar, compiler.GetMeta().GetGlobalVars() ){
     161    *(long *)(buffer+i2)=(int)compiler.objectModule.meta.GetGlobalVars().size();
     162    i2+=sizeof(long);
     163    BOOST_FOREACH( Variable *pVar, compiler.objectModule.meta.GetGlobalVars() ){
    164164        //変数名
    165165        lstrcpy(buffer+i2,pVar->GetName().c_str());
     
    212212
    213213    //プロシージャ情報
    214     *(long *)(buffer+i2) = compiler.GetMeta().GetUserProcs().Iterator_GetMaxCount();
    215     i2+=sizeof(long);
    216     compiler.GetMeta().GetUserProcs().Iterator_Reset();
    217     while( compiler.GetMeta().GetUserProcs().Iterator_HasNext() )
     214    *(long *)(buffer+i2) = compiler.objectModule.meta.GetUserProcs().Iterator_GetMaxCount();
     215    i2+=sizeof(long);
     216    compiler.objectModule.meta.GetUserProcs().Iterator_Reset();
     217    while( compiler.objectModule.meta.GetUserProcs().Iterator_HasNext() )
    218218    {
    219         UserProc *pUserProc = compiler.GetMeta().GetUserProcs().Iterator_GetNext();
     219        UserProc *pUserProc = compiler.objectModule.meta.GetUserProcs().Iterator_GetNext();
    220220
    221221        if(pUserProc->GetParentClassPtr()){
     
    309309
    310310    //イテレータをリセット
    311     compiler.GetMeta().GetClasses().Iterator_Reset();
    312 
    313     while(compiler.GetMeta().GetClasses().Iterator_HasNext()){
     311    compiler.objectModule.meta.GetClasses().Iterator_Reset();
     312
     313    while(compiler.objectModule.meta.GetClasses().Iterator_HasNext()){
    314314        CClass *pobj_c;
    315         pobj_c=compiler.GetMeta().GetClasses().Iterator_GetNext();
     315        pobj_c=compiler.objectModule.meta.GetClasses().Iterator_GetNext();
    316316
    317317
     
    510510    }
    511511
    512     compiler.GetMeta().SetClasses( this->pobj_DBClass );
     512    compiler.objectModule.meta.SetClasses( this->pobj_DBClass );
    513513
    514514
     
    518518
    519519    //初期化
    520     compiler.GetMeta().GetTypeDefs().clear();
     520    compiler.objectModule.meta.GetTypeDefs().clear();
    521521
    522522    //個数を取得
     
    528528
    529529        // 名前空間に未対応
    530         compiler.GetMeta().GetTypeDefs().push_back( TypeDef( NamespaceScopes(), temp5, buffer+i2, -1 ) );
     530        compiler.objectModule.meta.GetTypeDefs().push_back( TypeDef( NamespaceScopes(), temp5, buffer+i2, -1 ) );
    531531
    532532        i2+=lstrlen(buffer+i2)+1;
     
    535535    //定数を取得
    536536    GetConstInfo();
    537     this->globalConsts = compiler.GetMeta().GetGlobalConsts();
    538     this->globalConstMacros = compiler.GetMeta().GetGlobalConstMacros();
     537    this->globalConsts = compiler.objectModule.meta.GetGlobalConsts();
     538    this->globalConstMacros = compiler.objectModule.meta.GetGlobalConstMacros();
    539539
    540540    //グローバル変数情報
    541     compiler.GetMeta().GetGlobalVars().clear();
     541    compiler.objectModule.meta.GetGlobalVars().clear();
    542542    int maxGlobalVars=*(long *)(buffer+i2);
    543543    i2+=sizeof(long);
     
    586586
    587587        //変数を追加
    588         compiler.GetMeta().GetGlobalVars().push_back( pVar );
     588        compiler.objectModule.meta.GetGlobalVars().push_back( pVar );
    589589    }
    590590
     
    604604        const CClass *pClass = NULL;
    605605        if(szParentClassName[0]){
    606             pClass=compiler.GetMeta().GetClasses().Find(szParentClassName);
     606            pClass=compiler.objectModule.meta.GetClasses().Find(szParentClassName);
    607607        }
    608608
     
    698698        i2+=lstrlen(buffer+i2)+1;
    699699
    700         pobj_c =  const_cast<CClass *>( compiler.GetMeta().GetClasses().Find(szClassName) );
     700        pobj_c =  const_cast<CClass *>( compiler.objectModule.meta.GetClasses().Find(szClassName) );
    701701
    702702        //仮想関数の数
     
    755755            const CClass *pobj_InheritsClass = NULL;
    756756            if(szInherits[0]){
    757                 pobj_InheritsClass=compiler.GetMeta().GetClasses().Find(szInherits);
     757                pobj_InheritsClass=compiler.objectModule.meta.GetClasses().Find(szInherits);
    758758            }
    759759
     
    765765            if(pobj_temp_c==0) pobj_temp_c=pobj_c;
    766766
    767             UserProc *pUserProc = compiler.GetMeta().GetUserProcs().GetHashArrayElement( temp2 );
     767            UserProc *pUserProc = compiler.objectModule.meta.GetUserProcs().GetHashArrayElement( temp2 );
    768768            while(pUserProc){
    769769                if( pUserProc->GetName() == temp2 &&pUserProc->GetParentClassPtr()==pobj_temp_c)
     
    821821
    822822
    823     compiler.GetMeta().GetUserProcs() = userProcs;
     823    compiler.objectModule.meta.GetUserProcs() = userProcs;
    824824    pSub_DebugSys_EndProc=GetSubHash("_DebugSys_EndProc");
    825825
     
    962962
    963963    // クラス情報
    964     compiler.GetMeta().SetClasses( this->pobj_DBClass );
     964    compiler.objectModule.meta.SetClasses( this->pobj_DBClass );
    965965
    966966    //定数を取得
    967     compiler.GetMeta().GetGlobalConsts() = this->globalConsts;
    968     compiler.GetMeta().GetGlobalConstMacros() = this->globalConstMacros;
     967    compiler.objectModule.meta.GetGlobalConsts() = this->globalConsts;
     968    compiler.objectModule.meta.GetGlobalConstMacros() = this->globalConstMacros;
    969969
    970970    //グローバル実行領域のサイズ
     
    973973
    974974    //プロシージャ
    975     compiler.GetMeta().GetUserProcs() = userProcs;
     975    compiler.objectModule.meta.GetUserProcs() = userProcs;
    976976
    977977    extern const UserProc *pSub_DebugSys_EndProc;
  • trunk/abdev/BasicCompiler_Common/Diagnose.cpp

    r206 r256  
    4040        int codeSizeOfGlobalProc = 0;
    4141        int codeSizeOfClassMethod = 0;
    42         compiler.GetMeta().GetUserProcs().Iterator_Reset();
    43         while( compiler.GetMeta().GetUserProcs().Iterator_HasNext() )
     42        compiler.objectModule.meta.GetUserProcs().Iterator_Reset();
     43        while( compiler.objectModule.meta.GetUserProcs().Iterator_HasNext() )
    4444        {
    45             UserProc *pUserProc = compiler.GetMeta().GetUserProcs().Iterator_GetNext();
     45            UserProc *pUserProc = compiler.objectModule.meta.GetUserProcs().Iterator_GetNext();
    4646            if( pUserProc->IsCompiled() ){
    4747                if( pUserProc->HasParentClass() ){
     
    6868        // イテレータをリセット
    6969        extern Classes *pobj_DBClass;
    70         compiler.GetMeta().GetClasses().Iterator_Reset();
     70        compiler.objectModule.meta.GetClasses().Iterator_Reset();
    7171
    72         while( compiler.GetMeta().GetClasses().Iterator_HasNext() ){
     72        while( compiler.objectModule.meta.GetClasses().Iterator_HasNext() ){
    7373            int codeSizeOfClass = 0;
    7474
    75             CClass &objClass = *compiler.GetMeta().GetClasses().Iterator_GetNext();
     75            CClass &objClass = *compiler.objectModule.meta.GetClasses().Iterator_GetNext();
    7676
    7777            if( !objClass.IsEnum() ){
     
    108108        // イテレータをリセット
    109109        extern Classes *pobj_DBClass;
    110         compiler.GetMeta().GetClasses().Iterator_Reset();
     110        compiler.objectModule.meta.GetClasses().Iterator_Reset();
    111111
    112         while( compiler.GetMeta().GetClasses().Iterator_HasNext() ){
     112        while( compiler.objectModule.meta.GetClasses().Iterator_HasNext() ){
    113113            int codeSizeOfClass = 0;
    114114
    115             CClass &objClass = *compiler.GetMeta().GetClasses().Iterator_GetNext();
     115            CClass &objClass = *compiler.objectModule.meta.GetClasses().Iterator_GetNext();
    116116
    117117            // 動的メソッド
  • trunk/abdev/BasicCompiler_Common/Intermediate_Step2.cpp

    r206 r256  
    7979
    8080        //定数を追加
    81         compiler.GetMeta().GetGlobalConsts().Add( namespaceScopes, temporary, NextValue);
     81        compiler.objectModule.meta.GetGlobalConsts().Add( namespaceScopes, temporary, NextValue);
    8282    }
    8383}
     
    9595
    9696    //定数に関する情報を初期化
    97     compiler.GetMeta().GetGlobalConsts().Clear();
    98     compiler.GetMeta().GetGlobalConstMacros().Clear();
     97    compiler.objectModule.meta.GetGlobalConsts().Clear();
     98    compiler.objectModule.meta.GetGlobalConstMacros().Clear();
    9999
    100100    extern char *basbuf;
     
    172172
    173173    // イテレータを初期化
    174     compiler.GetMeta().GetGlobalConsts().Iterator_Init();
    175     compiler.GetMeta().GetGlobalConstMacros().Iterator_Init();
     174    compiler.objectModule.meta.GetGlobalConsts().Iterator_Init();
     175    compiler.objectModule.meta.GetGlobalConstMacros().Iterator_Init();
    176176
    177177    return true;
  • trunk/abdev/BasicCompiler_Common/MakeExe.cpp

    r209 r256  
    137137    extern int AllGlobalVarSize;
    138138    extern int AllInitGlobalVarSize;
    139     compiler.GetMeta().GetGlobalVars().clear();
     139    compiler.objectModule.meta.GetGlobalVars().clear();
    140140    AllGlobalVarSize=0;
    141141    AllInitGlobalVarSize=0;
  • trunk/abdev/BasicCompiler_Common/NumOpe_GetType.cpp

    r254 r256  
    330330        Type leftType;
    331331        if( GetTermType( termLeft, leftType, isLiteral, &isClassName ) ){
    332             if( isClassName == false && compiler.GetMeta().GetBlittableTypes().IsExist( leftType ) ){
     332            if( isClassName == false && compiler.objectModule.meta.GetBlittableTypes().IsExist( leftType ) ){
    333333                // 左側のオブジェクト部分がBlittable型のとき
    334334
     
    336336                lstrcpy( temporary, termLeft );
    337337                sprintf( termLeft, "%s(%s)",
    338                     compiler.GetMeta().GetBlittableTypes().Find( leftType ).GetCreateStaticMethodFullName().c_str(),
     338                    compiler.objectModule.meta.GetBlittableTypes().Find( leftType ).GetCreateStaticMethodFullName().c_str(),
    339339                    temporary );
    340340
     
    398398
    399399    if( pIsClassName ){
    400         if( compiler.GetMeta().GetClasses().Find( termFull ) ){
     400        if( compiler.objectModule.meta.GetClasses().Find( termFull ) ){
    401401            *pIsClassName = true;
    402402            return true;
     
    457457        else
    458458        {
    459             ConstMacro *pConstMacro = compiler.GetMeta().GetGlobalConstMacros().Find( procName );
     459            ConstMacro *pConstMacro = compiler.objectModule.meta.GetGlobalConstMacros().Find( procName );
    460460            if( pConstMacro )
    461461            {
     
    689689                        //要求タイプがオブジェクト、または未定のとき
    690690                        type_stack[sp]=DEF_OBJECT;
    691                         index_stack[sp]=(LONG_PTR)compiler.GetMeta().GetClasses().GetStringClassPtr();
     691                        index_stack[sp]=(LONG_PTR)compiler.objectModule.meta.GetClasses().GetStringClassPtr();
    692692                        *pIsLiteralCalculation = false;
    693693
     
    734734                        }
    735735                        else{
    736                             index_stack[sp] = (LONG_PTR)compiler.GetMeta().GetClasses().GetObjectClassPtr();
     736                            index_stack[sp] = (LONG_PTR)compiler.objectModule.meta.GetClasses().GetObjectClassPtr();
    737737                        }
    738738                        *pIsLiteralCalculation = false;
     
    746746                    //////////////
    747747
    748                     i3 = compiler.GetMeta().GetGlobalConsts().GetBasicType(term);
     748                    i3 = compiler.objectModule.meta.GetGlobalConsts().GetBasicType(term);
    749749                    if(i3){
    750                         if( compiler.GetMeta().GetGlobalConsts().IsStringPtr( term ) ){
     750                        if( compiler.objectModule.meta.GetGlobalConsts().IsStringPtr( term ) ){
    751751                            //リテラル文字列
    752752                            goto StrLiteral;
  • trunk/abdev/BasicCompiler_Common/Subroutine.cpp

    r255 r256  
    168168        GetVarType(fullCallName,type,false);
    169169
    170         ProcPointer *pProcPtr = compiler.GetMeta().GetProcPointers()[type.GetIndex()];
     170        ProcPointer *pProcPtr = compiler.objectModule.meta.GetProcPointers()[type.GetIndex()];
    171171        resultType = pProcPtr->ReturnType();
    172172
     
    451451
    452452bool IsNeedProcCompile(){
    453     compiler.GetMeta().GetUserProcs().Iterator_Reset();
    454     while( compiler.GetMeta().GetUserProcs().Iterator_HasNext() )
     453    compiler.objectModule.meta.GetUserProcs().Iterator_Reset();
     454    while( compiler.objectModule.meta.GetUserProcs().Iterator_HasNext() )
    455455    {
    456         UserProc *pUserProc = compiler.GetMeta().GetUserProcs().Iterator_GetNext();
     456        UserProc *pUserProc = compiler.objectModule.meta.GetUserProcs().Iterator_GetNext();
    457457        if( pUserProc->IsUsing() && pUserProc->IsCompiled() == false ){
    458458            return true;
  • trunk/abdev/BasicCompiler_Common/VarList.cpp

    r220 r256  
    275275    extern int MemPos_RWSection;
    276276
    277     BOOST_FOREACH( Variable *pVar, compiler.GetMeta().GetGlobalVars() ){
     277    BOOST_FOREACH( Variable *pVar, compiler.objectModule.meta.GetGlobalVars() ){
    278278
    279279        //スコープ外の場合は無視
     
    358358
    359359    UserProc *pUserProc = NULL;
    360     compiler.GetMeta().GetUserProcs().Iterator_Reset();
    361     while( compiler.GetMeta().GetUserProcs().Iterator_HasNext() )
     360    compiler.objectModule.meta.GetUserProcs().Iterator_Reset();
     361    while( compiler.objectModule.meta.GetUserProcs().Iterator_HasNext() )
    362362    {
    363         pUserProc = compiler.GetMeta().GetUserProcs().Iterator_GetNext();
     363        pUserProc = compiler.objectModule.meta.GetUserProcs().Iterator_GetNext();
    364364        if(rva_to_real(pUserProc->GetBeginOpAddress()) <= pobj_dti->lplpObp[i2]  &&
    365365            pobj_dti->lplpObp[i2] < rva_to_real(pUserProc->GetEndOpAddress())){
     
    605605
    606606        UserProc *pUserProc = NULL;
    607         compiler.GetMeta().GetUserProcs().Iterator_Reset();
    608         while( compiler.GetMeta().GetUserProcs().Iterator_HasNext() )
     607        compiler.objectModule.meta.GetUserProcs().Iterator_Reset();
     608        while( compiler.objectModule.meta.GetUserProcs().Iterator_HasNext() )
    609609        {
    610             pUserProc = compiler.GetMeta().GetUserProcs().Iterator_GetNext();
     610            pUserProc = compiler.objectModule.meta.GetUserProcs().Iterator_GetNext();
    611611
    612612            if(rva_to_real(pUserProc->GetBeginOpAddress()) <= pobj_dti->lplpObp[i2]  &&
     
    718718
    719719        UserProc *pUserProc = NULL;
    720         compiler.GetMeta().GetUserProcs().Iterator_Reset();
    721         while( compiler.GetMeta().GetUserProcs().Iterator_HasNext() )
     720        compiler.objectModule.meta.GetUserProcs().Iterator_Reset();
     721        while( compiler.objectModule.meta.GetUserProcs().Iterator_HasNext() )
    722722        {
    723             pUserProc = compiler.GetMeta().GetUserProcs().Iterator_GetNext();
     723            pUserProc = compiler.objectModule.meta.GetUserProcs().Iterator_GetNext();
    724724
    725725            if(rva_to_real(pUserProc->GetBeginOpAddress()) <= pobj_dti->lplpObp[i2]  &&
  • trunk/abdev/BasicCompiler_Common/VariableOpe.cpp

    r248 r256  
    220220        if(lpIndex==-1) lstrcpy(name,"VoidPtr");
    221221        else{
    222             if( compiler.GetMeta().GetProcPointers()[lpIndex]->ReturnType().IsNull() )
     222            if( compiler.objectModule.meta.GetProcPointers()[lpIndex]->ReturnType().IsNull() )
    223223                lstrcpy(name,"*Sub");
    224224            else lstrcpy(name,"*Function");
     
    235235
    236236Type GetStringTypeInfo(){
    237     Type type( DEF_OBJECT, *compiler.GetMeta().GetClasses().GetStringClassPtr() );
     237    Type type( DEF_OBJECT, *compiler.objectModule.meta.GetClasses().GetStringClassPtr() );
    238238    return type;
    239239}
     
    575575    // 名前空間を分離
    576576    char namespaceStr[VN_SIZE]="", simpleName[VN_SIZE];
    577     compiler.GetMeta().GetNamespaces().SplitNamespace( variable, namespaceStr, simpleName );
     577    compiler.objectModule.meta.GetNamespaces().SplitNamespace( variable, namespaceStr, simpleName );
    578578
    579579    // 先頭オブジェクトまたはクラス名と入れ子メンバに分割
     
    647647        GetNowStaticVarFullName(VarName,temporary);
    648648
    649         pVar = compiler.GetMeta().GetGlobalVars().Find( Symbol( temporary ) );
     649        pVar = compiler.objectModule.meta.GetGlobalVars().Find( Symbol( temporary ) );
    650650        if( pVar ){
    651651            goto ok;
     
    667667        }
    668668
    669         int typeDefIndex = compiler.GetMeta().GetTypeDefs().GetIndex( VarName );
     669        int typeDefIndex = compiler.objectModule.meta.GetTypeDefs().GetIndex( VarName );
    670670        if( typeDefIndex != -1 ){
    671671            // TypeDef後の型名だったとき
    672             lstrcpy( VarName, compiler.GetMeta().GetTypeDefs()[typeDefIndex].GetBaseName().c_str() );
     672            lstrcpy( VarName, compiler.objectModule.meta.GetTypeDefs()[typeDefIndex].GetBaseName().c_str() );
    673673        }
    674674
     
    676676        sprintf(temp2,"%s.%s",VarName,temporary);
    677677
    678         pVar = compiler.GetMeta().GetGlobalVars().Find( Symbol( temp2 ) );
     678        pVar = compiler.objectModule.meta.GetGlobalVars().Find( Symbol( temp2 ) );
    679679        if( pVar ){
    680680            lstrcpy(member,tempMember);
     
    689689        sprintf(temp2,"%s.%s",compiler.pCompilingClass->GetName().c_str(),VarName);
    690690
    691         pVar = compiler.GetMeta().GetGlobalVars().Find( Symbol( temp2 ) );
     691        pVar = compiler.objectModule.meta.GetGlobalVars().Find( Symbol( temp2 ) );
    692692        if( pVar ){
    693693            goto ok;
     
    700700    ////////////////////
    701701
    702     pVar = compiler.GetMeta().GetGlobalVars().BackSearch( Symbol( VarName ) );
     702    pVar = compiler.objectModule.meta.GetGlobalVars().BackSearch( Symbol( VarName ) );
    703703    if( pVar ){
    704704        goto ok;
     
    973973    extern int AllGlobalVarSize;
    974974
    975     if( compiler.GetMeta().GetGlobalVars().DuplicateCheck( Symbol( name ) ) ){
     975    if( compiler.objectModule.meta.GetGlobalVars().DuplicateCheck( Symbol( name ) ) ){
    976976        //2重定義のエラー
    977977        SetError(15,name,cp);
     
    997997
    998998    // 変数を追加
    999     compiler.GetMeta().GetGlobalVars().push_back( pVar );
     999    compiler.objectModule.meta.GetGlobalVars().push_back( pVar );
    10001000
    10011001    //アラインメントを考慮
     
    11051105
    11061106        //定数と2重定義されていないる場合は抜け出す
    1107         if(compiler.GetMeta().GetGlobalConsts().GetBasicType(VarName)){
     1107        if(compiler.objectModule.meta.GetGlobalConsts().GetBasicType(VarName)){
    11081108            return;
    11091109        }
    11101110
    11111111        //定数マクロとして定義されている場合は抜け出す
    1112         if( compiler.GetMeta().GetGlobalConstMacros().IsExist( VarName ) )
     1112        if( compiler.objectModule.meta.GetGlobalConstMacros().IsExist( VarName ) )
    11131113        {
    11141114            return;
     
    11261126
    11271127    //定数と2重定義されていないかを調べる
    1128     if(compiler.GetMeta().GetGlobalConsts().GetBasicType(VarName)){
     1128    if(compiler.objectModule.meta.GetGlobalConsts().GetBasicType(VarName)){
    11291129        SetError(15,VarName,cp);
    11301130        return;
     
    11321132
    11331133    //定数マクロとして定義されている場合
    1134     if( compiler.GetMeta().GetGlobalConstMacros().IsExist( VarName ) ){
     1134    if( compiler.objectModule.meta.GetGlobalConstMacros().IsExist( VarName ) ){
    11351135        SetError(15,VarName,cp);
    11361136        return;
  • trunk/abdev/BasicCompiler_Common/WatchList.cpp

    r206 r256  
    440440        ///////////////////
    441441
    442         const Variable *pVar = compiler.GetMeta().GetGlobalVars().Find( VarName );
     442        const Variable *pVar = compiler.objectModule.meta.GetGlobalVars().Find( VarName );
    443443        if( !pVar ){
    444444            //一致しないとき
  • trunk/abdev/BasicCompiler_Common/calculation.cpp

    r254 r256  
    500500                        //定数関数
    501501
    502                         ConstMacro *pConstMacro = compiler.GetMeta().GetGlobalConstMacros().Find( temporary );
     502                        ConstMacro *pConstMacro = compiler.objectModule.meta.GetGlobalConstMacros().Find( temporary );
    503503                        if( !pConstMacro )
    504504                        {
     
    665665                        /////////
    666666                        StrPtr[pnum]=0;
    667                         type[pnum] = compiler.GetMeta().GetGlobalConsts().GetBasicType(Parms);
     667                        type[pnum] = compiler.objectModule.meta.GetGlobalConsts().GetBasicType(Parms);
    668668                        if(type[pnum]){
    669669                            if(IsRealNumberType(type[pnum])){
    670670                                //実数型
    671                                 nums[pnum] = compiler.GetMeta().GetGlobalConsts().GetDoubleData(Parms);
     671                                nums[pnum] = compiler.objectModule.meta.GetGlobalConsts().GetDoubleData(Parms);
    672672                            }
    673673                            else if(IsWholeNumberType(type[pnum])){
    674674                                //整数
    675                                 i64nums[pnum] = compiler.GetMeta().GetGlobalConsts().GetWholeData(Parms);
     675                                i64nums[pnum] = compiler.objectModule.meta.GetGlobalConsts().GetWholeData(Parms);
    676676                            }
    677677/*                          else if(type[pnum]==DEF_STRING){
     
    12211221
    12221222                    //定数
    1223                     ConstMacro *pConstMacro = compiler.GetMeta().GetGlobalConstMacros().Find( temporary );
     1223                    ConstMacro *pConstMacro = compiler.objectModule.meta.GetGlobalConstMacros().Find( temporary );
    12241224                    if(pConstMacro){
    12251225                        //マクロ関数の場合
     
    12311231
    12321232                //定数
    1233                 i3 = compiler.GetMeta().GetGlobalConsts().GetBasicType(Command+i2);
     1233                i3 = compiler.objectModule.meta.GetGlobalConsts().GetBasicType(Command+i2);
    12341234                if(i3==DEF_STRING) return 1;    //文字列
    12351235                if(i3) return 0;            //数値
  • trunk/abdev/BasicCompiler_Common/hash.cpp

    r209 r256  
    3333
    3434    // ハッシュ値を取得
    35     DllProc *pDllProc = compiler.GetMeta().GetDllProcs().GetHashArrayElement( simpleName );
     35    DllProc *pDllProc = compiler.objectModule.meta.GetDllProcs().GetHashArrayElement( simpleName );
    3636    while(pDllProc){
    3737        if( pDllProc->IsEqualSymbol( fullName ) ){
     
    7474            }
    7575            else{
    76                 pobj_c=compiler.GetMeta().GetClasses().Find(ObjName);
     76                pobj_c=compiler.objectModule.meta.GetClasses().Find(ObjName);
    7777                if( pobj_c ){
    7878                    isStatic = true;
     
    107107
    108108    // グローバル関数を検索
    109     compiler.GetMeta().GetUserProcs().EnumGlobalProcs( NestMember, name, subs );
     109    compiler.objectModule.meta.GetUserProcs().EnumGlobalProcs( NestMember, name, subs );
    110110}
    111111
     
    151151
    152152const UserProc *GetClassMethod( const char *className, const char *methodName ){
    153     const CClass *pClass = compiler.GetMeta().GetClasses().Find( className );
     153    const CClass *pClass = compiler.objectModule.meta.GetClasses().Find( className );
    154154    if( pClass ){
    155155        vector<const UserProc *> userProcs;
  • trunk/abdev/BasicCompiler_Common/include/BoostSerializationSupport.h

    r215 r256  
    2626    bool WriteXml( const string &xmlFilePath, bool isShowExceptionMessage = true ) const;
    2727
    28     bool ReadBinaly( const string &filePath, bool isShowExceptionMessage = true );
    29     bool WriteBinaly( const string &filePath, bool isShowExceptionMessage = true ) const;
     28    bool ReadBinary( const string &filePath, bool isShowExceptionMessage = true );
     29    bool WriteBinary( const string &filePath, bool isShowExceptionMessage = true ) const;
    3030
    3131    bool ReadText( const string &filePath, bool isShowExceptionMessage = true );
  • trunk/abdev/BasicCompiler_Common/include/Compiler.h

    r225 r256  
    33#include <CodeGenerator.h>
    44#include <NamespaceSupporter.h>
    5 #include <MetaImpl.h>
     5#include <Meta.h>
    66#include <DataTable.h>
    77#include <CodeGenerator.h>
     8#include <Linker.h>
    89
    910class Compiler
     
    1112    // 名前空間サポート
    1213    NamespaceSupporter namespaceSupporter;
    13 
    14     // メタ情報
    15     MetaImpl metaImpl;
    16 
    17     // データテーブル
    18     DataTable dataTable;
    1914
    2015public:
     
    2520    }
    2621
    27     MetaImpl &GetMeta()
    28     {
    29         return metaImpl;
    30     }
    31 
    32     DataTable &GetDataTable()
    33     {
    34         return dataTable;
    35     }
    36 
    37     // グローバル領域のネイティブコード
    38     NativeCode globalNativeCode;
     22    // オブジェクトモジュール
     23    ObjectModule objectModule;
    3924
    4025    // コード生成機構
    4126    CodeGenerator codeGenerator;
     27
     28    // リンカ
     29    Linker linker;
    4230
    4331    static bool StringToType( const std::string &typeName, Type &type );
  • trunk/abdev/BasicCompiler_Common/include/DataTable.h

    r184 r256  
    11#pragma once
     2
     3#include <BoostSerializationSupport.h>
    24
    35//DataTable.cpp
    46class DataTable{
    5     void *pdata;
     7    char *buffer;
    68    int size;
    79
     10    // XMLシリアライズ用
     11private:
     12    friend class boost::serialization::access;
     13    BOOST_SERIALIZATION_SPLIT_MEMBER();
     14    template<class Archive> void load(Archive& ar, const unsigned int version)
     15    {
     16        std::string _buffer;
     17        ar & BOOST_SERIALIZATION_NVP( _buffer );
     18        ar & BOOST_SERIALIZATION_NVP( size );
     19
     20        // 読み込み後の処理
     21        Realloc( size );
     22        for( int i=0; i<size; i++ )
     23        {
     24            if( _buffer[i*3+2] != ',' )
     25            {
     26                //エラー
     27                DebugBreak();
     28            }
     29            ULONG_PTR l;
     30            sscanf( _buffer.c_str() + i*3, "%02x,", &l );
     31            buffer[i] = (char)l;
     32        }
     33    }
     34    template<class Archive> void save(Archive& ar, const unsigned int version) const
     35    {
     36        // 保存準備
     37        char *tempCode = (char *)calloc( (size+1) * 3, 1 );
     38        for( int i=0; i<size; i++ )
     39        {
     40            char temp[32];
     41            sprintf( temp, "%02x,", (unsigned char)buffer[i] );
     42            tempCode[i*3] = temp[0];
     43            tempCode[i*3+1] = temp[1];
     44            tempCode[i*3+2] = temp[2];
     45        }
     46
     47        std::string _buffer = tempCode;
     48        free( tempCode );
     49
     50        ar & BOOST_SERIALIZATION_NVP( _buffer );
     51        ar & BOOST_SERIALIZATION_NVP( size );
     52    }
     53
    854public:
    9     DataTable();
    10     ~DataTable();
    11     void Init();
     55    DataTable()
     56        : buffer( (char *)malloc(100) )
     57        , size( 0 )
     58    {
     59        lstrcpy( buffer, "initialized!!!" );
     60    }
     61    DataTable( const DataTable &dataTable )
     62        : buffer( (char *)malloc(100) )
     63        , size( 0 )
     64    {
     65        lstrcpy( buffer, "initialized!!!" );
     66        AddBinary( dataTable.GetPtr(), dataTable.GetSize() );
     67    }
     68    ~DataTable()
     69    {
     70        free( buffer );
     71    }
     72    void Clear()
     73    {
     74        size = 0;
     75    }
    1276
    13     int AddBinary( const void *pdata, int size );
     77    void operator =( const DataTable &dataTable )
     78    {
     79        Clear();
     80        AddBinary( dataTable.GetPtr(), dataTable.GetSize() );
     81    }
     82
     83    void Realloc( int size );
     84    int AddBinary( const void *buffer, int size );
    1485    int Add( _int64 i64data );
    1586    int Add( int i32data );
  • trunk/abdev/BasicCompiler_Common/include/Meta.h

    r255 r256  
    1111#include <Const.h>
    1212
    13 class MetaImpl : public Jenga::Common::BoostSerializationSupport<MetaImpl>
     13class Meta
    1414{
    1515    // 名前空間
     
    4545    // XMLシリアライズ用
    4646private:
    47     virtual const char *RootTagName() const
    48     {
    49         return "metaImpl";
    50     }
    5147    friend class boost::serialization::access;
    5248    template<class Archive> void serialize(Archive& ar, const unsigned int version)
    5349    {
    54         trace_for_serialize( "serializing - MetaImpl" );
     50        trace_for_serialize( "serializing - Meta" );
    5551
    5652        ar & BOOST_SERIALIZATION_NVP( namespaceScopesCollection );
     
    6965
    7066public:
    71     MetaImpl()
     67    Meta()
    7268        : classesImpl()
    7369        , pNowClassesForDebugger( &classesImpl )
  • trunk/abdev/BasicCompiler_Common/include/NativeCode.h

    r253 r256  
    3939    template<class Archive> void serialize(Archive& ar, const unsigned int version)
    4040    {
     41        trace_for_serialize( "serializing - Schedule" );
     42
    4143        ar & BOOST_SERIALIZATION_NVP( type );
    4244        ar & BOOST_SERIALIZATION_NVP( offset );
     
    9496    template<class Archive> void load(Archive& ar, const unsigned int version)
    9597    {
     98        trace_for_serialize( "serializing(load) - NativeCode" );
     99
    96100        std::string code;
    97101        ar & BOOST_SERIALIZATION_NVP( code );
     
    103107        for( int i=0; i<size; i++ )
    104108        {
    105             char c;
    106             sscanf( code.c_str() + i*3, "%02x,", &c );
    107             codeBuffer[i] = c;
     109            ULONG_PTR l;
     110            sscanf( code.c_str() + i*3, "%02x,", &l );
     111            codeBuffer[i] = (char)l;
    108112        }
    109113    }
    110114    template<class Archive> void save(Archive& ar, const unsigned int version) const
    111115    {
     116        trace_for_serialize( "serializing(save) - NativeCode" );
     117
    112118        // 保存準備
    113         char *tempCode = (char *)malloc( (size+1) * 3 );
     119        char *tempCode = (char *)calloc( (size+1) * 3, 1 );
    114120        for( int i=0; i<size; i++ )
    115121        {
    116122            char temp[32];
    117             sprintf( temp, "%02x,", codeBuffer[i] );
     123            sprintf( temp, "%02x,", (unsigned char)codeBuffer[i] );
    118124            tempCode[i*3] = temp[0];
    119125            tempCode[i*3+1] = temp[1];
     
    130136
    131137
    132     void Realloc( int additionSize = 0 )
    133     {
    134         if( allocateSize < size + 8192 + additionSize )
    135         {
    136             while( allocateSize < size + 8192 + additionSize )
     138    void Realloc( int newSize )
     139    {
     140        if( allocateSize < newSize + 8192 )
     141        {
     142            while( allocateSize < newSize + 8192 )
    137143            {
    138144                allocateSize += 8192;
     
    149155    {
    150156    }
     157    NativeCode( const NativeCode &nativeCode )
     158        : allocateSize( 8192 )
     159        , codeBuffer( (char *)malloc( allocateSize ) )
     160        , size( 0 )
     161    {
     162        Put( nativeCode );
     163    }
    151164    NativeCode( const char *codeBuffer, int size )
    152165        : allocateSize( 8192 )
     
    165178    }
    166179
     180    void operator =( const NativeCode &nativeCode )
     181    {
     182        Clear();
     183        Put( nativeCode );
     184    }
     185
    167186    int GetSize() const
    168187    {
     
    203222    void Put( const char *codeBuffer, int size )
    204223    {
    205         Realloc( size );
     224        Realloc( this->size + size );
    206225
    207226        memcpy( this->codeBuffer + this->size, codeBuffer, size );
     
    268287    void Put( char c )
    269288    {
     289        Realloc( size + 1 );
    270290        codeBuffer[size++] = c;
    271         Realloc();
    272291
    273292
  • trunk/abdev/BasicCompiler_Common/include/SmoothieImpl.h

    r206 r256  
    33#include <jenga/include/smoothie/Smoothie.h>
    44
    5 #include <MetaImpl.h>
     5#include <Meta.h>
    66
    77class SmoothieImpl : public Smoothie
  • trunk/abdev/BasicCompiler_Common/src/BoostSerializationSupport.cpp

    r215 r256  
    1717#include <BoostSerializationSupport.h>
    1818
    19 #include <MetaImpl.h>
    20 #include <logger.h>
    21 
    2219#include <windows.h>
    2320
     
    119116}
    120117
    121 template<class T_xml_schema> bool BoostSerializationSupport<T_xml_schema>::ReadBinaly( const string &filePath, bool isShowExceptionMessage )
     118template<class T_xml_schema> bool BoostSerializationSupport<T_xml_schema>::ReadBinary( const string &filePath, bool isShowExceptionMessage )
    122119{
    123120    // 入力アーカイブの作成
     
    157154    return true;
    158155}
    159 template<class T_xml_schema> bool BoostSerializationSupport<T_xml_schema>::WriteBinaly( const string &filePath, bool isShowExceptionMessage ) const
     156template<class T_xml_schema> bool BoostSerializationSupport<T_xml_schema>::WriteBinary( const string &filePath, bool isShowExceptionMessage ) const
    160157{
    161158    // 出力アーカイブの作成
     
    301298
    302299
    303 template class Jenga::Common::BoostSerializationSupport<MetaImpl>;
     300#include <Compiler.h>
     301#include <logger.h>
     302
     303template class Jenga::Common::BoostSerializationSupport<ObjectModule>;
    304304template class Jenga::Common::BoostSerializationSupport<LoggerSetting>;
  • trunk/abdev/BasicCompiler_Common/src/Class.cpp

    r232 r256  
    189189
    190190        //継承元クラスを取得
    191         const CClass *pInheritsClass = compiler.GetMeta().GetClasses().Find(temporary);
     191        const CClass *pInheritsClass = compiler.objectModule.meta.GetClasses().Find(temporary);
    192192        if( !pInheritsClass ){
    193193            SmoothieException::Throw(106,temporary,nowLine);
     
    219219    if( !isInheritsClass ){
    220220        // クラスを一つも継承していないとき
    221         const CClass *pObjectClass = compiler.GetMeta().GetClasses().Find("Object");
     221        const CClass *pObjectClass = compiler.objectModule.meta.GetClasses().Find("Object");
    222222        if( !pObjectClass ){
    223223            SmoothieException::Throw(106,"Object",i);
     
    243243
    244244        //継承元クラスを取得
    245         const CClass *pInheritsClass = compiler.GetMeta().GetClasses().Find(temporary);
     245        const CClass *pInheritsClass = compiler.objectModule.meta.GetClasses().Find(temporary);
    246246        if( !pInheritsClass ){
    247247            SmoothieException::Throw(106,temporary,nowLine);
     
    282282        //継承先が読み取られていないとき
    283283        pobj_LoopRefCheck->add(this->GetName().c_str());
    284         compiler.GetMeta().GetClasses().GetClass_recur(inheritsClass.GetName().c_str());
     284        compiler.objectModule.meta.GetClasses().GetClass_recur(inheritsClass.GetName().c_str());
    285285        pobj_LoopRefCheck->del(this->GetName().c_str());
    286286    }
     
    344344        //継承先が読み取られていないとき
    345345        pobj_LoopRefCheck->add(this->GetName().c_str());
    346         compiler.GetMeta().GetClasses().GetClass_recur(inheritsInterface.GetName().c_str());
     346        compiler.objectModule.meta.GetClasses().GetClass_recur(inheritsInterface.GetName().c_str());
    347347        pobj_LoopRefCheck->del(this->GetName().c_str());
    348348    }
     
    427427
    428428    //関数ハッシュへ登録
    429     UserProc *pUserProc = compiler.GetMeta().GetUserProcs().Add( NamespaceScopes(), NamespaceScopesCollection(), buffer,nowLine,isVirtual,pobj_c, (bStatic!=0) );
     429    UserProc *pUserProc = compiler.objectModule.meta.GetUserProcs().Add( NamespaceScopes(), NamespaceScopesCollection(), buffer,nowLine,isVirtual,pobj_c, (bStatic!=0) );
    430430    if(!pUserProc) return;
    431431
     
    716716    }
    717717
    718     vtbl_offset=compiler.GetDataTable().AddBinary((void *)ppsi,GetVtblNum()*sizeof(LONG_PTR));
     718    vtbl_offset=compiler.objectModule.dataTable.AddBinary((void *)ppsi,GetVtblNum()*sizeof(LONG_PTR));
    719719
    720720    for( int i=0; i < GetVtblNum(); i++ ){
     
    730730
    731731    LONG_PTR *pVtbl;
    732     pVtbl=(LONG_PTR *)((char *)compiler.GetDataTable().GetPtr()+vtbl_offset);
     732    pVtbl=(LONG_PTR *)((char *)compiler.objectModule.dataTable.GetPtr()+vtbl_offset);
    733733
    734734    int i;
     
    831831
    832832    // Blittable型管理オブジェクトを初期化
    833     compiler.GetMeta().GetBlittableTypes().clear();
     833    compiler.objectModule.meta.GetBlittableTypes().clear();
    834834
    835835    // 名前空間管理
     
    951951
    952952                    // Blittable型として登録
    953                     compiler.GetMeta().GetBlittableTypes().push_back( BlittableType( blittableType, pClass ) );
     953                    compiler.objectModule.meta.GetBlittableTypes().push_back( BlittableType( blittableType, pClass ) );
    954954                }
    955955        }
     
    16561656
    16571657    // TypeDefも見る
    1658     int index = compiler.GetMeta().GetTypeDefs().GetIndex( namespaceScopes, name );
     1658    int index = compiler.objectModule.meta.GetTypeDefs().GetIndex( namespaceScopes, name );
    16591659    if( index != -1 ){
    1660         Type type = compiler.GetMeta().GetTypeDefs()[index].GetBaseType();
     1660        Type type = compiler.objectModule.meta.GetTypeDefs()[index].GetBaseType();
    16611661        if( type.IsObject() ){
    16621662            return &type.GetClass();
  • trunk/abdev/BasicCompiler_Common/src/Compiler.cpp

    r206 r256  
    1616                //関数ポインタ(*Function)
    1717                type.SetBasicType( DEF_PTR_PROC );
    18                 type.SetIndex( compiler.GetMeta().GetProcPointers().Add( typeName ) );
     18                type.SetIndex( compiler.objectModule.meta.GetProcPointers().Add( typeName ) );
    1919                return true;
    2020        }
     
    4242    // Object型だったとき
    4343    if( typeName == "Object" ){
    44         type.SetType( DEF_OBJECT, compiler.GetMeta().GetClasses().GetObjectClassPtr() );
     44        type.SetType( DEF_OBJECT, compiler.objectModule.meta.GetClasses().GetObjectClassPtr() );
    4545        return true;
    4646    }
     
    4848    // String型だったとき
    4949    if( typeName == "String" ){
    50         type.SetType( DEF_OBJECT, compiler.GetMeta().GetClasses().GetStringClassPtr() );
     50        type.SetType( DEF_OBJECT, compiler.objectModule.meta.GetClasses().GetStringClassPtr() );
    5151        return true;
    5252    }
     
    5656    // TypeDefされた型
    5757    ////////////////////
    58     int i=compiler.GetMeta().GetTypeDefs().GetIndex( typeName );
     58    int i=compiler.objectModule.meta.GetTypeDefs().GetIndex( typeName );
    5959    if(i!=-1){
    60         type = compiler.GetMeta().GetTypeDefs()[i].GetBaseType();
     60        type = compiler.objectModule.meta.GetTypeDefs()[i].GetBaseType();
    6161        return true;
    6262    }
    6363
    6464    //クラス
    65     const CClass *pobj_c = compiler.GetMeta().GetClasses().Find( typeName );
     65    const CClass *pobj_c = compiler.objectModule.meta.GetClasses().Find( typeName );
    6666    if(pobj_c){
    6767        type.SetClassPtr( pobj_c );
     
    104104        }
    105105        else{
    106             if( compiler.GetMeta().GetProcPointers()[type.GetIndex()]->ReturnType().IsNull() ){
     106            if( compiler.objectModule.meta.GetProcPointers()[type.GetIndex()]->ReturnType().IsNull() ){
    107107                return "*Sub";
    108108            }
  • trunk/abdev/BasicCompiler_Common/src/Const.cpp

    r254 r256  
    2828
    2929    //重複チェック
    30     if( compiler.GetMeta().GetGlobalConstMacros().IsExist( name )
    31         || compiler.GetMeta().GetGlobalConsts().IsExist( name ) )
     30    if( compiler.objectModule.meta.GetGlobalConstMacros().IsExist( name )
     31        || compiler.objectModule.meta.GetGlobalConsts().IsExist( name ) )
    3232    {
    3333        SetError(15,name,cp);
     
    3838        //定数マクロ
    3939
    40         compiler.GetMeta().GetGlobalConstMacros().Add( namespaceScopes, name, buffer + i );
     40        compiler.objectModule.meta.GetGlobalConstMacros().Add( namespaceScopes, name, buffer + i );
    4141    }
    4242    else{
     
    4444        char *expression = buffer + i + 1;
    4545
    46         compiler.GetMeta().GetGlobalConsts().Add( namespaceScopes, name, expression );
     46        compiler.objectModule.meta.GetGlobalConsts().Add( namespaceScopes, name, expression );
    4747    }
    4848}
  • trunk/abdev/BasicCompiler_Common/src/DataTable.cpp

    r206 r256  
    88#include <stdlib.h>
    99
    10 DataTable::DataTable(){
    11     pdata = malloc( 1 );
    12     size = 0;
    13 }
    14 DataTable::~DataTable(){
    15     free( pdata );
     10void DataTable::Realloc( int size )
     11{
     12    this->buffer = (char *)realloc( this->buffer, size + 100 );
     13    this->size = size;
    1614}
    1715
    18 void DataTable::Init(){
    19     free( pdata );
    20 
    21     pdata = malloc( 1 );
    22     size = 0;
    23 }
    24 
    25 int DataTable::AddBinary( const void *pdata, int size ){
     16int DataTable::AddBinary( const void *buffer, int size ){
    2617    int retSize = this->size;
    2718
    28     this->pdata = realloc( this->pdata, this->size + size );
    29     memcpy( (char *)this->pdata + this->size, pdata, size );
    30     this->size += size;
     19    Realloc( this->size + size );
     20    memcpy( (char *)this->buffer + retSize, buffer, size );
    3121
    3222    return retSize;
     
    8979const void *DataTable::GetPtr() const
    9080{
    91     return pdata;
     81    return buffer;
    9282}
    9383int DataTable::GetSize() const
  • trunk/abdev/BasicCompiler_Common/src/LexicalScope.cpp

    r254 r256  
    7272
    7373    Variables &vars = UserProc::IsGlobalAreaCompiling() ?
    74         compiler.GetMeta().GetGlobalVars() :
     74        compiler.objectModule.meta.GetGlobalVars() :
    7575        UserProc::CompilingUserProc().GetLocalVars();
    7676
     
    9898
    9999    Variables &vars = UserProc::IsGlobalAreaCompiling() ?
    100         compiler.GetMeta().GetGlobalVars() :
     100        compiler.objectModule.meta.GetGlobalVars() :
    101101        UserProc::CompilingUserProc().GetLocalVars();
    102102
  • trunk/abdev/BasicCompiler_Common/src/NamespaceSupporter.cpp

    r206 r256  
    99{
    1010    NamespaceScopes namespaceScopes( namespaceStr );
    11     if( !compiler.GetMeta().GetNamespaces().IsExist( namespaceScopes ) ){
     11    if( !compiler.objectModule.meta.GetNamespaces().IsExist( namespaceScopes ) ){
    1212        return false;
    1313    }
Note: See TracChangeset for help on using the changeset viewer.