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