Index: branches/egtra/ab5.0/abdev/BasicCompiler_Common/NonVolatile.h
===================================================================
--- branches/egtra/ab5.0/abdev/BasicCompiler_Common/NonVolatile.h	(revision 816)
+++ branches/egtra/ab5.0/abdev/BasicCompiler_Common/NonVolatile.h	(revision 817)
@@ -39,4 +39,8 @@
 	void load();
 	void save();
+
+private:
+	CNonVolatile(CNonVolatile const&);
+	CNonVolatile& operator =(CNonVolatile const&);
 };
 extern CNonVolatile *pobj_nv;
Index: branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/BreakPoint.h
===================================================================
--- branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/BreakPoint.h	(revision 816)
+++ branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/BreakPoint.h	(revision 817)
@@ -9,8 +9,33 @@
 	BreakPointsPerFile(const char *lpszFileName,int iLineNum);
 
+	BreakPointsPerFile(BreakPointsPerFile&& y)
+		: filename(std::move(y.filename))
+		, lines(std::move(y.lines))
+	{
+	}
+
+	BreakPointsPerFile(BreakPointsPerFile const& y)
+		: filename(y.filename)
+		, lines(y.lines)
+	{
+	}
+
+	BreakPointsPerFile& operator =(BreakPointsPerFile&& y)
+	{
+		filename = std::move(y.filename);
+		lines = std::move(y.lines);
+		return *this;
+	}
+
+	BreakPointsPerFile& operator =(BreakPointsPerFile const& y)
+	{
+		return *this = std::move(BreakPointsPerFile(y));
+	}
+
 	void add(int iLineNum);
 	void remove(int iLineNum);
 
 	void update( char *nativeCodeBuffer, const SourceLines &sourceLines );
+
 };
 typedef std::vector<BreakPointsPerFile> BreakPointsPerFiles;
@@ -27,4 +52,8 @@
 
 	char *update( char *nativeCodeBuffer, int SizeOf_CodeSection, const SourceLines &sourceLines );
+
+private:
+	BreakPointManager(BreakPointManager const&);
+	BreakPointManager& operator =(BreakPointManager const&);
 };
 
Index: branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/CodeGenerator.h
===================================================================
--- branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/CodeGenerator.h	(revision 816)
+++ branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/CodeGenerator.h	(revision 817)
@@ -33,4 +33,8 @@
 		return typeSize;
 	}
+
+private:
+	PertialSchedule(PertialSchedule const&);
+	PertialSchedule& operator =(PertialSchedule const&);
 };
 typedef std::vector<const PertialSchedule *> PertialSchedules;
@@ -68,4 +72,8 @@
 		return sourceCodePos;
 	}
+
+private:
+	GotoLabelSchedule(GotoLabelSchedule const&);
+	GotoLabelSchedule& operator =(GotoLabelSchedule const&);
 };
 typedef std::vector<const GotoLabelSchedule *> GotoLabelSchedules;
@@ -90,4 +98,31 @@
 		, address( nativeCodePos )
 	{
+	}
+
+	GotoLabel(GotoLabel&& y)
+		: name(std::move(y.name))
+		, line(std::move(y.line))
+		, address(std::move(y.address))
+	{
+	}
+
+	GotoLabel(GotoLabel const& y)
+		: name(y.name)
+		, line(y.line)
+		, address(y.address)
+	{
+	}
+
+	GotoLabel& operator =(GotoLabel&& y)
+	{
+		name = std::move(y.name);
+		line = std::move(y.line);
+		address = std::move(y.address);
+		return *this;
+	}
+
+	GotoLabel& operator =(GotoLabel const& y)
+	{
+		return *this = std::move(GotoLabel(y));
 	}
 };
@@ -147,4 +182,8 @@
 	void Break();
 	void RunScheduleOfBreak();
+
+private:
+	LexicalScope(LexicalScope const&);
+	LexicalScope& operator =(LexicalScope const&);
 };
 
@@ -184,4 +223,8 @@
 	//Returnステートメント用のデストラクタ呼び出し
 	void CallDestructorsOfReturn( int BaseLevel = 0 );
+
+private:
+	LexicalScopes(LexicalScopes const&);
+	LexicalScopes& operator =(LexicalScopes const&);
 };
 
@@ -534,3 +577,7 @@
 		pNativeCode->Put( c6 );
 	}
+
+private:
+	CodeGenerator(CodeGenerator const&);
+	CodeGenerator& operator =(CodeGenerator const&);
 };
Index: branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/Compiler.h
===================================================================
--- branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/Compiler.h	(revision 816)
+++ branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/Compiler.h	(revision 817)
@@ -215,4 +215,8 @@
 	bool IsCompilingClass();
 	const CClass &GetCompilingClass();
+
+private:
+	Compiler(Compiler const&);
+	Compiler& operator =(Compiler const&);
 };
 
Index: branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/Configuration.h
===================================================================
--- branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/Configuration.h	(revision 816)
+++ branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/Configuration.h	(revision 817)
@@ -27,3 +27,6 @@
 		ar & BOOST_SERIALIZATION_NVP( abdevRootRelativePath );
 	}
+
+	Configuration(Configuration const&);
+	Configuration& operator =(Configuration const&);
 };
Index: branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/DataTableGenerator.h
===================================================================
--- branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/DataTableGenerator.h	(revision 816)
+++ branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/DataTableGenerator.h	(revision 817)
@@ -17,4 +17,8 @@
 	}
 
+private:
+	DataTableGenerator();
+	DataTableGenerator(DataTableGenerator const&);
+	DataTableGenerator& operator =(DataTableGenerator const&);
 };
 
Index: branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/Debugger.h
===================================================================
--- branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/Debugger.h	(revision 816)
+++ branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/Debugger.h	(revision 817)
@@ -24,4 +24,8 @@
 		return isRunning;
 	}
+
+private:
+	Debugger(Debugger const&);
+	Debugger& operator =(Debugger const&);
 };
 
Index: branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/Enum.h
===================================================================
--- branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/Enum.h	(revision 816)
+++ branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/Enum.h	(revision 817)
@@ -6,4 +6,5 @@
 	std::string value;
 	int sourceIndex;
+
 public:
 	EnumMember( const std::string &name, const std::string &value, int sourceIndex )
@@ -13,4 +14,32 @@
 	{
 	}
+
+	EnumMember(EnumMember&& y)
+		: name(std::move(y.name))
+		, value(std::move(y.value))
+		, sourceIndex(std::move(y.sourceIndex))
+	{
+	}
+
+	EnumMember(EnumMember const& y)
+		: name(y.name)
+		, value(y.value)
+		, sourceIndex(y.sourceIndex)
+	{
+	}
+
+	EnumMember& operator =(EnumMember&& y)
+	{
+		name = std::move(y.name);
+		value = std::move(y.value);
+		sourceIndex = std::move(y.sourceIndex);
+		return *this;
+	}
+
+	EnumMember& operator =(EnumMember const& y)
+	{
+		return *this = std::move(EnumMember(y));
+	}
+
 	const std::string &GetName() const
 	{
@@ -39,4 +68,31 @@
 		: Symbol( namespaceScopes, name )
 	{
+	}
+
+	EnumInfo(EnumInfo&& y)
+		: Symbol(std::move(y))
+		, bConst(std::move(y.bConst))
+		, members(std::move(y.members))
+	{
+	}
+
+	EnumInfo(EnumInfo const& y)
+		: Symbol(y)
+		, bConst(y.bConst)
+		, members(y.members)
+	{
+	}
+
+	EnumInfo& operator =(EnumInfo&& y)
+	{
+		Symbol::operator =(std::move(y));
+		bConst = std::move(y.bConst);
+		members = std::move(y.members);
+		return *this;
+	}
+
+	EnumInfo& operator =(EnumInfo const& y)
+	{
+		return *this = std::move(EnumInfo(y));
 	}
 
@@ -80,3 +136,9 @@
 		return NULL;
 	};
+
+	EnumInfoCollection() {}
+
+private:
+	EnumInfoCollection(EnumInfoCollection const&);
+	EnumInfoCollection& operator =(EnumInfoCollection const&);
 };
Index: branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/Linker.h
===================================================================
--- branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/Linker.h	(revision 816)
+++ branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/Linker.h	(revision 817)
@@ -54,3 +54,7 @@
 	// データテーブルをセット
 	void SetDataTable( DataTable &dataTable );
+
+private:
+	Linker(Linker const&);
+	Linker& operator =(Linker const&);
 };
Index: branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/Messenger.h
===================================================================
--- branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/Messenger.h	(revision 816)
+++ branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/Messenger.h	(revision 817)
@@ -24,5 +24,39 @@
 	{
 	}
+
 	ErrorInfo( int errorCode, const std::string &keyword, int sourceIndex );
+
+	ErrorInfo(ErrorInfo&& y)
+		: errorCode(std::move(y.errorCode))
+		, keyword(std::move(y.keyword))
+		, sourceFilePath(std::move(y.sourceFilePath))
+		, sourceLineNum(std::move(y.sourceLineNum))
+		, errorLineNum(std::move(y.errorLineNum))
+	{
+	}
+
+	ErrorInfo(ErrorInfo const& y)
+		: errorCode(y.errorCode)
+		, keyword(y.keyword)
+		, sourceFilePath(y.sourceFilePath)
+		, sourceLineNum(y.sourceLineNum)
+		, errorLineNum(y.errorLineNum)
+	{
+	}
+
+	ErrorInfo& operator =(ErrorInfo&& y)
+	{
+		errorCode = std::move(y.errorCode);
+		keyword = std::move(y.keyword);
+		sourceFilePath = std::move(y.sourceFilePath);
+		sourceLineNum = std::move(y.sourceLineNum);
+		errorLineNum = std::move(y.errorLineNum);
+		return *this;
+	}
+
+	ErrorInfo& operator =(ErrorInfo const& y)
+	{
+		return *this = std::move(ErrorInfo(y));
+	}
 
 	int GetErrorCode() const
@@ -63,4 +97,6 @@
 
 public:
+	ErrorMessenger() {}
+
 	void Output( const ErrorInfo &errorInfo );
 	void Output( int errorCode, const std::string &keyword, int sourceIndex = -1 );
@@ -75,3 +111,7 @@
 
 	void ShowErrorLine( int errorLineNum );
+
+private:
+	ErrorMessenger(ErrorMessenger const&);
+	ErrorMessenger& operator =(ErrorMessenger const&);
 };
Index: branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/Program.h
===================================================================
--- branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/Program.h	(revision 816)
+++ branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/Program.h	(revision 817)
@@ -96,4 +96,8 @@
 
 	int GetExitCode() const;
+
+private:
+	Program(Program const&);
+	Program& operator =(Program const&);
 };
 
Index: branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/logger.h
===================================================================
--- branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/logger.h	(revision 816)
+++ branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/logger.h	(revision 817)
@@ -28,4 +28,7 @@
 		ar & BOOST_SERIALIZATION_NVP( stopStep );
 	}
+
+	LoggerSetting(LoggerSetting const&);
+	LoggerSetting operator =(LoggerSetting const&);
 };
 
Index: branches/egtra/ab5.0/abdev/compiler_x64/Opcode.h
===================================================================
--- branches/egtra/ab5.0/abdev/compiler_x64/Opcode.h	(revision 816)
+++ branches/egtra/ab5.0/abdev/compiler_x64/Opcode.h	(revision 817)
@@ -1,3 +1,5 @@
 #pragma once
+
+#include <array>
 
 #include "MachineFixed.h"
@@ -37,4 +39,28 @@
 		, sourceCodePos( sourceCodePos )
 	{
+	}
+
+	WithInfo(WithInfo&& y)
+		: name(std::move(y.name))
+		, sourceCodePos(std::move(y.sourceCodePos))
+	{
+	}
+
+	WithInfo(WithInfo const& y)
+		: name(y.name)
+		, sourceCodePos(y.sourceCodePos)
+	{
+	}
+
+	WithInfo& operator =(WithInfo&& y)
+	{
+		name = std::move(y.name);
+		sourceCodePos = std::move(y.sourceCodePos);
+		return *this;
+	}
+
+	WithInfo& operator =(WithInfo const& y)
+	{
+		return *this = std::move(WithInfo(y));
 	}
 };
@@ -75,4 +101,8 @@
 
 	void error_check(void);
+
+private:
+	StackFrame(StackFrame const&);
+	StackFrame& operator =(StackFrame const&);
 };
 extern StackFrame *pobj_sf;
@@ -93,4 +123,8 @@
 	void backup();
 	void restore();
+
+private:
+	CBlockReg(CBlockReg const&);
+	CBlockReg& operator =(CBlockReg const&);
 };
 extern CBlockReg *pobj_BlockReg;
@@ -101,9 +135,10 @@
 
 	//利用可能なレジスタを列挙する関数
-	void EnumRegister(int *pRegList,int nMaxList,int *array_reg,int *sp,int AnswerReg);
-
-	int array_UseReg[16],sp_UseReg;
-
-	int array_XmmReg[16];
+	void EnumRegister(int const *pRegList,int nMaxList,int *array_reg,int *sp,int AnswerReg);
+
+	std::array<int, 16> array_UseReg;
+	int sp_UseReg;
+
+	std::array<int, 16> array_XmmReg;
 	int sp_XmmReg;
 
@@ -113,4 +148,26 @@
 	CRegister(){};
 	CRegister(int AnswerReg);
+	
+	CRegister(CRegister const& y)
+		: array_UseReg(y.array_UseReg)
+		, sp_UseReg(y.sp_UseReg)
+		, array_XmmReg(y.array_XmmReg)
+		, sp_XmmReg(y.sp_XmmReg)
+		, init_sp_reg(y.init_sp_reg)
+		, init_sp_xmm_reg(y.init_sp_xmm_reg)
+	{
+	}
+
+	CRegister& operator =(CRegister const& y)
+	{
+		array_UseReg = y.array_UseReg;
+		sp_UseReg = y.sp_UseReg;
+		array_XmmReg = y.array_XmmReg;
+		sp_XmmReg = y.sp_XmmReg;
+		init_sp_reg = y.init_sp_reg;
+		init_sp_xmm_reg = y.init_sp_xmm_reg;
+		return *this;
+	}
+
 	~CRegister(){};
 
@@ -313,4 +370,8 @@
 	void BackupParameter(int pi_num);
 	void RestoreParameter(int pi_num);
+
+private:
+	ParamImpl(ParamImpl const&);
+	ParamImpl& operator =(ParamImpl const&);
 };
 
@@ -325,4 +386,8 @@
 	void lock(int level);
 	void unlock(int level);
+
+private:
+	CDBLockParms(CDBLockParms const&);
+	CDBLockParms& operator =(CDBLockParms const&);
 };
 
Index: branches/egtra/ab5.0/abdev/compiler_x64/Register.cpp
===================================================================
--- branches/egtra/ab5.0/abdev/compiler_x64/Register.cpp	(revision 816)
+++ branches/egtra/ab5.0/abdev/compiler_x64/Register.cpp	(revision 817)
@@ -112,5 +112,5 @@
 CRegister *pobj_reg;
 
-void CRegister::EnumRegister(int *pRegList,int nMaxList,int *array_reg,int *sp,int AnswerReg){
+void CRegister::EnumRegister(int const* pRegList,int nMaxList,int *array_reg,int *sp,int AnswerReg){
 	int i,i2,sw=0;
 
@@ -161,7 +161,7 @@
 
 	EnumRegister(
-		(int *)CalculationRegister,
+		CalculationRegister,
 		sizeof(CalculationRegister)/sizeof(int),
-		array_UseReg,
+		array_UseReg.data(),
 		&sp_UseReg,
 		AnswerReg);
@@ -174,7 +174,7 @@
 
 	EnumRegister(
-		(int *)CalculationXmmRegister,
+		CalculationXmmRegister,
 		sizeof(CalculationXmmRegister)/sizeof(int),
-		array_XmmReg,
+		array_XmmReg.data(),
 		&sp_XmmReg,
 		AnswerReg);
Index: branches/egtra/ab5.0/abdev/compiler_x86/Opcode.h
===================================================================
--- branches/egtra/ab5.0/abdev/compiler_x86/Opcode.h	(revision 816)
+++ branches/egtra/ab5.0/abdev/compiler_x86/Opcode.h	(revision 817)
@@ -37,4 +37,28 @@
 		, sourceCodePos( sourceCodePos )
 	{
+	}
+
+	WithInfo(WithInfo&& y)
+		: name(std::move(y.name))
+		, sourceCodePos(std::move(y.sourceCodePos))
+	{
+	}
+
+	WithInfo(WithInfo const& y)
+		: name(y.name)
+		, sourceCodePos(y.sourceCodePos)
+	{
+	}
+
+	WithInfo& operator =(WithInfo&& y)
+	{
+		name = std::move(y.name);
+		sourceCodePos = std::move(y.sourceCodePos);
+		return *this;
+	}
+
+	WithInfo& operator =(WithInfo const& y)
+	{
+		return *this = std::move(WithInfo(y));
 	}
 };
@@ -210,4 +234,8 @@
 	int NewTempParameters( const std::string &procName, const Parameters &params, int SecondParmNum = -1 );
 	void DeleteTempParameters();
+
+private:
+	ParamImpl(ParamImpl const&);
+	ParamImpl& operator =(ParamImpl const&);
 };
 
