From f506ed7467bb4eebd6730b2687797c8938667c92 Mon Sep 17 00:00:00 2001 From: "David E. O'Brien" Date: Tue, 8 Feb 2000 07:43:26 +0000 Subject: [PATCH] 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 _ 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 Ok'ed by: JKH --- include/_ctype.h | 62 +++++++-------- include/ctype.h | 62 +++++++-------- lib/libc/locale/isctype.c | 34 ++++---- lib/libc/locale/table.c | 160 ++++++++++++++++++++++++++++++-------- usr.bin/mklocale/lex.l | 43 ++++++---- usr.bin/mklocale/yacc.y | 113 ++++++++++++++------------- 6 files changed, 293 insertions(+), 181 deletions(-) diff --git a/include/_ctype.h b/include/_ctype.h index af15c3ad7708..1f266feabfdc 100644 --- a/include/_ctype.h +++ b/include/_ctype.h @@ -51,20 +51,20 @@ */ #include -#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 diff --git a/include/ctype.h b/include/ctype.h index af15c3ad7708..1f266feabfdc 100644 --- a/include/ctype.h +++ b/include/ctype.h @@ -51,20 +51,20 @@ */ #include -#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 diff --git a/lib/libc/locale/isctype.c b/lib/libc/locale/isctype.c index 70bcfd46d93c..98e70e4a4f25 100644 --- a/lib/libc/locale/isctype.c +++ b/lib/libc/locale/isctype.c @@ -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 diff --git a/lib/libc/locale/table.c b/lib/libc/locale/table.c index 556a8defbda0..2fe979cd32c8 100644 --- a/lib/libc/locale/table.c +++ b/lib/libc/locale/table.c @@ -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, diff --git a/usr.bin/mklocale/lex.l b/usr.bin/mklocale/lex.l index bd5923a53413..3b81ea5f6202 100644 --- a/usr.bin/mklocale/lex.l +++ b/usr.bin/mklocale/lex.l @@ -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 @@ -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; diff --git a/usr.bin/mklocale/yacc.y b/usr.bin/mklocale/yacc.y index a9c2b424c047..dcdef343d477 100644 --- a/usr.bin/mklocale/yacc.y +++ b/usr.bin/mklocale/yacc.y @@ -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 @@ -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"); } }