#pragma once #include #include #include #include #include #include class Compiler { // 名前空間サポート NamespaceSupporter namespaceSupporter; public: NamespaceSupporter &GetNamespaceSupporter() { return namespaceSupporter; } // オブジェクトモジュール ObjectModule objectModule; // コード生成機構 CodeGenerator codeGenerator; // リンカ Linker linker; static bool StringToType( const std::string &typeName, Type &type ); static const std::string TypeToString( const Type &type ); // コンパイル中のクラス const CClass *pCompilingClass; }; extern Compiler compiler;