Index: trunk/ab5.0/abdev/ab_common/include/Lexical/Namespace.h
===================================================================
--- trunk/ab5.0/abdev/ab_common/include/Lexical/Namespace.h	(revision 516)
+++ trunk/ab5.0/abdev/ab_common/include/Lexical/Namespace.h	(revision 516)
@@ -0,0 +1,123 @@
+#pragma once
+
+
+namespace ActiveBasic{ namespace Common{ namespace Lexical{
+
+
+class NamespaceScopes : public std::vector<std::string>
+{
+	// XMLシリアライズ用
+private:
+	friend class boost::serialization::access;
+	template<class Archive> void serialize(Archive& ar, const unsigned int version)
+	{
+		ar & boost::serialization::make_nvp("vector_string", boost::serialization::base_object<vector<string>>(*this));
+	}
+
+
+public:
+	NamespaceScopes(){}
+	NamespaceScopes( const std::string &namespaceStr );
+	~NamespaceScopes(){}
+
+	std::string ToString() const
+	{
+		std::string namespaceStr;
+		const std::vector<std::string> &me = *this;
+
+		bool isFirst = true;
+		BOOST_FOREACH( const std::string &itemStr, me ){
+			if( isFirst ){
+				isFirst = false;
+			}
+			else{
+				namespaceStr += ".";
+			}
+
+			namespaceStr += itemStr;
+		}
+		return namespaceStr;
+	}
+
+	// 等しいかをチェック
+	bool IsEqual( const std::string &name ) const
+	{
+		if( ToString() == name ){
+			return true;
+		}
+		return false;
+	}
+
+	// 等しいかをチェック
+	bool IsEqual( const NamespaceScopes &namespaceScopes ) const
+	{
+		if( ToString() == namespaceScopes.ToString() ){
+			return true;
+		}
+		return false;
+	}
+
+	// 所属しているかをチェック
+	// 例:
+	// baseNamespaceScopes =  "Discoversoft"
+	// entryNamespaceScopes = "Discoversoft.ActiveBasic"
+	// この場合、entryNamespaceScopes は baseNamespaceScopes に所属している。
+	static bool IsBelong( const NamespaceScopes &baseNamespaceScopes, const NamespaceScopes &entryNamespaceScopes )
+	{
+		if( baseNamespaceScopes.size() > entryNamespaceScopes.size() ){
+			return false;
+		}
+
+		for( int i=0; i<(int)baseNamespaceScopes.size(); i++ ){
+			if( baseNamespaceScopes[i] != entryNamespaceScopes[i] ){
+				return false;
+			}
+		}
+		return true;
+	}
+};
+
+class NamespaceScopesCollection : public std::vector<NamespaceScopes>
+{
+	// XMLシリアライズ用
+private:
+	friend class boost::serialization::access;
+	template<class Archive> void serialize(Archive& ar, const unsigned int version)
+	{
+		ar & boost::serialization::make_nvp("vector_NamespaceScopes", boost::serialization::base_object<vector<NamespaceScopes>>(*this));
+	}
+
+public:
+	bool IsExist( const NamespaceScopes &namespaceScopes ) const
+	{
+		const NamespaceScopesCollection &namespaceScopesCollection = *this;
+		BOOST_FOREACH( const NamespaceScopes &tempNamespaceScopes, namespaceScopesCollection ){
+			if( tempNamespaceScopes.IsEqual( namespaceScopes ) ){
+				return true;
+			}
+		}
+		return false;
+	}
+	bool IsExist( const std::string &namespaceStr ) const
+	{
+		return IsExist( NamespaceScopes( namespaceStr ) );
+	}
+
+	bool IsImported( const NamespaceScopes &namespaceScopes ) const
+	{
+		const NamespaceScopesCollection &namespaceScopesCollection = *this;
+		BOOST_FOREACH( const NamespaceScopes &tempNamespaceScopes, namespaceScopesCollection )
+		{
+			if( namespaceScopes.IsEqual( tempNamespaceScopes ) )
+			{
+				return true;
+			}
+		}
+		return false;
+	}
+
+	void SplitNamespace( const char *fullName, char *namespaceStr, char *simpleName ) const;
+};
+
+
+}}}
Index: trunk/ab5.0/abdev/ab_common/include/Lexical/NamespaceSupporter.h
===================================================================
--- trunk/ab5.0/abdev/ab_common/include/Lexical/NamespaceSupporter.h	(revision 516)
+++ trunk/ab5.0/abdev/ab_common/include/Lexical/NamespaceSupporter.h	(revision 516)
@@ -0,0 +1,121 @@
+#pragma once
+
+namespace ActiveBasic{ namespace Common{ namespace Lexical{
+
+
+class NamespaceSupporter
+{
+	const NamespaceScopesCollection *allNamespaceScopesCollection;
+
+	// Importsされた名前空間
+	NamespaceScopesCollection importedNamespaces;
+
+	// 現在の名前空間
+	NamespaceScopes livingNamespaceScopes;
+
+public:
+	NamespaceSupporter()
+		: allNamespaceScopesCollection( NULL )
+	{
+	}
+
+	void RegistAllNamespaceScopesCollection( const NamespaceScopesCollection *allNamespaceScopesCollection )
+	{
+		this->allNamespaceScopesCollection = allNamespaceScopesCollection;
+	}
+
+	NamespaceScopesCollection &GetImportedNamespaces()
+	{
+		return importedNamespaces;
+	}
+	void SetImportedNamespaces( const NamespaceScopesCollection &namespaces )
+	{
+		this->importedNamespaces = namespaces;
+	}
+	bool ImportsNamespace( const NamespaceScopes &namespaceScopes );
+	bool ImportsNamespace( const std::string &namespaceStr );
+
+	NamespaceScopes &GetLivingNamespaceScopes()
+	{
+		return livingNamespaceScopes;
+	}
+	void SetLivingNamespaceScopes( const NamespaceScopes &namespaceScopes )
+	{
+		this->livingNamespaceScopes = namespaceScopes;
+	}
+	bool IsLiving( const NamespaceScopes &namespaceScopes ) const
+	{
+		return NamespaceScopes::IsBelong( namespaceScopes, livingNamespaceScopes );
+	}
+
+
+	// 包括しているかをチェック
+	// 例:
+	// this =   "Discoversoft.ActiveBasic"
+	// living = "Discoversoft.ActiveBasic"
+	// entryName =   "ActiveBasic"
+	// この場合、living は entryName を包括している。
+	bool IsCoverd( const NamespaceScopes &namespaceScopes, const std::string &entryName ) const
+	{
+		if( namespaceScopes.IsEqual( entryName ) )
+		{
+			return true;
+		}
+
+		std::string thisStr = namespaceScopes.ToString();
+
+		NamespaceScopes tempLivingNamespaceScopes = livingNamespaceScopes;
+
+		while( tempLivingNamespaceScopes.size() )
+		{
+			std::string tempStr = tempLivingNamespaceScopes.ToString() + "." + entryName;
+			if( thisStr == tempStr )
+			{
+				return true;
+			}
+
+			tempLivingNamespaceScopes.pop_back();
+		}
+		return false;
+	}
+	bool IsCoverd( const NamespaceScopes &baseNamespaceScopes, const NamespaceScopes &entryNamespaceScopes ) const
+	{
+		return IsCoverd( baseNamespaceScopes, entryNamespaceScopes.ToString() );
+	}
+
+
+	// 指定された名前空間が同一エリアと見なされるかどうかをチェック
+	bool IsSameAreaNamespace( const NamespaceScopes &baseNamespaceScopes, const NamespaceScopes &entryNamespaceScopes ) const
+	{
+		if( entryNamespaceScopes.size() )
+		{
+			if( IsCoverd( baseNamespaceScopes, entryNamespaceScopes ) )
+			{
+				// 包括しているときは同一と見なす
+				return true;
+			}
+		}
+		else{
+			if( baseNamespaceScopes.size() )
+			{
+				// 名前空間の判断が必要なとき
+				if( this->importedNamespaces.IsImported( baseNamespaceScopes )
+					|| IsLiving( baseNamespaceScopes ) )
+				{
+					// Using指定があるとき
+					// または
+					// 指定された名前空間が現在の名前空間スコープと同一のとき
+					return true;
+				}
+			}
+			else{
+				return true;
+			}
+		}
+
+		return false;
+	}
+};
+
+
+}}}
Index: trunk/ab5.0/abdev/ab_common/include/Lexical/Prototype.h
===================================================================
--- trunk/ab5.0/abdev/ab_common/include/Lexical/Prototype.h	(revision 516)
+++ trunk/ab5.0/abdev/ab_common/include/Lexical/Prototype.h	(revision 516)
@@ -0,0 +1,114 @@
+#pragma once
+
+namespace ActiveBasic{ namespace Common{ namespace Lexical{
+
+
+class Prototype : public Symbol
+{
+public:
+	enum Accessibility{
+		None,
+		Private,
+		Protected,
+		Public,
+	};
+
+private:
+	mutable bool isUsing;
+
+
+	// XMLシリアライズ用
+private:
+	friend class boost::serialization::access;
+	template<class Archive> void serialize(Archive& ar, const unsigned int version)
+	{
+		ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP( Symbol );
+		ar & BOOST_SERIALIZATION_NVP( isUsing );
+	}
+
+
+public:
+
+	Prototype( const NamespaceScopes &namespaceScopes, const std::string &name )
+		: Symbol( namespaceScopes, name )
+		, isUsing( false )
+	{
+	}
+	Prototype()
+		: Symbol()
+	{
+	}
+	~Prototype()
+	{
+	}
+
+	//自身と等しいかどうかを確認
+	bool IsEquals( const Prototype *prototype ) const
+	{
+		if( this == prototype ){
+			return true;
+		}
+		return false;
+	}
+
+	// 利用状況
+	bool IsUsing() const
+	{
+		return isUsing;
+	}
+	void Using() const
+	{
+		isUsing = true;
+	}
+};
+
+class MemberPrototype
+{
+	Prototype::Accessibility accessibility;
+
+	// XMLシリアライズ用
+private:
+	friend class boost::serialization::access;
+	template<class Archive> void serialize(Archive& ar, const unsigned int version)
+	{
+		ar & BOOST_SERIALIZATION_NVP( accessibility );
+	}
+
+public:
+	MemberPrototype( Prototype::Accessibility accessibility )
+		: accessibility( accessibility )
+	{
+	}
+	MemberPrototype()
+		: accessibility( Prototype::None )
+	{
+	}
+
+	Prototype::Accessibility GetAccessibility() const
+	{
+		return accessibility;
+	}
+	void SetAccessibility( Prototype::Accessibility accessibility ){
+		this->accessibility = accessibility;
+	}
+
+	bool IsNoneAccess() const
+	{
+		return ( accessibility == Prototype::None );
+	}
+	bool IsPrivate() const
+	{
+		return ( accessibility == Prototype::Private );
+	}
+	bool IsProtected() const
+	{
+		return ( accessibility == Prototype::Protected );
+	}
+	bool IsPublic() const
+	{
+		return ( accessibility == Prototype::Public );
+	}
+};
+
+
+}}}
Index: trunk/ab5.0/abdev/ab_common/include/Lexical/Symbol.h
===================================================================
--- trunk/ab5.0/abdev/ab_common/include/Lexical/Symbol.h	(revision 516)
+++ trunk/ab5.0/abdev/ab_common/include/Lexical/Symbol.h	(revision 516)
@@ -0,0 +1,77 @@
+#pragma once
+
+namespace ActiveBasic{ namespace Common{ namespace Lexical{
+
+
+class Symbol
+{
+	static const NamespaceSupporter *namespaceSupporter;
+
+	NamespaceScopes namespaceScopes;
+	std::string name;
+
+	// XMLシリアライズ用
+private:
+	friend class boost::serialization::access;
+	BOOST_SERIALIZATION_SPLIT_MEMBER();
+	template<class Archive> void load(Archive& ar, const unsigned int version)
+	{
+		//trace_for_serialize( "serializing(load) - Symbol" );
+
+		ar & BOOST_SERIALIZATION_NVP( namespaceScopes );
+
+		std::string _name;
+		ar & BOOST_SERIALIZATION_NVP( _name );
+		this->name = Operator_NaturalStringToCalcMarkString( _name );
+	}
+	template<class Archive> void save(Archive& ar, const unsigned int version) const
+	{
+		//trace_for_serialize( "serializing(save) - Symbol" );
+
+		ar & BOOST_SERIALIZATION_NVP( namespaceScopes );
+
+		std::string _name = Operator_CalcMarkStringToNaturalString( name );
+		ar & BOOST_SERIALIZATION_NVP( _name );
+	}
+
+public:
+	bool isTargetObjectModule;
+	Symbol( const NamespaceScopes &namespaceScopes, const std::string &name )
+		: namespaceScopes( namespaceScopes )
+		, name( name )
+		, isTargetObjectModule( true )
+	{
+	}
+	Symbol( const Symbol &symbol )
+		: namespaceScopes( symbol.namespaceScopes )
+		, name( symbol.name )
+		, isTargetObjectModule( true )
+	{
+	}
+	Symbol()
+		: isTargetObjectModule( true )
+	{
+	}
+
+	static void RegistNamespaceSupporter( const NamespaceSupporter *namespaceSupporter )
+	{
+		Symbol::namespaceSupporter = namespaceSupporter;
+	}
+
+	virtual const NamespaceScopes &GetNamespaceScopes() const
+	{
+		return namespaceScopes;
+	}
+	const std::string &GetName() const
+	{
+		return name;
+	}
+	std::string GetFullName() const;
+
+	// シンボル比較
+	bool IsEqualSymbol( const NamespaceScopes &namespaceScopes, const std::string &name ) const;
+	bool IsEqualSymbol( const Symbol &symbol ) const;
+};
+
+
+}}}
Index: trunk/ab5.0/abdev/ab_common/include/Lexical/TypeMisc.h
===================================================================
--- trunk/ab5.0/abdev/ab_common/include/Lexical/TypeMisc.h	(revision 516)
+++ trunk/ab5.0/abdev/ab_common/include/Lexical/TypeMisc.h	(revision 516)
@@ -0,0 +1,73 @@
+#pragma once
+
+#define PTR_SIZE		sizeof(LONG_PTR)
+
+#define DEF_NON			-1
+
+/* basic\command.sbp内の "_System_Type_***" 定数と同期が必要 */
+#define FLAG_PTR		0x80000000
+#define FLAG_CAST		0x40000000
+
+//整数型
+#define DEF_SBYTE		0x00000001
+#define DEF_BYTE		0x00000002
+#define DEF_INTEGER		0x00000003
+#define DEF_WORD		0x00000004
+#define DEF_LONG		0x00000005
+#define DEF_DWORD		0x00000006
+#define DEF_INT64		0x00000007
+#define DEF_QWORD		0x00000008
+
+//実数型
+#define DEF_SINGLE		0x00000009
+#define DEF_DOUBLE		0x0000000A
+
+//文字型
+#define DEF_CHAR		0x0000000B
+
+//bool型
+#define DEF_BOOLEAN		0x0000000C
+
+//文字列型
+#define DEF_STRING		0x0000000D
+
+//ポインタ型
+#define DEF_PTR_VOID	0x0000000E
+#define DEF_PTR_PROC	0x0000000F
+
+//特殊型
+#define DEF_ANY						0x00000015
+#define DEF_ELLIPSE					0x00000016
+#define DEF_OBJECT					0x00000017		// クラス
+#define DEF_STRUCT					0x00000018		// 構造体
+#define DEF_TYPE_PARAMETER			0x00000019		// 型パラメータ（ジェネリクスサポート）
+
+//ポインタ型
+#define MASK_PTR		0x0000ff00
+#define MASK_NATURAL	0x000000ff
+
+#define PTR_LEVEL(t)	(((t)&MASK_PTR)>>8)
+#define NATURAL_TYPE(t)	((t)&MASK_NATURAL)
+#define MAKE_PTR_TYPE(t,p)	((t)|((p)<<8))
+#define PTR_LEVEL_UP(t)		t = MAKE_PTR_TYPE(NATURAL_TYPE(t),PTR_LEVEL(t)+1)
+#define PTR_LEVEL_DOWN(t)	t = MAKE_PTR_TYPE(NATURAL_TYPE(t),PTR_LEVEL(t)-1)
+
+#define DEF_PTR_OBJECT	MAKE_PTR_TYPE(DEF_OBJECT,1)
+#define DEF_PTR_STRUCT	MAKE_PTR_TYPE(DEF_STRUCT,1)
+
+
+
+//NumOpe関数の結果がリテラル値の場合、その値の補助情報がindexに格納される
+#define LITERAL_NULL		-2
+#define LITERAL_M128_0		-3
+#define LITERAL_0_255		-4
+#define LITERAL_M32768_0	-5
+#define LITERAL_0_65535		-6
+#define LITERAL_OTHER_MINUS	-7
+#define LITERAL_OTHER_PLUS	-8
+
+#define LITERAL_STRING		-9
+
+#define IS_LITERAL(x) (x<=LITERAL_NULL&&x!=LITERAL_STRING)
+#define IS_MINUS_LITERAL(x) (x==LITERAL_M128_0||x==LITERAL_M32768_0||x==LITERAL_OTHER_MINUS)
+#define IS_POSITIVE_LITERAL(x) (x==LITERAL_NULL||x==LITERAL_0_255||x==LITERAL_0_65535||x==LITERAL_OTHER_PLUS)
Index: trunk/ab5.0/abdev/ab_common/include/Namespace.h
===================================================================
--- trunk/ab5.0/abdev/ab_common/include/Namespace.h	(revision 515)
+++ 	(revision )
@@ -1,123 +1,0 @@
-#pragma once
-
-
-namespace ActiveBasic{ namespace Common{ namespace Lexical{
-
-
-class NamespaceScopes : public std::vector<std::string>
-{
-	// XMLシリアライズ用
-private:
-	friend class boost::serialization::access;
-	template<class Archive> void serialize(Archive& ar, const unsigned int version)
-	{
-		ar & boost::serialization::make_nvp("vector_string", boost::serialization::base_object<vector<string>>(*this));
-	}
-
-
-public:
-	NamespaceScopes(){}
-	NamespaceScopes( const std::string &namespaceStr );
-	~NamespaceScopes(){}
-
-	std::string ToString() const
-	{
-		std::string namespaceStr;
-		const std::vector<std::string> &me = *this;
-
-		bool isFirst = true;
-		BOOST_FOREACH( const std::string &itemStr, me ){
-			if( isFirst ){
-				isFirst = false;
-			}
-			else{
-				namespaceStr += ".";
-			}
-
-			namespaceStr += itemStr;
-		}
-		return namespaceStr;
-	}
-
-	// 等しいかをチェック
-	bool IsEqual( const std::string &name ) const
-	{
-		if( ToString() == name ){
-			return true;
-		}
-		return false;
-	}
-
-	// 等しいかをチェック
-	bool IsEqual( const NamespaceScopes &namespaceScopes ) const
-	{
-		if( ToString() == namespaceScopes.ToString() ){
-			return true;
-		}
-		return false;
-	}
-
-	// 所属しているかをチェック
-	// 例:
-	// baseNamespaceScopes =  "Discoversoft"
-	// entryNamespaceScopes = "Discoversoft.ActiveBasic"
-	// この場合、entryNamespaceScopes は baseNamespaceScopes に所属している。
-	static bool IsBelong( const NamespaceScopes &baseNamespaceScopes, const NamespaceScopes &entryNamespaceScopes )
-	{
-		if( baseNamespaceScopes.size() > entryNamespaceScopes.size() ){
-			return false;
-		}
-
-		for( int i=0; i<(int)baseNamespaceScopes.size(); i++ ){
-			if( baseNamespaceScopes[i] != entryNamespaceScopes[i] ){
-				return false;
-			}
-		}
-		return true;
-	}
-};
-
-class NamespaceScopesCollection : public std::vector<NamespaceScopes>
-{
-	// XMLシリアライズ用
-private:
-	friend class boost::serialization::access;
-	template<class Archive> void serialize(Archive& ar, const unsigned int version)
-	{
-		ar & boost::serialization::make_nvp("vector_NamespaceScopes", boost::serialization::base_object<vector<NamespaceScopes>>(*this));
-	}
-
-public:
-	bool IsExist( const NamespaceScopes &namespaceScopes ) const
-	{
-		const NamespaceScopesCollection &namespaceScopesCollection = *this;
-		BOOST_FOREACH( const NamespaceScopes &tempNamespaceScopes, namespaceScopesCollection ){
-			if( tempNamespaceScopes.IsEqual( namespaceScopes ) ){
-				return true;
-			}
-		}
-		return false;
-	}
-	bool IsExist( const std::string &namespaceStr ) const
-	{
-		return IsExist( NamespaceScopes( namespaceStr ) );
-	}
-
-	bool IsImported( const NamespaceScopes &namespaceScopes ) const
-	{
-		const NamespaceScopesCollection &namespaceScopesCollection = *this;
-		BOOST_FOREACH( const NamespaceScopes &tempNamespaceScopes, namespaceScopesCollection )
-		{
-			if( namespaceScopes.IsEqual( tempNamespaceScopes ) )
-			{
-				return true;
-			}
-		}
-		return false;
-	}
-
-	void SplitNamespace( const char *fullName, char *namespaceStr, char *simpleName ) const;
-};
-
-
-}}}
Index: trunk/ab5.0/abdev/ab_common/include/NamespaceSupporter.h
===================================================================
--- trunk/ab5.0/abdev/ab_common/include/NamespaceSupporter.h	(revision 515)
+++ 	(revision )
@@ -1,121 +1,0 @@
-#pragma once
-
-namespace ActiveBasic{ namespace Common{ namespace Lexical{
-
-
-class NamespaceSupporter
-{
-	const NamespaceScopesCollection *allNamespaceScopesCollection;
-
-	// Importsされた名前空間
-	NamespaceScopesCollection importedNamespaces;
-
-	// 現在の名前空間
-	NamespaceScopes livingNamespaceScopes;
-
-public:
-	NamespaceSupporter()
-		: allNamespaceScopesCollection( NULL )
-	{
-	}
-
-	void RegistAllNamespaceScopesCollection( const NamespaceScopesCollection *allNamespaceScopesCollection )
-	{
-		this->allNamespaceScopesCollection = allNamespaceScopesCollection;
-	}
-
-	NamespaceScopesCollection &GetImportedNamespaces()
-	{
-		return importedNamespaces;
-	}
-	void SetImportedNamespaces( const NamespaceScopesCollection &namespaces )
-	{
-		this->importedNamespaces = namespaces;
-	}
-	bool ImportsNamespace( const NamespaceScopes &namespaceScopes );
-	bool ImportsNamespace( const std::string &namespaceStr );
-
-	NamespaceScopes &GetLivingNamespaceScopes()
-	{
-		return livingNamespaceScopes;
-	}
-	void SetLivingNamespaceScopes( const NamespaceScopes &namespaceScopes )
-	{
-		this->livingNamespaceScopes = namespaceScopes;
-	}
-	bool IsLiving( const NamespaceScopes &namespaceScopes ) const
-	{
-		return NamespaceScopes::IsBelong( namespaceScopes, livingNamespaceScopes );
-	}
-
-
-	// 包括しているかをチェック
-	// 例:
-	// this =   "Discoversoft.ActiveBasic"
-	// living = "Discoversoft.ActiveBasic"
-	// entryName =   "ActiveBasic"
-	// この場合、living は entryName を包括している。
-	bool IsCoverd( const NamespaceScopes &namespaceScopes, const std::string &entryName ) const
-	{
-		if( namespaceScopes.IsEqual( entryName ) )
-		{
-			return true;
-		}
-
-		std::string thisStr = namespaceScopes.ToString();
-
-		NamespaceScopes tempLivingNamespaceScopes = livingNamespaceScopes;
-
-		while( tempLivingNamespaceScopes.size() )
-		{
-			std::string tempStr = tempLivingNamespaceScopes.ToString() + "." + entryName;
-			if( thisStr == tempStr )
-			{
-				return true;
-			}
-
-			tempLivingNamespaceScopes.pop_back();
-		}
-		return false;
-	}
-	bool IsCoverd( const NamespaceScopes &baseNamespaceScopes, const NamespaceScopes &entryNamespaceScopes ) const
-	{
-		return IsCoverd( baseNamespaceScopes, entryNamespaceScopes.ToString() );
-	}
-
-
-	// 指定された名前空間が同一エリアと見なされるかどうかをチェック
-	bool IsSameAreaNamespace( const NamespaceScopes &baseNamespaceScopes, const NamespaceScopes &entryNamespaceScopes ) const
-	{
-		if( entryNamespaceScopes.size() )
-		{
-			if( IsCoverd( baseNamespaceScopes, entryNamespaceScopes ) )
-			{
-				// 包括しているときは同一と見なす
-				return true;
-			}
-		}
-		else{
-			if( baseNamespaceScopes.size() )
-			{
-				// 名前空間の判断が必要なとき
-				if( this->importedNamespaces.IsImported( baseNamespaceScopes )
-					|| IsLiving( baseNamespaceScopes ) )
-				{
-					// Using指定があるとき
-					// または
-					// 指定された名前空間が現在の名前空間スコープと同一のとき
-					return true;
-				}
-			}
-			else{
-				return true;
-			}
-		}
-
-		return false;
-	}
-};
-
-
-}}}
Index: trunk/ab5.0/abdev/ab_common/include/Prototype.h
===================================================================
--- trunk/ab5.0/abdev/ab_common/include/Prototype.h	(revision 515)
+++ 	(revision )
@@ -1,114 +1,0 @@
-#pragma once
-
-namespace ActiveBasic{ namespace Common{ namespace Lexical{
-
-
-class Prototype : public Symbol
-{
-public:
-	enum Accessibility{
-		None,
-		Private,
-		Protected,
-		Public,
-	};
-
-private:
-	mutable bool isUsing;
-
-
-	// XMLシリアライズ用
-private:
-	friend class boost::serialization::access;
-	template<class Archive> void serialize(Archive& ar, const unsigned int version)
-	{
-		ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP( Symbol );
-		ar & BOOST_SERIALIZATION_NVP( isUsing );
-	}
-
-
-public:
-
-	Prototype( const NamespaceScopes &namespaceScopes, const std::string &name )
-		: Symbol( namespaceScopes, name )
-		, isUsing( false )
-	{
-	}
-	Prototype()
-		: Symbol()
-	{
-	}
-	~Prototype()
-	{
-	}
-
-	//自身と等しいかどうかを確認
-	bool IsEquals( const Prototype *prototype ) const
-	{
-		if( this == prototype ){
-			return true;
-		}
-		return false;
-	}
-
-	// 利用状況
-	bool IsUsing() const
-	{
-		return isUsing;
-	}
-	void Using() const
-	{
-		isUsing = true;
-	}
-};
-
-class MemberPrototype
-{
-	Prototype::Accessibility accessibility;
-
-	// XMLシリアライズ用
-private:
-	friend class boost::serialization::access;
-	template<class Archive> void serialize(Archive& ar, const unsigned int version)
-	{
-		ar & BOOST_SERIALIZATION_NVP( accessibility );
-	}
-
-public:
-	MemberPrototype( Prototype::Accessibility accessibility )
-		: accessibility( accessibility )
-	{
-	}
-	MemberPrototype()
-		: accessibility( Prototype::None )
-	{
-	}
-
-	Prototype::Accessibility GetAccessibility() const
-	{
-		return accessibility;
-	}
-	void SetAccessibility( Prototype::Accessibility accessibility ){
-		this->accessibility = accessibility;
-	}
-
-	bool IsNoneAccess() const
-	{
-		return ( accessibility == Prototype::None );
-	}
-	bool IsPrivate() const
-	{
-		return ( accessibility == Prototype::Private );
-	}
-	bool IsProtected() const
-	{
-		return ( accessibility == Prototype::Protected );
-	}
-	bool IsPublic() const
-	{
-		return ( accessibility == Prototype::Public );
-	}
-};
-
-
-}}}
Index: trunk/ab5.0/abdev/ab_common/include/Symbol.h
===================================================================
--- trunk/ab5.0/abdev/ab_common/include/Symbol.h	(revision 515)
+++ 	(revision )
@@ -1,77 +1,0 @@
-#pragma once
-
-namespace ActiveBasic{ namespace Common{ namespace Lexical{
-
-
-class Symbol
-{
-	static const NamespaceSupporter *namespaceSupporter;
-
-	NamespaceScopes namespaceScopes;
-	std::string name;
-
-	// XMLシリアライズ用
-private:
-	friend class boost::serialization::access;
-	BOOST_SERIALIZATION_SPLIT_MEMBER();
-	template<class Archive> void load(Archive& ar, const unsigned int version)
-	{
-		//trace_for_serialize( "serializing(load) - Symbol" );
-
-		ar & BOOST_SERIALIZATION_NVP( namespaceScopes );
-
-		std::string _name;
-		ar & BOOST_SERIALIZATION_NVP( _name );
-		this->name = Operator_NaturalStringToCalcMarkString( _name );
-	}
-	template<class Archive> void save(Archive& ar, const unsigned int version) const
-	{
-		//trace_for_serialize( "serializing(save) - Symbol" );
-
-		ar & BOOST_SERIALIZATION_NVP( namespaceScopes );
-
-		std::string _name = Operator_CalcMarkStringToNaturalString( name );
-		ar & BOOST_SERIALIZATION_NVP( _name );
-	}
-
-public:
-	bool isTargetObjectModule;
-	Symbol( const NamespaceScopes &namespaceScopes, const std::string &name )
-		: namespaceScopes( namespaceScopes )
-		, name( name )
-		, isTargetObjectModule( true )
-	{
-	}
-	Symbol( const Symbol &symbol )
-		: namespaceScopes( symbol.namespaceScopes )
-		, name( symbol.name )
-		, isTargetObjectModule( true )
-	{
-	}
-	Symbol()
-		: isTargetObjectModule( true )
-	{
-	}
-
-	static void RegistNamespaceSupporter( const NamespaceSupporter *namespaceSupporter )
-	{
-		Symbol::namespaceSupporter = namespaceSupporter;
-	}
-
-	virtual const NamespaceScopes &GetNamespaceScopes() const
-	{
-		return namespaceScopes;
-	}
-	const std::string &GetName() const
-	{
-		return name;
-	}
-	std::string GetFullName() const;
-
-	// シンボル比較
-	bool IsEqualSymbol( const NamespaceScopes &namespaceScopes, const std::string &name ) const;
-	bool IsEqualSymbol( const Symbol &symbol ) const;
-};
-
-
-}}}
Index: trunk/ab5.0/abdev/ab_common/include/TypeMisc.h
===================================================================
--- trunk/ab5.0/abdev/ab_common/include/TypeMisc.h	(revision 515)
+++ 	(revision )
@@ -1,73 +1,0 @@
-#pragma once
-
-#define PTR_SIZE		sizeof(LONG_PTR)
-
-#define DEF_NON			-1
-
-/* basic\command.sbp内の "_System_Type_***" 定数と同期が必要 */
-#define FLAG_PTR		0x80000000
-#define FLAG_CAST		0x40000000
-
-//整数型
-#define DEF_SBYTE		0x00000001
-#define DEF_BYTE		0x00000002
-#define DEF_INTEGER		0x00000003
-#define DEF_WORD		0x00000004
-#define DEF_LONG		0x00000005
-#define DEF_DWORD		0x00000006
-#define DEF_INT64		0x00000007
-#define DEF_QWORD		0x00000008
-
-//実数型
-#define DEF_SINGLE		0x00000009
-#define DEF_DOUBLE		0x0000000A
-
-//文字型
-#define DEF_CHAR		0x0000000B
-
-//bool型
-#define DEF_BOOLEAN		0x0000000C
-
-//文字列型
-#define DEF_STRING		0x0000000D
-
-//ポインタ型
-#define DEF_PTR_VOID	0x0000000E
-#define DEF_PTR_PROC	0x0000000F
-
-//特殊型
-#define DEF_ANY						0x00000015
-#define DEF_ELLIPSE					0x00000016
-#define DEF_OBJECT					0x00000017		// クラス
-#define DEF_STRUCT					0x00000018		// 構造体
-#define DEF_TYPE_PARAMETER			0x00000019		// 型パラメータ（ジェネリクスサポート）
-
-//ポインタ型
-#define MASK_PTR		0x0000ff00
-#define MASK_NATURAL	0x000000ff
-
-#define PTR_LEVEL(t)	(((t)&MASK_PTR)>>8)
-#define NATURAL_TYPE(t)	((t)&MASK_NATURAL)
-#define MAKE_PTR_TYPE(t,p)	((t)|((p)<<8))
-#define PTR_LEVEL_UP(t)		t = MAKE_PTR_TYPE(NATURAL_TYPE(t),PTR_LEVEL(t)+1)
-#define PTR_LEVEL_DOWN(t)	t = MAKE_PTR_TYPE(NATURAL_TYPE(t),PTR_LEVEL(t)-1)
-
-#define DEF_PTR_OBJECT	MAKE_PTR_TYPE(DEF_OBJECT,1)
-#define DEF_PTR_STRUCT	MAKE_PTR_TYPE(DEF_STRUCT,1)
-
-
-
-//NumOpe関数の結果がリテラル値の場合、その値の補助情報がindexに格納される
-#define LITERAL_NULL		-2
-#define LITERAL_M128_0		-3
-#define LITERAL_0_255		-4
-#define LITERAL_M32768_0	-5
-#define LITERAL_0_65535		-6
-#define LITERAL_OTHER_MINUS	-7
-#define LITERAL_OTHER_PLUS	-8
-
-#define LITERAL_STRING		-9
-
-#define IS_LITERAL(x) (x<=LITERAL_NULL&&x!=LITERAL_STRING)
-#define IS_MINUS_LITERAL(x) (x==LITERAL_M128_0||x==LITERAL_M32768_0||x==LITERAL_OTHER_MINUS)
-#define IS_POSITIVE_LITERAL(x) (x==LITERAL_NULL||x==LITERAL_0_255||x==LITERAL_0_65535||x==LITERAL_OTHER_PLUS)
Index: trunk/ab5.0/abdev/ab_common/include/ab_common.h
===================================================================
--- trunk/ab5.0/abdev/ab_common/include/ab_common.h	(revision 515)
+++ trunk/ab5.0/abdev/ab_common/include/ab_common.h	(revision 516)
@@ -1,7 +1,7 @@
 #pragma once
 
-#include "Namespace.h"
-#include "NamespaceSupporter.h"
-#include "Symbol.h"
-#include "Prototype.h"
-#include "TypeMisc.h"
+#include "Lexical/Namespace.h"
+#include "Lexical/NamespaceSupporter.h"
+#include "Lexical/Symbol.h"
+#include "Lexical/Prototype.h"
+#include "Lexical/TypeMisc.h"
