There is a problem in that one cannot use ctype.h at the same time as parts

of the C++ stdlib.  Our ctype.h uses symbols of the form _<X> to denote the
various character classes.  Our ctype.h also extends the usual ctype.h
offering by adding the "_T" (special) class.  Problem is parts of the STL
also use the symbol "_T" as its parameterized type.  These two uses are
incompatible.

Thus change the form of the symbols used in ctype to something that fixes
the current problem and is less likely to cause conflicts in the future.

Requested by:	Tomoaki NISHIYAMA <tomoaki@biol.s.u-tokyo.ac.jp>
Ok'ed by:	JKH
This commit is contained in:
David E. O'Brien 2000-02-08 07:43:26 +00:00
parent e0908a9f34
commit f506ed7467
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=57035
6 changed files with 293 additions and 181 deletions

View File

@ -51,20 +51,20 @@
*/
#include <runetype.h>
#define _A 0x00000100L /* Alpha */
#define _C 0x00000200L /* Control */
#define _D 0x00000400L /* Digit */
#define _G 0x00000800L /* Graph */
#define _L 0x00001000L /* Lower */
#define _P 0x00002000L /* Punct */
#define _S 0x00004000L /* Space */
#define _U 0x00008000L /* Upper */
#define _X 0x00010000L /* X digit */
#define _B 0x00020000L /* Blank */
#define _R 0x00040000L /* Print */
#define _I 0x00080000L /* Ideogram */
#define _T 0x00100000L /* Special */
#define _Q 0x00200000L /* Phonogram */
#define _CTYPE_A 0x00000100L /* Alpha */
#define _CTYPE_C 0x00000200L /* Control */
#define _CTYPE_D 0x00000400L /* Digit */
#define _CTYPE_G 0x00000800L /* Graph */
#define _CTYPE_L 0x00001000L /* Lower */
#define _CTYPE_P 0x00002000L /* Punct */
#define _CTYPE_S 0x00004000L /* Space */
#define _CTYPE_U 0x00008000L /* Upper */
#define _CTYPE_X 0x00010000L /* X digit */
#define _CTYPE_B 0x00020000L /* Blank */
#define _CTYPE_R 0x00040000L /* Print */
#define _CTYPE_I 0x00080000L /* Ideogram */
#define _CTYPE_T 0x00100000L /* Special */
#define _CTYPE_Q 0x00200000L /* Phonogram */
__BEGIN_DECLS
int isalnum __P((int));
@ -97,30 +97,30 @@ __END_DECLS
#define __istype(c,f) (!!__maskrune((c),(f)))
#define isalnum(c) __istype((c), _A|_D)
#define isalpha(c) __istype((c), _A)
#define iscntrl(c) __istype((c), _C)
#define isdigit(c) __isctype((c), _D) /* ANSI -- locale independent */
#define isgraph(c) __istype((c), _G)
#define islower(c) __istype((c), _L)
#define isprint(c) __istype((c), _R)
#define ispunct(c) __istype((c), _P)
#define isspace(c) __istype((c), _S)
#define isupper(c) __istype((c), _U)
#define isxdigit(c) __isctype((c), _X) /* ANSI -- locale independent */
#define isalnum(c) __istype((c), _CTYPE_A|_CTYPE_D)
#define isalpha(c) __istype((c), _CTYPE_A)
#define iscntrl(c) __istype((c), _CTYPE_C)
#define isdigit(c) __isctype((c), _CTYPE_D) /* ANSI -- locale independent */
#define isgraph(c) __istype((c), _CTYPE_G)
#define islower(c) __istype((c), _CTYPE_L)
#define isprint(c) __istype((c), _CTYPE_R)
#define ispunct(c) __istype((c), _CTYPE_P)
#define isspace(c) __istype((c), _CTYPE_S)
#define isupper(c) __istype((c), _CTYPE_U)
#define isxdigit(c) __isctype((c), _CTYPE_X) /* ANSI -- locale independent */
#define tolower(c) __tolower(c)
#define toupper(c) __toupper(c)
#if !defined(_ANSI_SOURCE) && !defined(_POSIX_SOURCE)
#define digittoint(c) __maskrune((c), 0xFF)
#define isascii(c) (((c) & ~0x7F) == 0)
#define isblank(c) __istype((c), _B)
#define ishexnumber(c) __istype((c), _X)
#define isideogram(c) __istype((c), _I)
#define isnumber(c) __istype((c), _D)
#define isphonogram(c) __istype((c), _Q)
#define isblank(c) __istype((c), _CTYPE_B)
#define ishexnumber(c) __istype((c), _CTYPE_X)
#define isideogram(c) __istype((c), _CTYPE_I)
#define isnumber(c) __istype((c), _CTYPE_D)
#define isphonogram(c) __istype((c), _CTYPE_Q)
#define isrune(c) __istype((c), 0xFFFFFF00L)
#define isspecial(c) __istype((c), _T)
#define isspecial(c) __istype((c), _CTYPE_T)
#define toascii(c) ((c) & 0x7F)
#endif

View File

@ -51,20 +51,20 @@
*/
#include <runetype.h>
#define _A 0x00000100L /* Alpha */
#define _C 0x00000200L /* Control */
#define _D 0x00000400L /* Digit */
#define _G 0x00000800L /* Graph */
#define _L 0x00001000L /* Lower */
#define _P 0x00002000L /* Punct */
#define _S 0x00004000L /* Space */
#define _U 0x00008000L /* Upper */
#define _X 0x00010000L /* X digit */
#define _B 0x00020000L /* Blank */
#define _R 0x00040000L /* Print */
#define _I 0x00080000L /* Ideogram */
#define _T 0x00100000L /* Special */
#define _Q 0x00200000L /* Phonogram */
#define _CTYPE_A 0x00000100L /* Alpha */
#define _CTYPE_C 0x00000200L /* Control */
#define _CTYPE_D 0x00000400L /* Digit */
#define _CTYPE_G 0x00000800L /* Graph */
#define _CTYPE_L 0x00001000L /* Lower */
#define _CTYPE_P 0x00002000L /* Punct */
#define _CTYPE_S 0x00004000L /* Space */
#define _CTYPE_U 0x00008000L /* Upper */
#define _CTYPE_X 0x00010000L /* X digit */
#define _CTYPE_B 0x00020000L /* Blank */
#define _CTYPE_R 0x00040000L /* Print */
#define _CTYPE_I 0x00080000L /* Ideogram */
#define _CTYPE_T 0x00100000L /* Special */
#define _CTYPE_Q 0x00200000L /* Phonogram */
__BEGIN_DECLS
int isalnum __P((int));
@ -97,30 +97,30 @@ __END_DECLS
#define __istype(c,f) (!!__maskrune((c),(f)))
#define isalnum(c) __istype((c), _A|_D)
#define isalpha(c) __istype((c), _A)
#define iscntrl(c) __istype((c), _C)
#define isdigit(c) __isctype((c), _D) /* ANSI -- locale independent */
#define isgraph(c) __istype((c), _G)
#define islower(c) __istype((c), _L)
#define isprint(c) __istype((c), _R)
#define ispunct(c) __istype((c), _P)
#define isspace(c) __istype((c), _S)
#define isupper(c) __istype((c), _U)
#define isxdigit(c) __isctype((c), _X) /* ANSI -- locale independent */
#define isalnum(c) __istype((c), _CTYPE_A|_CTYPE_D)
#define isalpha(c) __istype((c), _CTYPE_A)
#define iscntrl(c) __istype((c), _CTYPE_C)
#define isdigit(c) __isctype((c), _CTYPE_D) /* ANSI -- locale independent */
#define isgraph(c) __istype((c), _CTYPE_G)
#define islower(c) __istype((c), _CTYPE_L)
#define isprint(c) __istype((c), _CTYPE_R)
#define ispunct(c) __istype((c), _CTYPE_P)
#define isspace(c) __istype((c), _CTYPE_S)
#define isupper(c) __istype((c), _CTYPE_U)
#define isxdigit(c) __isctype((c), _CTYPE_X) /* ANSI -- locale independent */
#define tolower(c) __tolower(c)
#define toupper(c) __toupper(c)
#if !defined(_ANSI_SOURCE) && !defined(_POSIX_SOURCE)
#define digittoint(c) __maskrune((c), 0xFF)
#define isascii(c) (((c) & ~0x7F) == 0)
#define isblank(c) __istype((c), _B)
#define ishexnumber(c) __istype((c), _X)
#define isideogram(c) __istype((c), _I)
#define isnumber(c) __istype((c), _D)
#define isphonogram(c) __istype((c), _Q)
#define isblank(c) __istype((c), _CTYPE_B)
#define ishexnumber(c) __istype((c), _CTYPE_X)
#define isideogram(c) __istype((c), _CTYPE_I)
#define isnumber(c) __istype((c), _CTYPE_D)
#define isphonogram(c) __istype((c), _CTYPE_Q)
#define isrune(c) __istype((c), 0xFFFFFF00L)
#define isspecial(c) __istype((c), _T)
#define isspecial(c) __istype((c), _CTYPE_T)
#define toascii(c) ((c) & 0x7F)
#endif

View File

@ -60,7 +60,7 @@ int
isalnum(c)
int c;
{
return (__istype((c), _A|_D));
return (__istype((c), _CTYPE_A|_CTYPE_D));
}
#undef isalpha
@ -68,7 +68,7 @@ int
isalpha(c)
int c;
{
return (__istype((c), _A));
return (__istype((c), _CTYPE_A));
}
#undef isascii
@ -84,7 +84,7 @@ int
isblank(c)
int c;
{
return (__istype((c), _B));
return (__istype((c), _CTYPE_B));
}
#undef iscntrl
@ -92,7 +92,7 @@ int
iscntrl(c)
int c;
{
return (__istype((c), _C));
return (__istype((c), _CTYPE_C));
}
#undef isdigit
@ -100,7 +100,7 @@ int
isdigit(c)
int c;
{
return (__isctype((c), _D));
return (__isctype((c), _CTYPE_D));
}
#undef isgraph
@ -108,7 +108,7 @@ int
isgraph(c)
int c;
{
return (__istype((c), _G));
return (__istype((c), _CTYPE_G));
}
#undef ishexnumber
@ -116,7 +116,7 @@ int
ishexnumber(c)
int c;
{
return (__istype((c), _X));
return (__istype((c), _CTYPE_X));
}
#undef isideogram
@ -124,7 +124,7 @@ int
isideogram(c)
int c;
{
return (__istype((c), _I));
return (__istype((c), _CTYPE_I));
}
#undef islower
@ -132,7 +132,7 @@ int
islower(c)
int c;
{
return (__istype((c), _L));
return (__istype((c), _CTYPE_L));
}
#undef isnumber
@ -140,7 +140,7 @@ int
isnumber(c)
int c;
{
return (__istype((c), _D));
return (__istype((c), _CTYPE_D));
}
#undef isphonogram
@ -148,7 +148,7 @@ int
isphonogram(c)
int c;
{
return (__istype((c), _Q));
return (__istype((c), _CTYPE_Q));
}
#undef isprint
@ -156,7 +156,7 @@ int
isprint(c)
int c;
{
return (__istype((c), _R));
return (__istype((c), _CTYPE_R));
}
#undef ispunct
@ -164,7 +164,7 @@ int
ispunct(c)
int c;
{
return (__istype((c), _P));
return (__istype((c), _CTYPE_P));
}
#undef isrune
@ -180,7 +180,7 @@ int
isspace(c)
int c;
{
return (__istype((c), _S));
return (__istype((c), _CTYPE_S));
}
#undef isspecial
@ -188,7 +188,7 @@ int
isspecial(c)
int c;
{
return (__istype((c), _T));
return (__istype((c), _CTYPE_T));
}
#undef isupper
@ -196,7 +196,7 @@ int
isupper(c)
int c;
{
return (__istype((c), _U));
return (__istype((c), _CTYPE_U));
}
#undef isxdigit
@ -204,7 +204,7 @@ int
isxdigit(c)
int c;
{
return (__isctype((c), _X));
return (__isctype((c), _CTYPE_X));
}
#undef toascii

View File

@ -54,38 +54,134 @@ _RuneLocale _DefaultRuneLocale = {
_none_sputrune,
0xFFFD,
{ /*00*/ _C, _C, _C, _C,
_C, _C, _C, _C,
/*08*/ _C, _C|_S|_B, _C|_S, _C|_S,
_C|_S, _C|_S, _C, _C,
/*10*/ _C, _C, _C, _C,
_C, _C, _C, _C,
/*18*/ _C, _C, _C, _C,
_C, _C, _C, _C,
/*20*/ _S|_B|_R, _P|_R|_G, _P|_R|_G, _P|_R|_G,
_P|_R|_G, _P|_R|_G, _P|_R|_G, _P|_R|_G,
/*28*/ _P|_R|_G, _P|_R|_G, _P|_R|_G, _P|_R|_G,
_P|_R|_G, _P|_R|_G, _P|_R|_G, _P|_R|_G,
/*30*/ _D|_R|_G|_X|0, _D|_R|_G|_X|1, _D|_R|_G|_X|2, _D|_R|_G|_X|3,
_D|_R|_G|_X|4, _D|_R|_G|_X|5, _D|_R|_G|_X|6, _D|_R|_G|_X|7,
/*38*/ _D|_R|_G|_X|8, _D|_R|_G|_X|9, _P|_R|_G, _P|_R|_G,
_P|_R|_G, _P|_R|_G, _P|_R|_G, _P|_R|_G,
/*40*/ _P|_R|_G, _U|_X|_R|_G|_A|10, _U|_X|_R|_G|_A|11, _U|_X|_R|_G|_A|12,
_U|_X|_R|_G|_A|13, _U|_X|_R|_G|_A|14, _U|_X|_R|_G|_A|15, _U|_R|_G|_A,
/*48*/ _U|_R|_G|_A, _U|_R|_G|_A, _U|_R|_G|_A, _U|_R|_G|_A,
_U|_R|_G|_A, _U|_R|_G|_A, _U|_R|_G|_A, _U|_R|_G|_A,
/*50*/ _U|_R|_G|_A, _U|_R|_G|_A, _U|_R|_G|_A, _U|_R|_G|_A,
_U|_R|_G|_A, _U|_R|_G|_A, _U|_R|_G|_A, _U|_R|_G|_A,
/*58*/ _U|_R|_G|_A, _U|_R|_G|_A, _U|_R|_G|_A, _P|_R|_G,
_P|_R|_G, _P|_R|_G, _P|_R|_G, _P|_R|_G,
/*60*/ _P|_R|_G, _L|_X|_R|_G|_A|10, _L|_X|_R|_G|_A|11, _L|_X|_R|_G|_A|12,
_L|_X|_R|_G|_A|13, _L|_X|_R|_G|_A|14, _L|_X|_R|_G|_A|15, _L|_R|_G|_A,
/*68*/ _L|_R|_G|_A, _L|_R|_G|_A, _L|_R|_G|_A, _L|_R|_G|_A,
_L|_R|_G|_A, _L|_R|_G|_A, _L|_R|_G|_A, _L|_R|_G|_A,
/*70*/ _L|_R|_G|_A, _L|_R|_G|_A, _L|_R|_G|_A, _L|_R|_G|_A,
_L|_R|_G|_A, _L|_R|_G|_A, _L|_R|_G|_A, _L|_R|_G|_A,
/*78*/ _L|_R|_G|_A, _L|_R|_G|_A, _L|_R|_G|_A, _P|_R|_G,
_P|_R|_G, _P|_R|_G, _P|_R|_G, _C,
{ /*00*/ _CTYPE_C,
_CTYPE_C,
_CTYPE_C,
_CTYPE_C,
_CTYPE_C,
_CTYPE_C,
_CTYPE_C,
_CTYPE_C,
/*08*/ _CTYPE_C,
_CTYPE_C|_CTYPE_S|_CTYPE_B,
_CTYPE_C|_CTYPE_S,
_CTYPE_C|_CTYPE_S,
_CTYPE_C|_CTYPE_S,
_CTYPE_C|_CTYPE_S,
_CTYPE_C,
_CTYPE_C,
/*10*/ _CTYPE_C,
_CTYPE_C,
_CTYPE_C,
_CTYPE_C,
_CTYPE_C,
_CTYPE_C,
_CTYPE_C,
_CTYPE_C,
/*18*/ _CTYPE_C,
_CTYPE_C,
_CTYPE_C,
_CTYPE_C,
_CTYPE_C,
_CTYPE_C,
_CTYPE_C,
_CTYPE_C,
/*20*/ _CTYPE_S|_CTYPE_B|_CTYPE_R,
_CTYPE_P|_CTYPE_R|_CTYPE_G,
_CTYPE_P|_CTYPE_R|_CTYPE_G,
_CTYPE_P|_CTYPE_R|_CTYPE_G,
_CTYPE_P|_CTYPE_R|_CTYPE_G,
_CTYPE_P|_CTYPE_R|_CTYPE_G,
_CTYPE_P|_CTYPE_R|_CTYPE_G,
_CTYPE_P|_CTYPE_R|_CTYPE_G,
/*28*/ _CTYPE_P|_CTYPE_R|_CTYPE_G,
_CTYPE_P|_CTYPE_R|_CTYPE_G,
_CTYPE_P|_CTYPE_R|_CTYPE_G,
_CTYPE_P|_CTYPE_R|_CTYPE_G,
_CTYPE_P|_CTYPE_R|_CTYPE_G,
_CTYPE_P|_CTYPE_R|_CTYPE_G,
_CTYPE_P|_CTYPE_R|_CTYPE_G,
_CTYPE_P|_CTYPE_R|_CTYPE_G,
/*30*/ _CTYPE_D|_CTYPE_R|_CTYPE_G|_CTYPE_X|0,
_CTYPE_D|_CTYPE_R|_CTYPE_G|_CTYPE_X|1,
_CTYPE_D|_CTYPE_R|_CTYPE_G|_CTYPE_X|2,
_CTYPE_D|_CTYPE_R|_CTYPE_G|_CTYPE_X|3,
_CTYPE_D|_CTYPE_R|_CTYPE_G|_CTYPE_X|4,
_CTYPE_D|_CTYPE_R|_CTYPE_G|_CTYPE_X|5,
_CTYPE_D|_CTYPE_R|_CTYPE_G|_CTYPE_X|6,
_CTYPE_D|_CTYPE_R|_CTYPE_G|_CTYPE_X|7,
/*38*/ _CTYPE_D|_CTYPE_R|_CTYPE_G|_CTYPE_X|8,
_CTYPE_D|_CTYPE_R|_CTYPE_G|_CTYPE_X|9,
_CTYPE_P|_CTYPE_R|_CTYPE_G,
_CTYPE_P|_CTYPE_R|_CTYPE_G,
_CTYPE_P|_CTYPE_R|_CTYPE_G,
_CTYPE_P|_CTYPE_R|_CTYPE_G,
_CTYPE_P|_CTYPE_R|_CTYPE_G,
_CTYPE_P|_CTYPE_R|_CTYPE_G,
/*40*/ _CTYPE_P|_CTYPE_R|_CTYPE_G,
_CTYPE_U|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A|10,
_CTYPE_U|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A|11,
_CTYPE_U|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A|12,
_CTYPE_U|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A|13,
_CTYPE_U|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A|14,
_CTYPE_U|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A|15,
_CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
/*48*/ _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
_CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
_CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
_CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
_CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
_CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
_CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
_CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
/*50*/ _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
_CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
_CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
_CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
_CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
_CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
_CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
_CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
/*58*/ _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
_CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
_CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
_CTYPE_P|_CTYPE_R|_CTYPE_G,
_CTYPE_P|_CTYPE_R|_CTYPE_G,
_CTYPE_P|_CTYPE_R|_CTYPE_G,
_CTYPE_P|_CTYPE_R|_CTYPE_G,
_CTYPE_P|_CTYPE_R|_CTYPE_G,
/*60*/ _CTYPE_P|_CTYPE_R|_CTYPE_G,
_CTYPE_L|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A|10,
_CTYPE_L|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A|11,
_CTYPE_L|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A|12,
_CTYPE_L|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A|13,
_CTYPE_L|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A|14,
_CTYPE_L|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A|15,
_CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
/*68*/ _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
_CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
_CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
_CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
_CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
_CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
_CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
_CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
/*70*/ _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
_CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
_CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
_CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
_CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
_CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
_CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
_CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
/*78*/ _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
_CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
_CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
_CTYPE_P|_CTYPE_R|_CTYPE_G,
_CTYPE_P|_CTYPE_R|_CTYPE_G,
_CTYPE_P|_CTYPE_R|_CTYPE_G,
_CTYPE_P|_CTYPE_R|_CTYPE_G,
_CTYPE_C,
},
{ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,

View File

@ -37,6 +37,7 @@
#ifndef lint
static char sccsid[] = "@(#)lex.l 8.1 (Berkeley) 6/6/93";
static char rcsid[] = "$FreeBSD$";
#endif /* not lint */
#include <ctype.h>
@ -84,20 +85,34 @@ MAPUPPER { return(MAPUPPER); }
TODIGIT { return(DIGITMAP); }
INVALID { return(INVALID); }
ALPHA { yylval.i = _A|_R|_G; return(LIST); }
CONTROL { yylval.i = _C; return(LIST); }
DIGIT { yylval.i = _D|_R|_G; return(LIST); }
GRAPH { yylval.i = _G|_R; return(LIST); }
LOWER { yylval.i = _L|_R|_G; return(LIST); }
PUNCT { yylval.i = _P|_R|_G; return(LIST); }
SPACE { yylval.i = _S; return(LIST); }
UPPER { yylval.i = _U|_R|_G; return(LIST); }
XDIGIT { yylval.i = _X|_R|_G; return(LIST); }
BLANK { yylval.i = _B; return(LIST); }
PRINT { yylval.i = _R; return(LIST); }
IDEOGRAM { yylval.i = _I|_R|_G; return(LIST); }
SPECIAL { yylval.i = _T|_R|_G; return(LIST); }
PHONOGRAM { yylval.i = _Q|_R|_G; return(LIST); }
ALPHA { yylval.i = _CTYPE_A|_CTYPE_R|_CTYPE_G;
return(LIST); }
CONTROL { yylval.i = _CTYPE_C;
return(LIST); }
DIGIT { yylval.i = _CTYPE_D|_CTYPE_R|_CTYPE_G;
return(LIST); }
GRAPH { yylval.i = _CTYPE_G|_CTYPE_R;
return(LIST); }
LOWER { yylval.i = _CTYPE_L|_CTYPE_R|_CTYPE_G;
return(LIST); }
PUNCT { yylval.i = _CTYPE_P|_CTYPE_R|_CTYPE_G;
return(LIST); }
SPACE { yylval.i = _CTYPE_S;
return(LIST); }
UPPER { yylval.i = _CTYPE_U|_CTYPE_R|_CTYPE_G;
return(LIST); }
XDIGIT { yylval.i = _CTYPE_X|_CTYPE_R|_CTYPE_G;
return(LIST); }
BLANK { yylval.i = _CTYPE_B;
return(LIST); }
PRINT { yylval.i = _CTYPE_R;
return(LIST); }
IDEOGRAM { yylval.i = _CTYPE_I|_CTYPE_R|_CTYPE_G;
return(LIST); }
SPECIAL { yylval.i = _CTYPE_T|_CTYPE_R|_CTYPE_G;
return(LIST); }
PHONOGRAM { yylval.i = _CTYPE_Q|_CTYPE_R|_CTYPE_G;
return(LIST); }
VARIABLE[\t ] { static char vbuf[1024];
char *v = vbuf;

View File

@ -37,6 +37,7 @@
#ifndef lint
static char sccsid[] = "@(#)yacc.y 8.1 (Berkeley) 6/6/93";
static char rcsid[] = "$FreeBSD$";
#endif /* not lint */
#include <ctype.h>
@ -739,20 +740,20 @@ dump_tables()
else
fprintf(stderr, "%04x: %2d", x, (int)(r & 0xff));
fprintf(stderr, " %4s", (r & _A) ? "alph" : "");
fprintf(stderr, " %4s", (r & _C) ? "ctrl" : "");
fprintf(stderr, " %4s", (r & _D) ? "dig" : "");
fprintf(stderr, " %4s", (r & _G) ? "graf" : "");
fprintf(stderr, " %4s", (r & _L) ? "low" : "");
fprintf(stderr, " %4s", (r & _P) ? "punc" : "");
fprintf(stderr, " %4s", (r & _S) ? "spac" : "");
fprintf(stderr, " %4s", (r & _U) ? "upp" : "");
fprintf(stderr, " %4s", (r & _X) ? "xdig" : "");
fprintf(stderr, " %4s", (r & _B) ? "blnk" : "");
fprintf(stderr, " %4s", (r & _R) ? "prnt" : "");
fprintf(stderr, " %4s", (r & _I) ? "ideo" : "");
fprintf(stderr, " %4s", (r & _T) ? "spec" : "");
fprintf(stderr, " %4s", (r & _Q) ? "phon" : "");
fprintf(stderr, " %4s", (r & _CTYPE_A) ? "alph" : "");
fprintf(stderr, " %4s", (r & _CTYPE_C) ? "ctrl" : "");
fprintf(stderr, " %4s", (r & _CTYPE_D) ? "dig" : "");
fprintf(stderr, " %4s", (r & _CTYPE_G) ? "graf" : "");
fprintf(stderr, " %4s", (r & _CTYPE_L) ? "low" : "");
fprintf(stderr, " %4s", (r & _CTYPE_P) ? "punc" : "");
fprintf(stderr, " %4s", (r & _CTYPE_S) ? "spac" : "");
fprintf(stderr, " %4s", (r & _CTYPE_U) ? "upp" : "");
fprintf(stderr, " %4s", (r & _CTYPE_X) ? "xdig" : "");
fprintf(stderr, " %4s", (r & _CTYPE_B) ? "blnk" : "");
fprintf(stderr, " %4s", (r & _CTYPE_R) ? "prnt" : "");
fprintf(stderr, " %4s", (r & _CTYPE_I) ? "ideo" : "");
fprintf(stderr, " %4s", (r & _CTYPE_T) ? "spec" : "");
fprintf(stderr, " %4s", (r & _CTYPE_Q) ? "phon" : "");
fprintf(stderr, "\n");
}
}
@ -764,39 +765,39 @@ dump_tables()
fprintf(stderr, "%04lx: %2d",
(unsigned long)list->min, (int)(r & 0xff));
fprintf(stderr, " %4s", (r & _A) ? "alph" : "");
fprintf(stderr, " %4s", (r & _C) ? "ctrl" : "");
fprintf(stderr, " %4s", (r & _D) ? "dig" : "");
fprintf(stderr, " %4s", (r & _G) ? "graf" : "");
fprintf(stderr, " %4s", (r & _L) ? "low" : "");
fprintf(stderr, " %4s", (r & _P) ? "punc" : "");
fprintf(stderr, " %4s", (r & _S) ? "spac" : "");
fprintf(stderr, " %4s", (r & _U) ? "upp" : "");
fprintf(stderr, " %4s", (r & _X) ? "xdig" : "");
fprintf(stderr, " %4s", (r & _B) ? "blnk" : "");
fprintf(stderr, " %4s", (r & _R) ? "prnt" : "");
fprintf(stderr, " %4s", (r & _I) ? "ideo" : "");
fprintf(stderr, " %4s", (r & _T) ? "spec" : "");
fprintf(stderr, " %4s", (r & _Q) ? "phon" : "");
fprintf(stderr, " %4s", (r & _CTYPE_A) ? "alph" : "");
fprintf(stderr, " %4s", (r & _CTYPE_C) ? "ctrl" : "");
fprintf(stderr, " %4s", (r & _CTYPE_D) ? "dig" : "");
fprintf(stderr, " %4s", (r & _CTYPE_G) ? "graf" : "");
fprintf(stderr, " %4s", (r & _CTYPE_L) ? "low" : "");
fprintf(stderr, " %4s", (r & _CTYPE_P) ? "punc" : "");
fprintf(stderr, " %4s", (r & _CTYPE_S) ? "spac" : "");
fprintf(stderr, " %4s", (r & _CTYPE_U) ? "upp" : "");
fprintf(stderr, " %4s", (r & _CTYPE_X) ? "xdig" : "");
fprintf(stderr, " %4s", (r & _CTYPE_B) ? "blnk" : "");
fprintf(stderr, " %4s", (r & _CTYPE_R) ? "prnt" : "");
fprintf(stderr, " %4s", (r & _CTYPE_I) ? "ideo" : "");
fprintf(stderr, " %4s", (r & _CTYPE_T) ? "spec" : "");
fprintf(stderr, " %4s", (r & _CTYPE_Q) ? "phon" : "");
fprintf(stderr, "\n...\n");
fprintf(stderr, "%04lx: %2d",
(unsigned long)list->max, (int)(r & 0xff));
fprintf(stderr, " %4s", (r & _A) ? "alph" : "");
fprintf(stderr, " %4s", (r & _C) ? "ctrl" : "");
fprintf(stderr, " %4s", (r & _D) ? "dig" : "");
fprintf(stderr, " %4s", (r & _G) ? "graf" : "");
fprintf(stderr, " %4s", (r & _L) ? "low" : "");
fprintf(stderr, " %4s", (r & _P) ? "punc" : "");
fprintf(stderr, " %4s", (r & _S) ? "spac" : "");
fprintf(stderr, " %4s", (r & _U) ? "upp" : "");
fprintf(stderr, " %4s", (r & _X) ? "xdig" : "");
fprintf(stderr, " %4s", (r & _B) ? "blnk" : "");
fprintf(stderr, " %4s", (r & _R) ? "prnt" : "");
fprintf(stderr, " %4s", (r & _I) ? "ideo" : "");
fprintf(stderr, " %4s", (r & _T) ? "spec" : "");
fprintf(stderr, " %4s", (r & _Q) ? "phon" : "");
fprintf(stderr, " %4s", (r & _CTYPE_A) ? "alph" : "");
fprintf(stderr, " %4s", (r & _CTYPE_C) ? "ctrl" : "");
fprintf(stderr, " %4s", (r & _CTYPE_D) ? "dig" : "");
fprintf(stderr, " %4s", (r & _CTYPE_G) ? "graf" : "");
fprintf(stderr, " %4s", (r & _CTYPE_L) ? "low" : "");
fprintf(stderr, " %4s", (r & _CTYPE_P) ? "punc" : "");
fprintf(stderr, " %4s", (r & _CTYPE_S) ? "spac" : "");
fprintf(stderr, " %4s", (r & _CTYPE_U) ? "upp" : "");
fprintf(stderr, " %4s", (r & _CTYPE_X) ? "xdig" : "");
fprintf(stderr, " %4s", (r & _CTYPE_B) ? "blnk" : "");
fprintf(stderr, " %4s", (r & _CTYPE_R) ? "prnt" : "");
fprintf(stderr, " %4s", (r & _CTYPE_I) ? "ideo" : "");
fprintf(stderr, " %4s", (r & _CTYPE_T) ? "spec" : "");
fprintf(stderr, " %4s", (r & _CTYPE_Q) ? "phon" : "");
fprintf(stderr, "\n");
} else
for (x = list->min; x <= list->max; ++x) {
@ -805,20 +806,20 @@ dump_tables()
if (r) {
fprintf(stderr, "%04x: %2d", x, (int)(r & 0xff));
fprintf(stderr, " %4s", (r & _A) ? "alph" : "");
fprintf(stderr, " %4s", (r & _C) ? "ctrl" : "");
fprintf(stderr, " %4s", (r & _D) ? "dig" : "");
fprintf(stderr, " %4s", (r & _G) ? "graf" : "");
fprintf(stderr, " %4s", (r & _L) ? "low" : "");
fprintf(stderr, " %4s", (r & _P) ? "punc" : "");
fprintf(stderr, " %4s", (r & _S) ? "spac" : "");
fprintf(stderr, " %4s", (r & _U) ? "upp" : "");
fprintf(stderr, " %4s", (r & _X) ? "xdig" : "");
fprintf(stderr, " %4s", (r & _B) ? "blnk" : "");
fprintf(stderr, " %4s", (r & _R) ? "prnt" : "");
fprintf(stderr, " %4s", (r & _I) ? "ideo" : "");
fprintf(stderr, " %4s", (r & _T) ? "spec" : "");
fprintf(stderr, " %4s", (r & _Q) ? "phon" : "");
fprintf(stderr, " %4s", (r & _CTYPE_A) ? "alph" : "");
fprintf(stderr, " %4s", (r & _CTYPE_C) ? "ctrl" : "");
fprintf(stderr, " %4s", (r & _CTYPE_D) ? "dig" : "");
fprintf(stderr, " %4s", (r & _CTYPE_G) ? "graf" : "");
fprintf(stderr, " %4s", (r & _CTYPE_L) ? "low" : "");
fprintf(stderr, " %4s", (r & _CTYPE_P) ? "punc" : "");
fprintf(stderr, " %4s", (r & _CTYPE_S) ? "spac" : "");
fprintf(stderr, " %4s", (r & _CTYPE_U) ? "upp" : "");
fprintf(stderr, " %4s", (r & _CTYPE_X) ? "xdig" : "");
fprintf(stderr, " %4s", (r & _CTYPE_B) ? "blnk" : "");
fprintf(stderr, " %4s", (r & _CTYPE_R) ? "prnt" : "");
fprintf(stderr, " %4s", (r & _CTYPE_I) ? "ideo" : "");
fprintf(stderr, " %4s", (r & _CTYPE_T) ? "spec" : "");
fprintf(stderr, " %4s", (r & _CTYPE_Q) ? "phon" : "");
fprintf(stderr, "\n");
}
}