source: dev/trunk/abdev/BasicCompiler_Common/include/Compiler.h@ 245

Last change on this file since 245 was 225, checked in by dai_9181, 17 years ago

CodeGeneratorクラスのベースを実装

File size: 878 bytes
RevLine 
[184]1#pragma once
2
3#include <CodeGenerator.h>
[199]4#include <NamespaceSupporter.h>
[193]5#include <MetaImpl.h>
[224]6#include <DataTable.h>
[225]7#include <CodeGenerator.h>
[193]8
[184]9class Compiler
10{
[199]11 // 名前空間サポート
12 NamespaceSupporter namespaceSupporter;
13
14 // メタ情報
[193]15 MetaImpl metaImpl;
16
[224]17 // データテーブル
18 DataTable dataTable;
19
[184]20public:
[193]21
[199]22 NamespaceSupporter &GetNamespaceSupporter()
23 {
24 return namespaceSupporter;
25 }
26
[193]27 MetaImpl &GetMeta()
28 {
29 return metaImpl;
30 }
31
[224]32 DataTable &GetDataTable()
33 {
34 return dataTable;
35 }
36
[225]37 // グローバル領域のネイティブコード
38 NativeCode globalNativeCode;
39
40 // コード生成機構
41 CodeGenerator codeGenerator;
42
[193]43 static bool StringToType( const std::string &typeName, Type &type );
44 static const std::string TypeToString( const Type &type );
[206]45
46 // コンパイル中のクラス
47 const CClass *pCompilingClass;
[184]48};
[193]49
[195]50extern Compiler compiler;
Note: See TracBrowser for help on using the repository browser.