Index: /trunk/ab5.0/abdev/compiler_x64/CParameter.cpp
===================================================================
--- /trunk/ab5.0/abdev/compiler_x64/CParameter.cpp	(revision 527)
+++ /trunk/ab5.0/abdev/compiler_x64/CParameter.cpp	(revision 528)
@@ -6,5 +6,5 @@
 #include "opcode.h"
 
-int ParamImpl::NewTempParameters( const string &procName, const Parameters &params, int SecondParmNum ){
+int ParamImpl::NewTempParameters( const std::string &procName, const Parameters &params, int SecondParmNum ){
 	if( SecondParmNum == -1 ) SecondParmNum = (int)params.size();
 
@@ -195,6 +195,5 @@
 }
 
-
-void ParamImpl::SetParameter( const string &procName, const Parameters &params, int SecondParmNum, const UserProc *pUserProc ){
+void ParamImpl::SetParameter( const std::string &procName, const Parameters &params, int SecondParmNum, const UserProc *pUserProc ){
 	if( SecondParmNum == -1 ) SecondParmNum = (int)params.size();
 
Index: /trunk/ab5.0/abdev/compiler_x64/Compile_Calc.cpp
===================================================================
--- /trunk/ab5.0/abdev/compiler_x64/Compile_Calc.cpp	(revision 527)
+++ /trunk/ab5.0/abdev/compiler_x64/Compile_Calc.cpp	(revision 528)
@@ -240,5 +240,5 @@
 	if( varType.IsObject() && compiler.GetObjectModule().meta.GetBlittableTypes().IsExist( calcType ) ){
 		// Blittable型をオブジェクトとして扱う
-		vector<const UserProc *> userProcs;
+		std::vector<const UserProc *> userProcs;
 		compiler.GetObjectModule().meta.GetBlittableTypes().GetClass( calcType ).GetStaticMethods().Enum( "_Create", userProcs );
 		if( userProcs.size() != 1 ){
Index: /trunk/ab5.0/abdev/compiler_x64/Compile_Func.cpp
===================================================================
--- /trunk/ab5.0/abdev/compiler_x64/Compile_Func.cpp	(revision 527)
+++ /trunk/ab5.0/abdev/compiler_x64/Compile_Func.cpp	(revision 528)
@@ -376,5 +376,5 @@
 	}
 }
-void Opcode_Func_SizeOf( const string &typeName ){
+void Opcode_Func_SizeOf( const std::string &typeName ){
 	Type tempType;
 	if( !compiler.StringToType( typeName, tempType ) ){
Index: /trunk/ab5.0/abdev/compiler_x64/MakePeHdr.cpp
===================================================================
--- /trunk/ab5.0/abdev/compiler_x64/MakePeHdr.cpp	(revision 527)
+++ /trunk/ab5.0/abdev/compiler_x64/MakePeHdr.cpp	(revision 528)
@@ -146,12 +146,14 @@
 	// デリゲートに関する情報を収集
 	{
-		compiler.GetObjectModule().meta.GetDelegates().Collect(
-			compiler.GetObjectModule().GetCurrentSource()
+		ActiveBasic::Compiler::LexicalAnalyzer::CollectDelegates(
+			compiler.GetObjectModule().GetCurrentSource(),
+			compiler.GetObjectModule().meta.GetDelegates()
 		);
 		compiler.GetObjectModule().meta.GetDelegates().Iterator_Init();
 
 		// デリゲートからクラスコードを生成
-		std::string tempSource;
-		compiler.GetObjectModule().meta.GetDelegates().GenerateSourceCode( tempSource );
+		std::string tempSource = ActiveBasic::Compiler::LexicalAnalyzer::GenerateDelegatesSourceCode(
+			compiler.GetObjectModule().meta.GetDelegates()
+		);
 		AddSourceCode( tempSource.c_str() );
 	}
@@ -173,5 +175,7 @@
 	型情報に依存するパラメータ情報を取得できないため、ここでの再取得が必要
 	*/
-	compiler.GetObjectModule().meta.GetDelegates().RefleshParameterAndReturnType();
+	ActiveBasic::Compiler::LexicalAnalyzer::RefleshDelegatesParameterAndReturnType(
+		compiler.GetObjectModule().meta.GetDelegates()
+	);
 
 	//定数情報を取得
@@ -309,6 +313,6 @@
 #ifdef _DEBUG
 	{
-		ofstream ofs("middle_code.txt");
-		ofs << basbuf << endl;
+		std::ofstream ofs( ( Jenga::Common::Environment::GetAppDir() + "\\middle_code.txt" ).c_str() );
+		ofs << basbuf << std::endl;
 		ofs.close();
 	}
Index: /trunk/ab5.0/abdev/compiler_x64/NumOpe.cpp
===================================================================
--- /trunk/ab5.0/abdev/compiler_x64/NumOpe.cpp	(revision 527)
+++ /trunk/ab5.0/abdev/compiler_x64/NumOpe.cpp	(revision 528)
@@ -255,5 +255,5 @@
 	// 動的メソッドを検索
 	///////////////////////////////////////////////////////////////////
-	vector<const UserProc *> userProcs;
+	std::vector<const UserProc *> userProcs;
 
 	char methodName[VN_SIZE], lpPtrOffset[VN_SIZE], parameter[VN_SIZE], dummy[1];
Index: /trunk/ab5.0/abdev/compiler_x64/Opcode.h
===================================================================
--- /trunk/ab5.0/abdev/compiler_x64/Opcode.h	(revision 527)
+++ /trunk/ab5.0/abdev/compiler_x64/Opcode.h	(revision 528)
@@ -267,5 +267,5 @@
 class ParamImpl{
 	char *Parms[255];
-	vector<Type> types;
+	std::vector<Type> types;
 	int ParmsNum;
 
@@ -297,11 +297,11 @@
 
 	void ApplyDefaultParameters( const Parameters &params );
-	bool ErrorCheck( const string &procName, const Parameters &params, int SecondParmNum = -1 );
+	bool ErrorCheck( const std::string &procName, const Parameters &params, int SecondParmNum = -1 );
 	void MacroParameterSupport( const Parameters &params );
 	void SetStructParameter( int reg, const Type &baseType, const char *expression );
-	void SetParameter( const string &procName, const Parameters &params, int SecondParmNum = -1, const UserProc *pUserProc = NULL );
+	void SetParameter( const std::string &procName, const Parameters &params, int SecondParmNum = -1, const UserProc *pUserProc = NULL );
 
 	//一時オブジェクトパラメータの生成と破棄
-	int NewTempParameters( const string &procName, const Parameters &params, int SecondParmNum = -1 );
+	int NewTempParameters( const std::string &procName, const Parameters &params, int SecondParmNum = -1 );
 	void DeleteTempParameters();
 
Index: /trunk/ab5.0/abdev/compiler_x64/compiler_x64.vcproj
===================================================================
--- /trunk/ab5.0/abdev/compiler_x64/compiler_x64.vcproj	(revision 527)
+++ /trunk/ab5.0/abdev/compiler_x64/compiler_x64.vcproj	(revision 528)
@@ -1258,4 +1258,8 @@
 				</File>
 				<File
+					RelativePath="..\BasicCompiler_Common\src\LexicalAnalyzer_Delegate.cpp"
+					>
+				</File>
+				<File
 					RelativePath="..\BasicCompiler_Common\src\Linker.cpp"
 					>
Index: /trunk/ab5.0/abdev/compiler_x64/stdafx.h
===================================================================
--- /trunk/ab5.0/abdev/compiler_x64/stdafx.h	(revision 527)
+++ /trunk/ab5.0/abdev/compiler_x64/stdafx.h	(revision 528)
@@ -6,4 +6,8 @@
 #include <fstream>
 #include <iostream>
+#include <iomanip>
+#include <ios>
+#include <streambuf>
+#include <sstream>
 
 #include <windows.h>
@@ -19,4 +23,6 @@
 #include <io.h>
 #include <shlwapi.h>
+#include <tchar.h>
+#include <stdarg.h>
 
 //boost libraries
@@ -28,4 +34,6 @@
 #include <jenga/include/jenga.h>
 
+#include <option.h>
+
 #include <abdev/ab_common/include/ab_common.h>
 
@@ -35,12 +43,31 @@
 #include "../BasicCompiler_Common/BasicFixed.h"
 
-#include <Configuration.h>
+#include <Binary.h>
+#include <NativeCode.h>
+#include <Source.h>
 #include <Type.h>
 #include <Method.h>
 #include <Interface.h>
+#include <Member.h>
 #include <Class.h>
+#include <Parameter.h>
+#include <Variable.h>
 #include <Procedure.h>
-#include <LexicalAnalyzer.h>
-#include <Program.h>
+#include <TypeDef.h>
+#include <Const.h>
+#include <Delegate.h>
+#include <Enum.h>
+#include <DataTable.h>
+#include <Exception.h>
+#include <Meta.h>
+
+#include <logger.h>
+#include <Configuration.h>
+#include <CodeGenerator.h>
+#include <Messenger.h>
+#include <ObjectModule.h>
+#include <Linker.h>
 #include <Compiler.h>
 #include <Debugger.h>
+#include <Program.h>
+#include <LexicalAnalyzer.h>
