Changeset 322 in dev for trunk/abdev/BasicCompiler32


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

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

Location:
trunk/abdev/BasicCompiler32
Files:
3 edited

Legend:

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

    r312 r322  
    13051305                    </File>
    13061306                    <File
     1307                        RelativePath="..\BasicCompiler_Common\src\Delegate.cpp"
     1308                        >
     1309                    </File>
     1310                    <File
    13071311                        RelativePath="..\BasicCompiler_Common\src\Exception.cpp"
    13081312                        >
     
    13341338                    <File
    13351339                        RelativePath="..\BasicCompiler_Common\src\ObjectModule.cpp"
     1340                        >
     1341                    </File>
     1342                    <File
     1343                        RelativePath="..\BasicCompiler_Common\src\Parameter.cpp"
    13361344                        >
    13371345                    </File>
     
    14781486                    </File>
    14791487                    <File
     1488                        RelativePath="..\BasicCompiler_Common\include\Delegate.h"
     1489                        >
     1490                    </File>
     1491                    <File
    14801492                        RelativePath="..\BasicCompiler_Common\include\Exception.h"
    14811493                        >
  • trunk/abdev/BasicCompiler32/MakePeHdr.cpp

    r308 r322  
    150150    SynonymErrorWords=(char **)HeapAlloc(hHeap,0,1);
    151151
    152     //列挙体に関する情報の初期化
     152    //列挙体に関する情報を収集
    153153    CEnumParent::InitEnum();
    154154
    155155    //列挙体からクラスコードを生成
    156156    char *temp;
    157     temp=CEnumParent::GenerateCodes();
     157    temp=CEnumParent::GenerateSourceCode();
    158158    AddSourceCode(temp);
    159159    HeapDefaultFree(temp);
     
    164164        compiler.GetObjectModule().meta.GetNamespaces()
    165165    );
     166
     167    // デリゲートに関する情報を収集
     168    {
     169        compiler.GetObjectModule().meta.GetDelegates().Collect(
     170            compiler.GetObjectModule().GetCurrentSource()
     171        );
     172        compiler.GetObjectModule().meta.GetDelegates().Iterator_Init();
     173
     174        // デリゲートからクラスコードを生成
     175        std::string tempSource;
     176        compiler.GetObjectModule().meta.GetDelegates().GenerateSourceCode( tempSource );
     177        AddSourceCode( tempSource.c_str() );
     178    }
    166179
    167180    //クラス名を取得(詳細情報はGetAllClassInfoで取得)
  • trunk/abdev/BasicCompiler32/stdafx.h

    r299 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.