#pragma once #include "Source.h" #include "../TypeDef.h" #include "Namespace.h" class Smoothie{ public: class Logger{ static string log; public: static void Initialize(){ #ifdef _DEBUG log = ""; ofstream ofs( ( (string)BasicSystemDir + "Log\\compile.log" ).c_str(), ios_base::trunc ); ofs.close(); #endif } static void Put( const string &text ); static void PutFile( const string &fileName, const string &buffer ){ ofstream ofs( ( (string)BasicSystemDir + "Log\\" + fileName ).c_str() ); ofs << buffer << endl; ofs.close(); } }; class Lexical{ public: static BasicSource source; static NamespaceScopes liveingNamespaceScopes; }; class Meta{ public: // TypeDef static TypeDefCollection typeDefs; static vector procPointers; static NamespaceScopesCollection namespaceScopesCollection; static NamespaceScopesCollection importedNamespaces; }; };