/* ctype.h  */

#ifndef ←U
#define	←U	01
#define	←L	02
#define	←N	04
#define	←S	010
#define ←P	020
#define ←C	040
#define ←X	0100

#ifndef ctype←implementor
mesa  char  CTypeArray←ctype[];
#define ctype  CTypeArray←ctype
#endif

#define	isalpha(c)	((ctype+1)[c]&(←U|←L))
#define	isupper(c)	((ctype+1)[c]&←U)
#define	islower(c)	((ctype+1)[c]&←L)
#define	isdigit(c)	((ctype+1)[c]&←N)
#define	isxdigit(c)	((ctype+1)[c]&(←N|←X))
#define	isspace(c)	((ctype+1)[c]&←S)
#define ispunct(c)	((ctype+1)[c]&←P)
#define isalnum(c)	((ctype+1)[c]&(←U|←L|←N))
#define isprint(c)	(((ctype+1)[c]&(←P|←U|←L|←N)) || ((ctype+1)[c]&←S))
#define isgraph(c)	(((ctype+1)[c]&(←P|←U|←L|←N)) && !((ctype+1)[c]&←S))
#define iscntrl(c)	((ctype+1)[c]&←C)
#define isascii(c)	((unsigned)(c)<=0177)
#define toupper(c)	(((c>='a')&&(c<='z'))?((c)-'a'+'A'):(c))
#define tolower(c)	(((c>='A')&&(c<='Z'))?((c)-'A'+'a'):(c))
#define toascii(c)	((c)&0177)
#endif