source: dev/BasicCompiler_Common/include/Smoothie.h@ 143

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

Smoothie::Metaクラス内を整理

File size: 1.2 KB
Line 
1#pragma once
2
3#include "Source.h"
4#include "../TypeDef.h"
5#include "Namespace.h"
6
7class Smoothie{
8public:
9
10 class Logger{
11 static string log;
12 public:
13 static void Initialize(){
14#ifdef _DEBUG
15 log = "";
16
17 ofstream ofs( ( (string)BasicSystemDir + "Log\\compile.log" ).c_str(), ios_base::trunc );
18 ofs.close();
19#endif
20 }
21 static void Put( const string &text );
22 static void PutFile( const string &fileName, const string &buffer ){
23 ofstream ofs( ( (string)BasicSystemDir + "Log\\" + fileName ).c_str() );
24 ofs << buffer << endl;
25 ofs.close();
26 }
27 };
28
29 class Lexical{
30 public:
31 static BasicSource source;
32 static NamespaceScopes liveingNamespaceScopes;
33 };
34
35 // プロジェクト中に存在するメタ情報
36 class Meta{
37 public:
38 // 名前空間
39 static NamespaceScopesCollection namespaceScopesCollection;
40
41 // クラス
42
43 // TypeDef
44 static TypeDefCollection typeDefs;
45
46 // 関数ポインタ
47 static vector<ProcPointer *> procPointers;
48
49 // blittable型
50 static BlittableTypes blittableTypes;
51 };
52
53 // コンパイル中に一時的に利用する
54 class Temp{
55 public:
56 // 現在インポートされている名前空間
57 static NamespaceScopesCollection importedNamespaces;
58 };
59
60 static bool isFullCompile;
61};
Note: See TracBrowser for help on using the repository browser.