Index: trunk/ab5.0/abdev/ab_common/ab_common.vcproj
===================================================================
--- trunk/ab5.0/abdev/ab_common/ab_common.vcproj	(revision 510)
+++ trunk/ab5.0/abdev/ab_common/ab_common.vcproj	(revision 515)
@@ -317,17 +317,13 @@
 				>
 				<File
-					RelativePath=".\include\Namespace.h"
-					>
-				</File>
-				<File
-					RelativePath=".\include\NamespaceSupporter.h"
-					>
-				</File>
-				<File
-					RelativePath=".\include\Prototype.h"
-					>
-				</File>
-				<File
-					RelativePath=".\include\Symbol.h"
+					RelativePath=".\src\Namespace.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\NamespaceSupporter.cpp"
+					>
+				</File>
+				<File
+					RelativePath=".\src\Symbol.cpp"
 					>
 				</File>
@@ -340,4 +336,8 @@
 			>
 			<File
+				RelativePath=".\include\ab_common.h"
+				>
+			</File>
+			<File
 				RelativePath=".\Environment.h"
 				>
@@ -351,13 +351,21 @@
 				>
 				<File
-					RelativePath=".\src\Namespace.cpp"
-					>
-				</File>
-				<File
-					RelativePath=".\src\NamespaceSupporter.cpp"
-					>
-				</File>
-				<File
-					RelativePath=".\src\Symbol.cpp"
+					RelativePath=".\include\Namespace.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\NamespaceSupporter.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\Prototype.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\Symbol.h"
+					>
+				</File>
+				<File
+					RelativePath=".\include\TypeMisc.h"
 					>
 				</File>
Index: trunk/ab5.0/abdev/ab_common/include/TypeMisc.h
===================================================================
--- trunk/ab5.0/abdev/ab_common/include/TypeMisc.h	(revision 515)
+++ trunk/ab5.0/abdev/ab_common/include/TypeMisc.h	(revision 515)
@@ -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/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 515)
@@ -0,0 +1,7 @@
+#pragma once
+
+#include "Namespace.h"
+#include "NamespaceSupporter.h"
+#include "Symbol.h"
+#include "Prototype.h"
+#include "TypeMisc.h"
Index: trunk/ab5.0/abdev/ab_common/stdafx.h
===================================================================
--- trunk/ab5.0/abdev/ab_common/stdafx.h	(revision 510)
+++ trunk/ab5.0/abdev/ab_common/stdafx.h	(revision 515)
@@ -32,7 +32,4 @@
 
 #include "Environment.h"
+#include "include/ab_common.h"
 
-#include <Namespace.h>
-#include <NamespaceSupporter.h>
-#include <Symbol.h>
-#include <Prototype.h>
