Index: trunk/ab5.0/abdev/compiler_x64/Compile_CallProc.cpp
===================================================================
--- trunk/ab5.0/abdev/compiler_x64/Compile_CallProc.cpp	(revision 490)
+++ trunk/ab5.0/abdev/compiler_x64/Compile_CallProc.cpp	(revision 514)
@@ -5,4 +5,6 @@
 #include "../BasicCompiler_Common/common.h"
 #include "Opcode.h"
+
+using namespace ActiveBasic::Compiler;
 
 void Call_DebugSys_SaveContext(){
@@ -462,5 +464,5 @@
 
 	extern BOOL bDebugSupportProc;
-	if( compiler.IsDebug() && bDebugSupportProc == 0 && pDllProc->GetName() != "DebugBreak" )
+	if( compiler.IsDebug() && bDebugSupportProc==0 && pDllProc->IsEqualSymbol( LexicalAnalyzer::FullNameToSymbol( "DebugBreak" ) ) )
 	{
 		Call_DebugSys_SaveContext();
Index: trunk/ab5.0/abdev/compiler_x64/Compile_Var.cpp
===================================================================
--- trunk/ab5.0/abdev/compiler_x64/Compile_Var.cpp	(revision 490)
+++ trunk/ab5.0/abdev/compiler_x64/Compile_Var.cpp	(revision 514)
@@ -12,4 +12,5 @@
 int AllLocalVarSize;
 
+using namespace ActiveBasic::Compiler;
 
 void SetRelativeOffset( Type &resultType, RELATIVE_VAR *pRelativeVar,const char *lpPtrOffset){
@@ -416,5 +417,5 @@
 		//////////////////
 
-		const Variable *pVar = UserProc::CompilingUserProc().GetLocalVars().BackSearch( Symbol( VarName ) );
+		const Variable *pVar = UserProc::CompilingUserProc().GetLocalVars().BackSearch( LexicalAnalyzer::FullNameToSymbol( VarName ) );
 		if( pVar ){
 			//ポインタ変数の場合
@@ -538,5 +539,5 @@
 			GetNowStaticVarFullName(VarName,temporary);
 
-			pVar = compiler.GetObjectModule().meta.GetGlobalVars().Find( Symbol( temporary ) );
+			pVar = compiler.GetObjectModule().meta.GetGlobalVars().Find( LexicalAnalyzer::FullNameToSymbol( temporary ) );
 			if( pVar ){
 				goto GlobalOk;
@@ -569,5 +570,5 @@
 			char temp2[VN_SIZE];
 			sprintf(temp2,"%s.%s",VarName,temporary);
-			pVar = compiler.GetObjectModule().meta.GetGlobalVars().Find( Symbol( temp2 ) );
+			pVar = compiler.GetObjectModule().meta.GetGlobalVars().Find( LexicalAnalyzer::FullNameToSymbol( temp2 ) );
 			if( pVar ){
 				lstrcpy(member,tempMember);
@@ -581,5 +582,5 @@
 			char temp2[VN_SIZE];
 			sprintf(temp2,"%s.%s",compiler.pCompilingClass->GetName().c_str(),VarName);
-			pVar = compiler.GetObjectModule().meta.GetGlobalVars().Find( Symbol( temp2 ) );
+			pVar = compiler.GetObjectModule().meta.GetGlobalVars().Find( LexicalAnalyzer::FullNameToSymbol( temp2 ) );
 			if( pVar ){
 				goto GlobalOk;
@@ -591,5 +592,5 @@
 		/////////////////////
 
-		pVar = compiler.GetObjectModule().meta.GetGlobalVars().BackSearch( Symbol( VarName ) );
+		pVar = compiler.GetObjectModule().meta.GetGlobalVars().BackSearch( LexicalAnalyzer::FullNameToSymbol( VarName ) );
 		if( pVar ){
 			goto GlobalOk;
@@ -1111,5 +1112,5 @@
 		/////////////////
 
-		if( UserProc::CompilingUserProc().GetLocalVars().DuplicateCheck( VarName ) ){
+		if( UserProc::CompilingUserProc().GetLocalVars().DuplicateCheck( LexicalAnalyzer::FullNameToSymbol( VarName ) ) ){
 			//２重定義のエラー
 			compiler.errorMessenger.Output(15,VarName,cp);
Index: trunk/ab5.0/abdev/compiler_x64/MakePeHdr.cpp
===================================================================
--- trunk/ab5.0/abdev/compiler_x64/MakePeHdr.cpp	(revision 490)
+++ trunk/ab5.0/abdev/compiler_x64/MakePeHdr.cpp	(revision 514)
@@ -143,5 +143,5 @@
 
 	// 名前空間情報を取得
-	NamespaceSupporter::CollectNamespaces(
+	ActiveBasic::Compiler::LexicalAnalyzer::CollectNamespaces(
 		compiler.GetObjectModule().GetCurrentSource().GetBuffer(),
 		compiler.GetObjectModule().meta.GetNamespaces()
@@ -161,8 +161,11 @@
 	}
 
-	//クラス名を取得（詳細情報はGetAllClassInfoで取得）
+	//クラス名を取得（詳細情報はCollectClassesで取得）
 	//   CollectProcedures関数の中で参照されるオブジェクト名を事前に取得する。
 	//     ※オブジェクトの内容までは取得しない
-	compiler.GetObjectModule().meta.GetClasses().CollectClassesForNameOnly( compiler.GetObjectModule().GetCurrentSource() );
+	ActiveBasic::Compiler::LexicalAnalyzer::CollectClassesForNameOnly(
+		compiler.GetObjectModule().GetCurrentSource().GetBuffer(),
+		compiler.GetObjectModule().meta.GetClasses()
+	);
 
 	//TypeDef情報を初期化
@@ -181,5 +184,5 @@
 	//サブルーチン（ユーザー定義、DLL関数）の識別子、アドレスを取得
 	compiler.pCompilingClass = NULL;
-	CollectProcedures(
+	ActiveBasic::Compiler::LexicalAnalyzer::CollectProcedures(
 		compiler.GetObjectModule().GetCurrentSource(),
 		compiler.GetObjectModule().meta.GetUserProcs(),
@@ -188,5 +191,8 @@
 
 	// クラス情報を取得（※注 - CollectProceduresの後に呼び出す）
-	compiler.GetObjectModule().meta.GetClasses().GetAllClassInfo();
+	ActiveBasic::Compiler::LexicalAnalyzer::CollectClasses(
+		compiler.GetObjectModule().GetCurrentSource().GetBuffer(),
+		compiler.GetObjectModule().meta.GetClasses()
+	);
 
 	// サブルーチン（ユーザー定義、DLL関数）のイテレータの準備
Index: trunk/ab5.0/abdev/compiler_x64/compiler_x64.vcproj
===================================================================
--- trunk/ab5.0/abdev/compiler_x64/compiler_x64.vcproj	(revision 490)
+++ trunk/ab5.0/abdev/compiler_x64/compiler_x64.vcproj	(revision 514)
@@ -334,4 +334,8 @@
 				</File>
 				<File
+					RelativePath="..\BasicCompiler_Common\include\LexicalAnalyzer.h"
+					>
+				</File>
+				<File
 					RelativePath="..\BasicCompiler_Common\include\Linker.h"
 					>
@@ -369,4 +373,8 @@
 					</File>
 					<File
+						RelativePath="..\BasicCompiler_Common\include\Interface.h"
+						>
+					</File>
+					<File
 						RelativePath="..\BasicCompiler_Common\include\LexicalScope.h"
 						>
@@ -385,12 +393,4 @@
 					</File>
 					<File
-						RelativePath="..\BasicCompiler_Common\include\Namespace.h"
-						>
-					</File>
-					<File
-						RelativePath="..\BasicCompiler_Common\include\NamespaceSupporter.h"
-						>
-					</File>
-					<File
 						RelativePath="..\BasicCompiler_Common\include\NativeCode.h"
 						>
@@ -409,13 +409,5 @@
 					</File>
 					<File
-						RelativePath="..\BasicCompiler_Common\include\Prototype.h"
-						>
-					</File>
-					<File
 						RelativePath="..\BasicCompiler_Common\include\Source.h"
-						>
-					</File>
-					<File
-						RelativePath="..\BasicCompiler_Common\include\Symbol.h"
 						>
 					</File>
@@ -1250,5 +1242,17 @@
 				</File>
 				<File
+					RelativePath="..\BasicCompiler_Common\src\CommonCodeGenerator.cpp"
+					>
+				</File>
+				<File
 					RelativePath="..\BasicCompiler_Common\src\Compiler.cpp"
+					>
+				</File>
+				<File
+					RelativePath="..\BasicCompiler_Common\src\LexicalAnalyzer.cpp"
+					>
+				</File>
+				<File
+					RelativePath="..\BasicCompiler_Common\src\LexicalAnalyzer_Class.cpp"
 					>
 				</File>
@@ -1269,12 +1273,4 @@
 					</File>
 					<File
-						RelativePath="..\BasicCompiler_Common\src\Class_Collect.cpp"
-						>
-					</File>
-					<File
-						RelativePath="..\BasicCompiler_Common\src\CommonCodeGenerator.cpp"
-						>
-					</File>
-					<File
 						RelativePath="..\BasicCompiler_Common\src\Const.cpp"
 						>
@@ -1297,4 +1293,8 @@
 					</File>
 					<File
+						RelativePath="..\BasicCompiler_Common\src\Interface.cpp"
+						>
+					</File>
+					<File
 						RelativePath="..\BasicCompiler_Common\src\LexicalScope.cpp"
 						>
@@ -1309,12 +1309,4 @@
 					</File>
 					<File
-						RelativePath="..\BasicCompiler_Common\src\Namespace.cpp"
-						>
-					</File>
-					<File
-						RelativePath="..\BasicCompiler_Common\src\NamespaceSupporter.cpp"
-						>
-					</File>
-					<File
 						RelativePath="..\BasicCompiler_Common\src\NativeCode.cpp"
 						>
@@ -1350,8 +1342,4 @@
 					<File
 						RelativePath="..\BasicCompiler_Common\src\Source.cpp"
-						>
-					</File>
-					<File
-						RelativePath="..\BasicCompiler_Common\src\Symbol.cpp"
 						>
 					</File>
Index: trunk/ab5.0/abdev/compiler_x64/stdafx.h
===================================================================
--- trunk/ab5.0/abdev/compiler_x64/stdafx.h	(revision 490)
+++ trunk/ab5.0/abdev/compiler_x64/stdafx.h	(revision 514)
@@ -21,4 +21,7 @@
 //boost libraries
 #include <boost/foreach.hpp>
+#include <boost/serialization/serialization.hpp>
+#include <boost/serialization/nvp.hpp>
+#include <boost/serialization/export.hpp>
 
 #include <jenga/include/common/CmdLine.h>
@@ -29,4 +32,10 @@
 
 #include <abdev/ab_common/Environment.h>
+#include <abdev/ab_common/include/Namespace.h>
+#include <abdev/ab_common/include/NamespaceSupporter.h>
+#include <abdev/ab_common/include/Symbol.h>
+#include <abdev/ab_common/include/Prototype.h>
+
+using namespace ActiveBasic::Common::Lexical;
 
 #include "../BasicCompiler_Common/common.h"
@@ -35,4 +44,10 @@
 #include <Hashmap.h>
 #include <Configuration.h>
+#include <Type.h>
+#include <Method.h>
+#include <Interface.h>
+#include <Class.h>
+#include <Procedure.h>
+#include <LexicalAnalyzer.h>
 #include <Program.h>
 #include <Compiler.h>
