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