ctype.c

来自「自已写的一个嵌入式实时多任务抢占式操作系统。花了几个礼拜」· C语言 代码 · 共 114 行

C
114
字号
/*	Implementation module : ctype.c

	Copyright 1989 Diab Data AB, Sweden

	Description :
	Implemention of libc array _ctype

	History :
	When	Who	What
	890221	teve	initial
	910220	teve	added __ctype
*/

/**************	Imported modules ********************************/

#include <ctype.h>

/**************	Local data, types, fns and macros ***************/



/**************	Implementation of exported functions ************/

const unsigned char _ctype[] = { 
/* EOF	*/	0,
/* 0	*/	_C,	_C,	_C,	_C,	_C,	_C,	_C,	_C,
/* 8	*/	_C,	_S|_C,	_S|_C,	_S|_C,	_S|_C,	_S|_C,	_C,	_C,
/* 16	*/	_C,	_C,	_C,	_C,	_C,	_C,	_C,	_C,
/* 24	*/	_C,	_C,	_C,	_C,	_C,	_C,	_C,	_C,
/* ' '	*/	_S|_B,	_P,	_P,	_P,	_P,	_P,	_P,	_P,
/* '('	*/	_P,	_P,	_P,	_P,	_P,	_P,	_P,	_P,
/* '0'	*/	_N|_X,	_N|_X,	_N|_X,	_N|_X,	_N|_X,	_N|_X,	_N|_X,	_N|_X,
/* '8'	*/	_N|_X,	_N|_X,	_P,	_P,	_P,	_P,	_P,	_P,
/* '@'	*/	_P,	_U|_X,	_U|_X,	_U|_X,	_U|_X,	_U|_X,	_U|_X,	_U,
/* 'H'	*/	_U,	_U,	_U,	_U,	_U,	_U,	_U,	_U,
/* 'P'	*/	_U,	_U,	_U,	_U,	_U,	_U,	_U,	_U,
/* 'X'	*/	_U,	_U,	_U,	_P,	_P,	_P,	_P,	_P,
/* '`'	*/	_P,	_L|_X,	_L|_X,	_L|_X,	_L|_X,	_L|_X,	_L|_X,	_L,
/* 'h'	*/	_L,	_L,	_L,	_L,	_L,	_L,	_L,	_L,
/* 'p'	*/	_L,	_L,	_L,	_L,	_L,	_L,	_L,	_L,
/* 'x'	*/	_L,	_L,	_L,	_P,	_P,	_P,	_P,	_C,
/* >128	*/	 0,	 0,	 0,	 0,	 0,	 0,	 0,	 0,
		 0,	 0,	 0,	 0,	 0,	 0,	 0,	 0,
		 0,	 0,	 0,	 0,	 0,	 0,	 0,	 0,
		 0,	 0,	 0,	 0,	 0,	 0,	 0,	 0,
		 0,	 0,	 0,	 0,	 0,	 0,	 0,	 0,
		 0,	 0,	 0,	 0,	 0,	 0,	 0,	 0,
		 0,	 0,	 0,	 0,	 0,	 0,	 0,	 0,
		 0,	 0,	 0,	 0,	 0,	 0,	 0,	 0,
		 0,	 0,	 0,	 0,	 0,	 0,	 0,	 0,
		 0,	 0,	 0,	 0,	 0,	 0,	 0,	 0,
		 0,	 0,	 0,	 0,	 0,	 0,	 0,	 0,
		 0,	 0,	 0,	 0,	 0,	 0,	 0,	 0,
		 0,	 0,	 0,	 0,	 0,	 0,	 0,	 0,
		 0,	 0,	 0,	 0,	 0,	 0,	 0,	 0,
		 0,	 0,	 0,	 0,	 0,	 0,	 0,	 0,
		 0,	 0,	 0,	 0,	 0,	 0,	 0,	 0,
#ifdef __m88k
		 0,
		 0,	 1,	 2,	 3,	 4,	 5,	 6,	 7,
		 8,	 9,	10,	11,	12,	13,	14,	15,
		16,	17,	18,	19,	20,	21,	22,	23,
		24,	25,	26,	27,	28,	29,	30,	31,
		32,	33,	34,	35,	36,	37,	38,	39,
		40,	41,	42,	43,	44,	45,	46,	47,
		48,	49,	50,	51,	52,	53,	54,	55,
		56,	57,	58,	59,	60,	61,	62,	63,
		64,	'a',	'b',	'c',	'd',	'e',	'f',	'g',
		'h',	'i',	'j',	'k',	'l',	'm',	'n',	'o',
		'p',	'q',	'r',	's',	't',	'u',	'v',	'w',
		'x',	'y',	'z',	91,	92,	93,	94,	95,
		96,	'A',	'B',	'C',	'D',	'E',	'F',	'G',
		'H',	'I',	'J',	'K',	'L',	'M',	'N',	'O',
		'P',	'Q',	'R',	'S',	'T',	'U',	'V',	'W',
		'X',	'Y',	'Z',	123,	124,	125,	126,	127,
		0,	0,	0,	0,	0,	0,	0,	0,
		0,	0,	0,	0,	0,	0,	0,	0,
		0,	0,	0,	0,	0,	0,	0,	0,
		0,	0,	0,	0,	0,	0,	0,	0,
		0,	0,	0,	0,	0,	0,	0,	0,
		0,	0,	0,	0,	0,	0,	0,	0,
		0,	0,	0,	0,	0,	0,	0,	0,
		0,	0,	0,	0,	0,	0,	0,	0,
		0,	0,	0,	0,	0,	0,	0,	0,
		0,	0,	0,	0,	0,	0,	0,	0,
		0,	0,	0,	0,	0,	0,	0,	0,
		0,	0,	0,	0,	0,	0,	0,	0,
		0,	0,	0,	0,	0,	0,	0,	0,
		0,	0,	0,	0,	0,	0,	0,	0,
		0,	0,	0,	0,	0,	0,	0,	0,
		0,	0,	0,	0,	0,	0,	0,	0,
#endif
};


/* in ANSI C it must be __ctype */

#if	defined(__ppc) || defined(MOTO) || defined(__mips) || defined(__sparc)
asm("	.globl	__ctype");
asm("__ctype=_ctype");
#elif defined(__m88k)
asm("	global	___ctype");
asm("	___ctype=__ctype");
#elif defined(__rce)
asm("	.export	__ctype");
asm("	__ctype=_ctype");
#elif defined(__m32r) || defined(__sh)
asm("	.global	__ctype");
asm("	__ctype=_ctype");
#else
asm("	.globl	___ctype");
asm("	___ctype=__ctype");
#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?