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

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

CodeGeneratorクラスのベースを実装

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