Changeset 322 in dev for trunk/abdev/BasicCompiler64


Ignore:
Timestamp:
Sep 24, 2007, 2:58:10 PM (17 years ago)
Author:
dai_9181
Message:

コンパイラ組み込みテンプレートエンジンを実装。
静的リンクライブラリ、デバッグ情報の内部形式をテキストからバイナリに変更した。

Location:
trunk/abdev/BasicCompiler64
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler64/BasicCompiler.vcproj

    r318 r322  
    340340                    </File>
    341341                    <File
     342                        RelativePath="..\BasicCompiler_Common\include\Delegate.h"
     343                        >
     344                    </File>
     345                    <File
    342346                        RelativePath="..\BasicCompiler_Common\include\Exception.h"
    343347                        >
     
    12841288                    </File>
    12851289                    <File
     1290                        RelativePath="..\BasicCompiler_Common\src\Delegate.cpp"
     1291                        >
     1292                    </File>
     1293                    <File
    12861294                        RelativePath="..\BasicCompiler_Common\src\Exception.cpp"
    12871295                        >
     
    13131321                    <File
    13141322                        RelativePath="..\BasicCompiler_Common\src\ObjectModule.cpp"
     1323                        >
     1324                    </File>
     1325                    <File
     1326                        RelativePath="..\BasicCompiler_Common\src\Parameter.cpp"
    13151327                        >
    13161328                    </File>
  • trunk/abdev/BasicCompiler64/MakePeHdr.cpp

    r318 r322  
    139139    SynonymErrorWords=(char **)HeapAlloc(hHeap,0,1);
    140140
    141     //列挙体に関する情報の初期化
     141    //列挙体に関する情報を収集
    142142    CEnumParent::InitEnum();
    143143
    144144    //列挙体からクラスコードを生成
    145145    char *temp;
    146     temp=CEnumParent::GenerateCodes();
     146    temp=CEnumParent::GenerateSourceCode();
    147147    AddSourceCode(temp);
    148148    HeapDefaultFree(temp);
     
    153153        compiler.GetObjectModule().meta.GetNamespaces()
    154154    );
     155
     156    // デリゲートに関する情報を収集
     157    {
     158        compiler.GetObjectModule().meta.GetDelegates().Collect(
     159            compiler.GetObjectModule().GetCurrentSource()
     160        );
     161        compiler.GetObjectModule().meta.GetDelegates().Iterator_Init();
     162
     163        // デリゲートからクラスコードを生成
     164        std::string tempSource;
     165        compiler.GetObjectModule().meta.GetDelegates().GenerateSourceCode( tempSource );
     166        AddSourceCode( tempSource.c_str() );
     167    }
    155168
    156169    //クラス名を取得(詳細情報はGetAllClassInfoで取得)
  • trunk/abdev/BasicCompiler64/stdafx.h

    r308 r322  
    11#pragma once
    22
     3#include <map>
    34#include <string>
    45#include <vector>
     
    1819
    1920#include <jenga/include/common/String.h>
     21#include <jenga/include/common/File.h>
    2022
    2123#include "../BasicCompiler_Common/common.h"
Note: See TracChangeset for help on using the changeset viewer.