diff options
author | obrien <obrien@FreeBSD.org> | 2000-02-08 07:43:26 +0000 |
---|---|---|
committer | obrien <obrien@FreeBSD.org> | 2000-02-08 07:43:26 +0000 |
commit | 049c6bbad03e47e3215ece2def41d171d4d7dd13 (patch) | |
tree | fc7eb2a086e24adead0c5f81e13925e143715141 | |
parent | bcb32823be5f02644ad81cf37952accd5b07a80f (diff) | |
download | FreeBSD-src-049c6bbad03e47e3215ece2def41d171d4d7dd13.zip FreeBSD-src-049c6bbad03e47e3215ece2def41d171d4d7dd13.tar.gz |
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
-rw-r--r-- | include/_ctype.h | 62 | ||||
-rw-r--r-- | include/ctype.h | 62 | ||||
-rw-r--r-- | lib/libc/locale/isctype.c | 34 | ||||
-rw-r--r-- | lib/libc/locale/table.c | 160 | ||||
-rw-r--r-- | usr.bin/mklocale/lex.l | 43 | ||||
-rw-r--r-- | usr.bin/mklocale/yacc.y | 113 |
6 files changed, 293 insertions, 181 deletions
diff --git a/include/_ctype.h b/include/_ctype.h index af15c3a..1f266fe 100644 --- a/include/_ctype.h +++ b/include/_ctype.h @@ -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 diff --git a/include/ctype.h b/include/ctype.h index af15c3a..1f266fe 100644 --- a/include/ctype.h +++ b/include/ctype.h @@ -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 diff --git a/lib/libc/locale/isctype.c b/lib/libc/locale/isctype.c index 70bcfd4..98e70e4 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 556a8de..2fe979c 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 bd5923a..3b81ea5 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 <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; diff --git a/usr.bin/mklocale/yacc.y b/usr.bin/mklocale/yacc.y index a9c2b42..dcdef34 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 <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"); } } |