Index: /trunk/ab5.0/abdev/BasicCompiler_Common/include/LexicalAnalyzer.h
===================================================================
--- /trunk/ab5.0/abdev/BasicCompiler_Common/include/LexicalAnalyzer.h	(revision 506)
+++ /trunk/ab5.0/abdev/BasicCompiler_Common/include/LexicalAnalyzer.h	(revision 506)
@@ -0,0 +1,13 @@
+#pragma once
+
+namespace ActiveBasic{ namespace Compiler{
+
+
+class LexicalAnalyzer
+{
+public:
+	static bool CollectNamespaces( const char *source, NamespaceScopesCollection &namespaceScopesCollection );
+};
+
+
+}}
Index: /trunk/ab5.0/abdev/BasicCompiler_Common/include/NamespaceSupporter.h
===================================================================
--- /trunk/ab5.0/abdev/BasicCompiler_Common/include/NamespaceSupporter.h	(revision 505)
+++ /trunk/ab5.0/abdev/BasicCompiler_Common/include/NamespaceSupporter.h	(revision 506)
@@ -97,5 +97,3 @@
 		return false;
 	}
-
-	static bool CollectNamespaces( const char *source, NamespaceScopesCollection &namespaceScopesCollection );
 };
Index: /trunk/ab5.0/abdev/BasicCompiler_Common/src/LexicalAnalyzer.cpp
===================================================================
--- /trunk/ab5.0/abdev/BasicCompiler_Common/src/LexicalAnalyzer.cpp	(revision 506)
+++ /trunk/ab5.0/abdev/BasicCompiler_Common/src/LexicalAnalyzer.cpp	(revision 506)
@@ -0,0 +1,54 @@
+#include "stdafx.h"
+
+using namespace ActiveBasic::Compiler;
+
+bool LexicalAnalyzer::CollectNamespaces( const char *source, NamespaceScopesCollection &namespaceScopesCollection )
+{
+	int i, i2;
+	char temporary[1024];
+
+	bool isSuccessful = true;
+
+	// 名前空間管理
+	NamespaceScopes namespaceScopes;
+
+	for(i=0;;i++){
+		if(source[i]=='\0') break;
+
+		if( source[i] == 1 && source[i+1] == ESC_NAMESPACE ){
+			for(i+=2,i2=0;;i2++,i++){
+				if( IsCommandDelimitation( source[i] ) ){
+					temporary[i2]=0;
+					break;
+				}
+				temporary[i2]=source[i];
+			}
+			namespaceScopes.push_back( temporary );
+
+			if( !namespaceScopesCollection.IsExist( namespaceScopes ) ){
+				namespaceScopesCollection.push_back( namespaceScopes );
+			}
+
+			continue;
+		}
+		else if( source[i] == 1 && source[i+1] == ESC_ENDNAMESPACE ){
+			if( namespaceScopes.size() <= 0 ){
+				compiler.errorMessenger.Output( 12, "End Namespace", i );
+				isSuccessful = false;
+			}
+			else{
+				namespaceScopes.pop_back();
+			}
+
+			i += 2;
+			continue;
+		}
+	}
+
+	if( namespaceScopes.size() > 0 ){
+		compiler.errorMessenger.Output( 63, NULL, cp );
+		isSuccessful = false;
+	}
+
+	return isSuccessful;
+}
Index: /trunk/ab5.0/abdev/BasicCompiler_Common/src/NamespaceSupporter.cpp
===================================================================
--- /trunk/ab5.0/abdev/BasicCompiler_Common/src/NamespaceSupporter.cpp	(revision 505)
+++ /trunk/ab5.0/abdev/BasicCompiler_Common/src/NamespaceSupporter.cpp	(revision 506)
@@ -14,53 +14,2 @@
 	return true;
 }
-
-bool NamespaceSupporter::CollectNamespaces( const char *source, NamespaceScopesCollection &namespaceScopesCollection )
-{
-	int i, i2;
-	char temporary[1024];
-
-	bool isSuccessful = true;
-
-	// 名前空間管理
-	NamespaceScopes namespaceScopes;
-
-	for(i=0;;i++){
-		if(source[i]=='\0') break;
-
-		if( source[i] == 1 && source[i+1] == ESC_NAMESPACE ){
-			for(i+=2,i2=0;;i2++,i++){
-				if( IsCommandDelimitation( source[i] ) ){
-					temporary[i2]=0;
-					break;
-				}
-				temporary[i2]=source[i];
-			}
-			namespaceScopes.push_back( temporary );
-
-			if( !namespaceScopesCollection.IsExist( namespaceScopes ) ){
-				namespaceScopesCollection.push_back( namespaceScopes );
-			}
-
-			continue;
-		}
-		else if( source[i] == 1 && source[i+1] == ESC_ENDNAMESPACE ){
-			if( namespaceScopes.size() <= 0 ){
-				compiler.errorMessenger.Output( 12, "End Namespace", i );
-				isSuccessful = false;
-			}
-			else{
-				namespaceScopes.pop_back();
-			}
-
-			i += 2;
-			continue;
-		}
-	}
-
-	if( namespaceScopes.size() > 0 ){
-		compiler.errorMessenger.Output( 63, NULL, cp );
-		isSuccessful = false;
-	}
-
-	return isSuccessful;
-}
Index: /trunk/ab5.0/abdev/compiler_x86/MakePeHdr.cpp
===================================================================
--- /trunk/ab5.0/abdev/compiler_x86/MakePeHdr.cpp	(revision 505)
+++ /trunk/ab5.0/abdev/compiler_x86/MakePeHdr.cpp	(revision 506)
@@ -153,5 +153,5 @@
 
 	// 名前空間情報を取得
-	NamespaceSupporter::CollectNamespaces(
+	ActiveBasic::Compiler::LexicalAnalyzer::CollectNamespaces(
 		compiler.GetObjectModule().GetCurrentSource().GetBuffer(),
 		compiler.GetObjectModule().meta.GetNamespaces()
Index: /trunk/ab5.0/abdev/compiler_x86/compiler_x86.vcproj
===================================================================
--- /trunk/ab5.0/abdev/compiler_x86/compiler_x86.vcproj	(revision 505)
+++ /trunk/ab5.0/abdev/compiler_x86/compiler_x86.vcproj	(revision 506)
@@ -5,4 +5,5 @@
 	Name="compiler_x86"
 	ProjectGUID="{11F0E9AB-EAEC-4616-A9DD-838073342CBB}"
+	RootNamespace="compiler_x86"
 	>
 	<Platforms>
@@ -1252,4 +1253,8 @@
 				</File>
 				<File
+					RelativePath="..\BasicCompiler_Common\src\LexicalAnalyzer.cpp"
+					>
+				</File>
+				<File
 					RelativePath="..\BasicCompiler_Common\src\Linker.cpp"
 					>
@@ -1461,4 +1466,8 @@
 				</File>
 				<File
+					RelativePath="..\BasicCompiler_Common\include\LexicalAnalyzer.h"
+					>
+				</File>
+				<File
 					RelativePath="..\BasicCompiler_Common\include\Linker.h"
 					>
Index: /trunk/ab5.0/abdev/compiler_x86/stdafx.h
===================================================================
--- /trunk/ab5.0/abdev/compiler_x86/stdafx.h	(revision 505)
+++ /trunk/ab5.0/abdev/compiler_x86/stdafx.h	(revision 506)
@@ -44,2 +44,3 @@
 #include <Compiler.h>
 #include <Debugger.h>
+#include <LexicalAnalyzer.h>
