Line | |
---|
1 | #pragma once
|
---|
2 |
|
---|
3 | #include "Source.h"
|
---|
4 | #include "../TypeDef.h"
|
---|
5 | #include "Namespace.h"
|
---|
6 |
|
---|
7 | class Smoothie{
|
---|
8 | public:
|
---|
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.